Surveillance de la réplication et du basculement¶
Cette rubrique fournit des informations sur la manière de surveiller la progression, l’historique et les coûts de la réplication des comptes.
Dans ce chapitre :
Utiliser Snowsight pour surveiller la réplication¶
Pour surveiller la progression et le statut de la réplication pour les groupes de réplication et de basculement dans une organisation, utilisez la page Replication dans Snowsight.
Vous pouvez voir le statut et les détails des opérations d’actualisation, notamment :
Statut actuel de l’opération de rafraîchissement la plus récente.
Temps de latence de la réplique (temps écoulé depuis la dernière opération de rafraîchissement).
Distribution des temps de latence des répliques entre les groupes.
Date et heure de la prochaine planification planifiée.
Note
Snowsight annonce les groupes de réplication et de basculement pour lesquels votre rôle dispose du privilège MONITOR, OWNERSHIP, ou REPLICATE.
Les détails de l’opération d’actualisation ne sont accessibles qu’aux utilisateurs ayant le rôle ACCOUNTADMIN ou le privilège OWNERSHIP sur le groupe.
Vous devez être connecté au compte source ou cible pour voir les détails de l’opération d’actualisation. Si ce n’est pas le cas, vous serez invité à vous connecter.
Le compte source et le compte cible doivent tous les deux utiliser le même type de connexion (Internet public). Sinon, la connexion au compte cible échoue.
Pour voir le statut de réplication de chaque groupe de réplication ou de basculement, procédez comme suit :
Connectez-vous à Snowsight et naviguez jusqu’à Admin » Accounts.
Sélectionnez Replication puis Groups.
La page Groups affiche les détails de l’opération d’actualisation pour tous les groupes pour lesquels votre rôle dispose d’un privilège de vue. Vous pouvez utiliser les vignettes pour filtrer la vue.
Par exemple, si la vignette Status indique que des opérations d’actualisation ont échoué, vous pouvez sélectionner la vignette pour étudier le(s) groupe(s) présentant des échecs.
Le temps de latence dans la vignette Longest Replication lag fait référence à la durée écoulée depuis la dernière opération de rafraîchissement. Il s’agit de la durée pendant laquelle le groupe de réplication ou de basculement secondaire est en retard sur le groupe primaire. Le délai le plus long correspond à la durée écoulée depuis la dernière actualisation du groupe de réplication secondaire le plus ancien.
Par exemple, si vous avez trois groupes de basculement,
fg_1
,fg_2
,fg_3
, avec des programmes de réplication indépendants de 10 minutes, 2 heures et 12 heures respectivement, le temps de latence le plus long peut atteindre 12 heures. Toutefois, sifg_3
a été récemment actualisé dans le compte cible, son temps de latence est remis à 0 et un autre groupe de basculement peut avoir un temps de latence plus long.Vous pouvez sélectionner une barre individuelle dans la vignette Group Lag Distribution pour filtrer les résultats sur un groupe individuel.
Vous pouvez également filtrer les groupes en utilisant le champ de recherche ou les menus déroulants :
Vous pouvez effectuer une recherche par nom de groupe de réplication ou de basculement à l’aide de la boîte
(recherche).
Choisissez Type pour filtrer les résultats par groupe de réplication ou de basculement.
Choisissez Replicating pour filtrer par groupes primaires (sélectionnez To) ou secondaires (sélectionnez From).
Choisissez le menu
(comptes) pour filtrer les résultats par nom de compte.
Choisissez Status pour filtrer les résultats en fonction du statut de l’opération d’actualisation :
Refresh Cancelled
Refresh Failed
Refresh In Progress
Refresh Successful
Vous pouvez consulter les détails suivants concernant vos groupes de réplication et de basculement :
Colonne |
Description |
---|---|
Name |
Nom du groupe de réplication ou de basculement. |
Is Replicating |
Indique si le groupe est répliqué vers un compte cible ou depuis un compte source. Si cette colonne contient destinations disponibles, il n’y a pas de groupes de réplication ou de basculement secondaires. Le nombre de destinations disponibles indique le nombre de comptes cibles vers lesquels le groupe primaire peut être répliqué. |
Status |
Affiche le statut de la dernière opération d’actualisation. Vous devez être connecté au compte de la source ou de la cible pour accéder aux détails de la réplication. Si vous n’êtes pas connecté, sélectionnez Sign in pour voir le statut de l’opération d’actualisation pour le groupe secondaire. Le compte source et le compte cible doivent tous les deux utiliser le même type de connexion (Internet public). Sinon, la connexion au compte cible échoue. |
Replication Lag |
Durée écoulée depuis la dernière opération d’actualisation. Il s’agit de la durée pendant laquelle le groupe de réplication secondaire est « en latence » par rapport au groupe de réplication primaire. |
Next Refresh |
Date et heure de la prochaine planification planifiée. |
Vous pouvez sélectionner un groupe de réplication ou de basculement pour voir des informations détaillées sur chaque opération d’actualisation. Pour plus d’informations, consultez , la section sur l’historique de réplication dans Snowsight.
Surveiller la progression des opérations d’actualisation¶
Cette section fournit des informations sur la manière de surveiller la progression de la réplication pour un groupe de basculement ou de réplication spécifique à l’aide de Snowsight ou de SQL.
Utiliser Snowsight pour suivre la progression des opérations de rafraîchissement¶
Vous pouvez voir le statut d’une opération d’actualisation en cours et les détails des opérations d’actualisation historiques à l’aide de Snowsight.
Connectez-vous à Snowsight et naviguez jusqu’à Admin » Accounts.
Sélectionnez Replication, puis Groups.
Sélectionnez le nom d’un groupe de réplication ou de basculement.
Pour plus d’informations sur la vue détaillée, consultez , la section sur l’historique de réplication dans Snowsight.
Utiliser SQL pour suivre la progression des opérations de rafraîchissement¶
Pour surveiller la progression d’une actualisation de groupe de réplication ou de basculement, interrogez la fonction de table REPLICATION_GROUP_REFRESH_PROGRESS, REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB (dans le Schéma d’information de Snowflake).
Exemple¶
Visualiser la progression de l’opération d’actualisation la plus récente pour le groupe de basculement myfg
:
SELECT phase_name, start_time, end_time, progress, details
FROM TABLE(INFORMATION_SCHEMA.REPLICATION_GROUP_REFRESH_PROGRESS('myfg'));
Voir l’historique de la réplication¶
Vous pouvez voir l’historique de la réplication en utilisant Snowsight ou SQL.
Note
Vous pouvez voir l’historique de réplication des groupes de réplication et de basculement pour lesquels votre rôle dispose du privilège MONITOR, OWNERSHIP, ou REPLICATE.
Utiliser Snowsight pour voir l’historique de la réplication¶
Vous pouvez voir l’historique de la réplication et les détails de chaque opération d’actualisation pour un groupe de réplication ou de basculement spécifique dans la page de détails du groupe.
Connectez-vous à Snowsight et naviguez jusqu’à Admin » Accounts.
Sélectionnez Replication, puis Groups.
Sélectionnez le nom d’un groupe de réplication ou de basculement.
Vous pouvez ensuite consulter les informations suivantes sur le groupe :
Type de groupe (groupe de réplication ou groupe de basculement).
Planification de la réplication (par exemple, toutes les 10 minutes).
Durée de chaque opération d’actualisation.
Temps de latence de la réplique (durée écoulée depuis la dernière opération d’actualisation).
Date et heure de la prochaine planification planifiée.
Vous pouvez filtrer les données de la page par statut et par période :
Choisissez Status pour filtrer les résultats en fonction du statut de l’opération d’actualisation :
Refresh Cancelled
Refresh Failed
Refresh In Progress
Refresh Successful
Choisissez Duration pour afficher les détails de l’opération d’actualisation :
Last hour
Last 24 hours
Last 7 days
All
La sélection de All permet d’afficher les 14 derniers jours d’opérations d’actualisation.
Les détails de chaque opération d’actualisation comprennent les colonnes suivantes :
Colonne |
Description |
---|---|
Query ID |
Requête ID de l’opération d’actualisation. |
Status |
Affiche le statut de l’actualisation. Les valeurs valides incluent |
Ended |
Date et heure de la fin de l’opération d’actualisation. |
Duration |
Durée de l’opération d’actualisation. La période de durée est décomposée et codée par couleur par phase de réplication. La largeur de chaque segment coloré indique la portion de temps passée dans cette phase. L’image ci-dessous est fournie à titre de référence uniquement. Ce graphique est disponible lorsque vous sélectionnez l’opération d’actualisation pour plus de détails. ![]() |
Transferred |
Le nombre d’octets répliqués. |
Objects |
Le nombre d’objets répliqués. |
Sélectionnez une ligne pour voir des détails supplémentaires sur une opération d’actualisation spécifique :
Durée de chaque phase de réplication.
Message d’erreur (en cas d’échec des opérations d’actualisation).
Liste des objets de la base de données répliqués par type et par nombre.
Nombre de bases de données répliquées et noms des bases de données.
Utiliser SQL pour voir l’historique de la réplication¶
Pour afficher l’historique de réplication d’un groupe de réplication ou de basculement spécifique dans une période spécifiée, effectuez l’une des requêtes suivantes :
la fonction de table REPLICATION_GROUP_REFRESH_HISTORY (dans Schéma d’information de Snowflake).
Exemples¶
Interrogez la fonction de table Information Schema REPLICATION_GROUP_REFRESH_HISTORY pour afficher l’historique de réplication de compte du groupe de basculement myfg
au cours des 7 derniers jours :
SELECT PHASE_NAME, START_TIME, END_TIME, TOTAL_BYTES, OBJECT_COUNT
FROM TABLE(information_schema.replication_group_refresh_history('myfg'))
WHERE START_TIME >= CURRENT_DATE() - INTERVAL '7 days';
Interrogez la vue REPLICATION_GROUP_REFRESH_HISTORY de Account Usage pour voir l’historique de réplication de compte pour le mois en cours :
SELECT REPLICATION_GROUP_NAME, PHASE_NAME, START_TIME, END_TIME, TOTAL_BYTES, OBJECT_COUNT
FROM snowflake.account_usage.replication_group_refresh_history
WHERE START_TIME >= DATE_TRUNC('month', CURRENT_DATE());
Surveiller les coûts de réplication¶
Pour surveiller l’utilisation du crédit pour la réplication, effectuez l’une des requêtes suivantes :
la fonction de table REPLICATION_GROUP_USAGE_HISTORY (dans Schéma d’information de Snowflake).
Exemples¶
Interroger la fonction de table REPLICATION_GROUP_USAGE_HISTORY pour voir les crédits utilisés pour la réplication de compte au cours des 7 derniers jours :
SELECT start_time, end_time, replication_group_name, credits_used, bytes_transferred
FROM TABLE(information_schema.replication_group_usage_history(date_range_start=>DATEADD('day', -7, CURRENT_DATE())));
Interrogez la vue Account Usage REPLICATION_GROUP_USAGE_HISTORY pour voir les crédits utilisés par la réplication ou le groupe de basculement pour l’historique de réplication de compte dans le mois en cours :
SELECT start_time,
end_time,
replication_group_name,
credits_used,
bytes_transferred
FROM snowflake.account_usage.replication_group_usage_history
WHERE start_time >= DATE_TRUNC('month', CURRENT_DATE());
Surveiller les coûts de réplication des bases de données¶
Le coût de la réplication pour une base de données individuelle incluse dans un groupe de réplication ou de basculement peut être calculé en récupérant le nombre d’octets copiés pour la base de données et en l’associant aux crédits utilisés.
Exemples¶
Requête sur les vues Account Usage¶
Les exemples suivants calculent les coûts de la réplication de la base de données dans un groupe de réplication pour les 30 derniers jours.
Interrogez la vue REPLICATION_GROUP_REFRESH_HISTORY de Account Usage et calculez la somme du nombre d’octets répliqués par base de données.
Par exemple, pour calculer la somme du nombre d’octets répliqués pour les bases de données du groupe de réplication
myrg
au cours des 30 derniers jours :SELECT SUM(value:totalBytesToReplicate) as sum_database_bytes FROM snowflake.account_usage.replication_group_refresh_history rh, LATERAL FLATTEN(input => rh.total_bytes:databases) WHERE rh.replication_group_name = 'MYRG' AND rh.start_time >= CURRENT_DATE() - INTERVAL '30 days';
Notez la sortie de la somme des octets de la base de données :
+--------------------+ | SUM_DATABASE_BYTES | |--------------------| | 22016 | +--------------------+
Interrogez la vue REPLICATION_GROUP_USAGE_HISTORY de Account Usage et calculez la somme du nombre de crédits utilisés et la somme des octets transférés pour la réplication.
Par exemple, pour calculer la somme du nombre de crédits utilisés et la somme des octets transférés pour la réplication du groupe de réplication
myrg
au cours des 30 derniers jours :SELECT SUM(credits_used) AS credits_used, SUM(bytes_transferred) AS bytes_transferred FROM snowflake.account_usage.replication_group_usage_history WHERE replication_group_name = 'MYRG' AND start_time >= CURRENT_DATE() - INTERVAL '30 days';
Notez la sortie de la somme des crédits utilisés et de la somme des octets transférés :
+--------------+-------------------+ | CREDITS_USED | BYTES_TRANSFERRED | |--------------+-------------------| | 1.357923604 | 22013 | +--------------+-------------------+
Calculez les coûts de réplication pour les bases de données en utilisant les valeurs des octets transférés pour les bases de données, la somme des crédits utilisés, et la somme de tous les octets transférés pour la réplication des deux étapes précédentes :
(<octets_de_base_de_données_transférés> / <octets_transférés>) * <crédits_utilisés>
Par exemple :
(22016 / 22013) * 1.357923604 = 1.35810866)
Requête sur les fonctions de table Information Schema¶
Pour les opérations d’actualisation effectuées au cours des 14 derniers jours, interrogez les fonctions de la table Information Schema associée.
Interroger la fonction de table REPLICATION_GROUP_REFRESH_HISTORY pour voir la somme du nombre d’octets copiés pour la réplication de la base de données pour le groupe de réplication
myrg
:SELECT SUM(value:totalBytesToReplicate) FROM TABLE(information_schema.replication_group_refresh_history('myrg')) AS rh, LATERAL FLATTEN(input => total_bytes:databases) WHERE rh.phase_name = 'COMPLETED' AND rh.start_time >= CURRENT_DATE() - INTERVAL '14 days';
Interroger la fonction de la table REPLICATION_GROUP_USAGE_HISTORY pour voir la somme du nombre de crédits utilisés et la somme des octets transférés pour la réplication pour le groupe de réplication
myrg
:SELECT SUM(credits_used), SUM(bytes_transferred) FROM TABLE(information_schema.replication_group_usage_history( date_range_start => DATEADD('day', -14, CURRENT_DATE()), replication_group_name => 'myrg'));