Métriques de surveillance acceptées

Cette page répertorie les métriques Cloud Monitoring disponibles pour Memorystore pour Valkey et décrit ce que chacune mesure.

Métriques Cloud Monitoring

Métriques au niveau de l'instance

Ces métriques fournissent un aperçu général de l'état et des performances de l'instance. Elles vous aident à comprendre la capacité et l'utilisation globales de l'instance, ainsi qu'à identifier les éventuels goulots d'étranglement ou les points à améliorer.

Nom de la métrique Description
memorystore.googleapis.com/instance/clients/average_connected_clients Nombre moyen actuel de connexions client sur tous les nœuds de l'instance.
memorystore.googleapis.com/instance/clients/maximum_connected_clients Nombre maximal actuel de connexions client pour un seul nœud de l'instance.
memorystore.googleapis.com/instance/clients/maximum_connection_duration Durée maximale d'une connexion client pour un seul nœud de l'instance.
memorystore.googleapis.com/instance/clients/total_connected_clients Nombre actuel de connexions client à l'instance.
memorystore.googleapis.com/instance/stats/total_connections_received_count Nombre total de connexions client au niveau de l'instance créées au cours de la dernière minute.
memorystore.googleapis.com/instance/stats/total_rejected_connections_count Nombre de connexions refusées en raison de la limite maxclients.
memorystore.googleapis.com/instance/commandstats/total_usec_count Temps total consommé par commande.
memorystore.googleapis.com/instance/commandstats/total_calls_count Nombre total d'appels pour cette commande en une minute.
memorystore.googleapis.com/instance/cpu/average_utilization Utilisation moyenne du processeur sur tous les nœuds de l'instance, de 0,0 à 1,0.
memorystore.googleapis.com/instance/cpu/maximum_utilization Utilisation maximale du processeur pour un seul nœud de l'instance, de 0,0 à 1,0.
memorystore.googleapis.com/instance/stats/average_expired_keys Nombre moyen d'événements d'expiration de clé pour les primaires de tous les nœuds de l'instance.
memorystore.googleapis.com/instance/stats/maximum_expired_keys Nombre maximal d'événements d'expiration de clé pour un seul nœud de l'instance pour le primaire.
memorystore.googleapis.com/instance/stats/total_expired_keys_count Nombre total d'événements d'expiration de clé pour les nœuds principaux de tous les nœuds de l'instance.
memorystore.googleapis.com/instance/stats/average_evicted_keys Nombre moyen de clés évincées en raison de la capacité de mémoire des nœuds principaux de tous les nœuds de l'instance.
memorystore.googleapis.com/instance/stats/maximum_evicted_keys Nombre maximal de clés évincées pour un seul nœud de l'instance en raison de la capacité de mémoire pour le nœud principal.
memorystore.googleapis.com/instance/stats/total_evicted_keys_count Nombre de clés évincées en raison de la capacité de mémoire des nœuds principaux de tous les nœuds de l'instance.
memorystore.googleapis.com/instance/keyspace/total_keys Nombre de clés stockées dans l'instance.
memorystore.googleapis.com/instance/stats/average_keyspace_hits Nombre moyen de recherches de clés réussies sur tous les nœuds de l'instance.
memorystore.googleapis.com/instance/stats/maximum_keyspace_hits Nombre maximal de recherches de clés réussies pour un seul nœud de l'instance.
memorystore.googleapis.com/instance/stats/total_keyspace_hits_count Nombre de recherches de clés réussies pour l'instance.
memorystore.googleapis.com/instance/stats/average_keyspace_misses Nombre moyen de recherches de clés ayant échoué sur tous les nœuds de l'instance.
memorystore.googleapis.com/instance/stats/maximum_keyspace_misses Nombre maximal de recherches de clés ayant échoué pour un seul nœud de l'instance.
memorystore.googleapis.com/instance/stats/total_keyspace_misses_count Nombre total de recherches de clés ayant échoué pour l'instance.
memorystore.googleapis.com/instance/memory/average_utilization Utilisation moyenne de la mémoire sur tous les nœuds de l'instance. La valeur est comprise entre 0,0 et 1,0.
memorystore.googleapis.com/instance/memory/maximum_utilization Utilisation maximale de la mémoire pour un seul nœud de l'instance, de 0,0 à 1,0.
memorystore.googleapis.com/instance/memory/total_used_memory Utilisation totale de la mémoire de l'instance.
memorystore.googleapis.com/instance/memory/size Taille de la mémoire de l'instance.
memorystore.googleapis.com/instance/replication/average_ack_lag Délai moyen d'accusé de réception (en secondes) des réplicas sur tous les nœuds de l'instance.

Le délai d'accusé de réception est un goulot d'étranglement sur le nœud principal d'une instance. Ce goulot d'étranglement est dû à ses répliques, qui ne peuvent pas suivre le rythme des informations que le nœud principal leur envoie. Dans ce cas, le nœud principal doit attendre l'accusé de réception indiquant que les répliques ont reçu les informations. Cela peut ralentir les commits de transaction et avoir un impact sur les performances du nœud principal.
memorystore.googleapis.com/instance/replication/maximum_ack_lag Délai d'accusé de réception maximal (en secondes) pour un seul réplica dans l'instance.
memorystore.googleapis.com/instance/replication/average_offset_diff Différence moyenne (en octets) du décalage de confirmation de la réplication sur tous les nœuds de l'instance.

La différence de décalage de confirmation de la réplication correspond au nombre d'octets qui n'ont pas été répliqués entre les répliques et leurs instances principales.
memorystore.googleapis.com/instance/replication/maximum_offset_diff Différence maximale de décalage de réplication (en octets) pour un seul nœud de l'instance.

La différence de décalage de réplication correspond au nombre d'octets qui n'ont pas été répliqués entre une instance répliquée et son instance principale.
memorystore.googleapis.com/instance/stats/total_net_input_bytes_count Nombre d'octets réseau entrants reçus par les points de terminaison de l'instance.
memorystore.googleapis.com/instance/stats/total_net_output_bytes_count Nombre d'octets réseau sortants envoyés depuis les points de terminaison de l'instance.

Métriques au niveau des nœuds

Ces métriques offrent des insights détaillés sur l'état et les performances des nœuds individuels de l'instance. Ils vous aident à résoudre les problèmes liés aux nœuds et à optimiser leurs performances.

Nom de la métrique Description
memorystore.googleapis.com/instance/node/clients/connected_clients Nombre de clients connectés au nœud de l'instance.
memorystore.googleapis.com/instance/node/clients/blocked_clients Nombre de connexions client bloquées par le nœud d'instance.
memorystore.googleapis.com/instance/node/server/uptime Temps d'activité du nœud d'instance.
memorystore.googleapis.com/instance/node/stats/connections_received_count Nombre de connexions client créées par Memorystore pour Valkey au cours de la dernière minute sur le nœud de l'instance.
memorystore.googleapis.com/instance/node/stats/rejected_connections_count Nombre de connexions refusées par Memorystore pour Valkey, car le nœud de l'instance a atteint la limite "maxclients".
memorystore.googleapis.com/instance/node/commandstats/usec_count Temps consommé pour chaque commande dans le nœud d'instance.
memorystore.googleapis.com/instance/node/commandstats/calls_count Nombre d'appels pour cette commande sur le nœud d'instance en une minute.
memorystore.googleapis.com/instance/node/cpu/utilization Utilisation du processeur pour le nœud d'instance (de 0,0 à 1,0).
memorystore.googleapis.com/instance/node/stats/expired_keys_count Nombre d'événements d'expiration dans le nœud d'instance.
memorystore.googleapis.com/instance/node/stats/evicted_keys_count Nombre de clés évincées par le nœud d'instance.
memorystore.googleapis.com/instance/node/keyspace/total_keys Nombre de clés stockées par Memorystore pour Valkey dans le nœud de l'instance.
memorystore.googleapis.com/instance/node/stats/keyspace_hits_count Nombre de recherches de clés réussies dans le nœud d'instance.
memorystore.googleapis.com/instance/node/stats/keyspace_misses_count Nombre de recherches de clés ayant échoué dans le nœud d'instance.
memorystore.googleapis.com/instance/node/memory/utilization Utilisation de la mémoire pour le nœud d'instance (de 0,0 à 1,0).
memorystore.googleapis.com/instance/node/memory/usage Utilisation de la mémoire du nœud d'instance.
memorystore.googleapis.com/instance/node/stats/net_input_bytes_count Nombre d'octets réseau entrants reçus par le nœud d'instance.
memorystore.googleapis.com/instance/node/stats/net_output_bytes_count Nombre d'octets réseau sortants envoyés par le nœud d'instance.
memorystore.googleapis.com/instance/node/replication/offset Octets de décalage de la réplication du nœud d'instance.
memorystore.googleapis.com/instance/node/server/healthy Détermine si un nœud d'instance est disponible et fonctionne correctement. Cette métrique est disponible en version bêta.

Métriques de réplication interrégionale

Cette section répertorie les métriques utilisées pour la réplication interrégionale.

Nom de la métrique Description
memorystore.googleapis.com/instance/cross_instance_replication/secondary_replication_links Cette métrique indique le nombre de liens de partition entre les instances principale et secondaire. Dans un groupe de réplication interrégionale, une instance principale indique le nombre de liens de réplication interrégionale qu'elle possède avec les instances secondaires du groupe. Pour chaque instance secondaire, ce nombre doit être égal au nombre de partitions. Si le nombre est inférieur au nombre de partitions, cette métrique identifie le nombre de partitions lorsque la réplication s'est arrêtée entre le réplicateur et le follower. Dans un état idéal, cette métrique présente le même nombre que le nombre de partitions pour l'instance principale.
memorystore.googleapis.com/instance/cross_instance_replication/secondary_maximum_replication_offset_diff Cette métrique indique la différence maximale de décalage de réplication entre les shards principaux et secondaires.
memorystore.googleapis.com/instance/cross_instance_replication/secondary_average_replication_offset_diff Cette métrique indique la différence moyenne de décalage de réplication entre les shards principaux et secondaires.

Métriques de sauvegarde

Cette section liste les métriques backup et import.

Métriques au niveau de l'instance

Nom de la métrique Description
memorystore.googleapis.com/instance/backup/last_backup_start_time Heure de début de la dernière opération de sauvegarde.
memorystore.googleapis.com/instance/backup/last_backup_status État de la dernière opération de sauvegarde. Les états sont 1 (succès) et 0 (échec).
memorystore.googleapis.com/instance/backup/last_backup_duration Durée de la dernière opération de sauvegarde (en millisecondes).
memorystore.googleapis.com/instance/backup/last_backup_size Taille de la dernière sauvegarde (en octets).
memorystore.googleapis.com/instance/import/last_import_start_time Heure de début de la dernière opération d'importation.
memorystore.googleapis.com/instance/import/last_import_duration Durée de la dernière opération d'importation(en millisecondes).

Métriques de persistance

Cette section liste les métriques de persistance et fournit des exemples de cas d'utilisation pour ces métriques.

Métriques de persistance RDB

Métriques au niveau de l'instance

Nom de la métrique Description
memorystore.googleapis.com/instance/persistence/load_count Nombre cumulé de chargements de l'instance pour la persistance AOF ou RDB.
memorystore.googleapis.com/instance/persistence/rdb_saves_count Nombre cumulé de fois où votre instance a pris un instantané RDB (également appelé save). Cette métrique comporte un champ status_code. Pour vérifier si un instantané a échoué, vous pouvez filtrer le champ status_code pour l'erreur suivante : 3 - INTERNAL ERROR.
memorystore.googleapis.com/instance/persistence/rdb_last_success_ages Âge de l'instantané de distribution pour tous les nœuds de l'instance. Vous souhaitez que la distribution ait des valeurs dont le temps de latence est inférieur (ou égal) à la fréquence de vos instantanés.
memorystore.googleapis.com/instance/persistence/rejected_writes_count Nombre cumulé de commandes d'écriture refusées sur l'instance en raison d'un échec de la persistance.

Métriques au niveau des nœuds

Nom de la métrique Description
memorystore.googleapis.com/instance/node/persistence/rdb_bgsave_in_progress Une RDB BGSAVE est en cours sur le nœud de l'instance. TRUE signifie que l'enregistrement est en cours.
memorystore.googleapis.com/instance/node/persistence/rdb_last_bgsave_status Indique si la dernière BGSAVE sur le nœud d'instance a réussi. TRUE signifie qu'un BGSAVE réussi a eu lieu. Si aucun bgrewrite ne se produit, la valeur peut être définie par défaut sur TRUE.
memorystore.googleapis.com/instance/node/persistence/rdb_saves_count Cette métrique indique le nombre cumulé d'enregistrements RDB exécutés sur le nœud de l'instance.
memorystore.googleapis.com/instance/node/persistence/rdb_last_save_age Temps (en secondes) écoulé depuis le dernier instantané réussi.
memorystore.googleapis.com/instance/node/persistence/rdb_next_save_time_until Temps restant (en secondes) avant le prochain instantané.
memorystore.googleapis.com/instance/node/persistence/current_save_keys_total Nombre de clés dans l'enregistrement RDB qui s'exécute sur le nœud de l'instance.

Métriques de persistance de l'AOF

Métriques au niveau de l'instance

Nom de la métrique Description
memorystore.googleapis.com/instance/persistence/aof_fsync_lags Cette métrique affiche une distribution du décalage (entre l'écriture des données et la synchronisation du stockage durable) pour tous les nœuds de l'instance. Il n'est émis que pour les instances avec appendfsync=everysec. Dans l'idéal, vous souhaitez que la distribution présente des valeurs dont le temps de latence est inférieur (ou égal) à la fréquence de synchronisation de votre fichier AOF.
memorystore.googleapis.com/instance/persistence/aof_rewrite_count Cette métrique indique le nombre cumulé de fois où un nœud de votre instance a déclenché une réécriture AOF. Cette métrique comporte un champ status_code. Pour vérifier si les réécritures AOF échouent, vous pouvez filtrer le champ status_code pour l'erreur suivante : 3 - INTERNAL_ERROR.

Métriques au niveau des nœuds

Nom de la métrique Description
memorystore.googleapis.com/instance/node/persistence/aof_last_write_status Cette métrique indique si la dernière écriture AOF sur le nœud d'instance a réussi. TRUE signifie que l'opération a réussi. Si aucune écriture n'a eu lieu, la valeur peut être définie par défaut sur TRUE.
memorystore.googleapis.com/instance/node/persistence/aof_last_bgrewrite_status Cette métrique indique le succès de la dernière opération AOF bgrewrite sur le nœud de l'instance. TRUE signifie que l'opération a réussi. Si aucune réécriture en arrière-plan n'a eu lieu, la valeur peut être définie par défaut sur TRUE.
memorystore.googleapis.com/instance/node/persistence/aof_fsync_lag Cette métrique indique le décalage AOF entre la mémoire et le magasin persistant dans le nœud d'instance. Elle ne s'applique qu'aux instances AOF activées où appendfsync=EVERYSEC
memorystore.googleapis.com/instance/node/persistence/aof_rewrites_count Cette métrique indique le nombre de réécritures AOF dans le nœud d'instance. Pour vérifier si les réécritures AOF échouent, vous pouvez filtrer le champ status_code pour l'erreur suivante : 3 - INTERNAL_ERROR.
memorystore.googleapis.com/instance/node/persistence/aof_fsync_errors_count Cette métrique indique le nombre d'erreurs d'appel fsync() AOF et ne s'applique qu'aux instances AOF activées où appendfsync=EVERYSEC|ALWAYS.

Métriques de fidélisation courantes

Métriques applicables aux mécanismes de persistance AOF et RDB.

Métriques au niveau du nœud

Nom de la métrique Description
memorystore.googleapis.com/instance/node/persistence/auto_restore_count Cette métrique indique le nombre de restaurations à partir du fichier de vidage (AOF ou RDB). Pour vérifier si des restaurations échouent, vous pouvez filtrer le champ status_code pour l'erreur suivante : 2 - INTERNAL_ERROR.

Exemples de cas d'utilisation pour les métriques de persistance

Vérifier si les opérations d'écriture AOF entraînent une latence et une pression sur la mémoire

Supposons que vous détectiez une latence ou une utilisation de la mémoire accrues sur votre instance ou sur le nœud de l'instance. Dans ce cas, vous pouvez vérifier si l'utilisation supplémentaire est liée à la persistance AOF.

Comme vous savez que les opérations de réécriture AOF peuvent déclencher des pics de charge transitoires, vous pouvez inspecter la métrique aof_rewrites_count, qui vous donne le nombre cumulé de réécritures AOF au cours de la durée de vie de l'instance ou du nœud dans l'instance. Supposons que cette métrique vous montre que les augmentations du nombre de réécritures correspondent à des augmentations de la latence. Dans ce cas, vous pouvez résoudre le problème en réduisant le taux d'écriture ou en augmentant le nombre de partitions pour réduire la fréquence des réécritures.

Vérifier si les opérations d'enregistrement RDB entraînent une latence et une pression sur la mémoire

Supposons que vous détectiez une latence ou une utilisation de la mémoire accrues sur votre instance ou sur le nœud de l'instance. Dans ce cas, vous pouvez vérifier si l'utilisation supplémentaire est liée à la persistance RDB.

Étant donné que vous savez que les opérations d'enregistrement RDB peuvent déclencher des pics de charge transitoires, vous pouvez inspecter la métrique rdb_saves_count, qui indique le nombre cumulé d'enregistrements RDB pendant la durée de vie de l'instance ou du nœud dans l'instance. Supposons que cette métrique vous montre que les augmentations du nombre d'enregistrements RDB correspondent à des augmentations de la latence. Dans ce cas, vous pouvez réduire l'intervalle d'instantané RDB pour diminuer la fréquence des réécritures. Vous pouvez également effectuer un scaling horizontal l'instance pour réduire les niveaux de charge de référence.

Interpréter les métriques pour Memorystore pour Valkey

Comme vous pouvez le voir dans la liste ci-dessus, de nombreuses métriques partagent trois catégories : moyenne, maximum et total.

Pour Memorystore pour Valkey, nous fournissons des variantes moyennes et maximales de la même métrique afin que vous puissiez les utiliser toutes les deux pour identifier les points chauds pour cette famille de métriques.

La valeur totale de la métrique est indépendante et fournit des insights distincts sans rapport avec l'objectif d'identification des points chauds des valeurs moyenne et maximum.

Comprendre les métriques moyennes et maximales

Supposons que vous compariez les valeurs average_keyspace_hits et maximum_keyspace_hits de votre instance. Plus la différence entre les deux métriques est importante, plus le hot spotting des hits dans votre instance est élevé. Dans l'idéal, vous devriez obtenir une valeur proche de average_keyspace_hits ou maximum_keyspace_hits, car cela signifie que les hits sont répartis de manière plus uniforme dans votre instance.

Ce principe s'applique à toutes les métriques qui présentent des variations moyenne et maximale de la même métrique.

Exemple de zone cliquable

Si vous comparez average_keyspace_hits et maximum_keyspace_hits pour tous les fragments de votre instance, la comparaison de ces valeurs indique où se produit le hot spotting. Par exemple, supposons que les fragments d'une instance à six fragments présentent le nombre de résultats suivant :

  • Segment 1 : deux hits
  • Segment 2 : deux résultats
  • Segment 3 : deux résultats
  • Segment 4 – 2 hits
  • Segment 5 – 2 hits
  • Partition 6 à 8 hits

Dans cet exemple, average_keyspace_hits renvoie la valeur 3 et maximum_keyspace_hits renvoie la valeur 8, ce qui indique que le shard 6 est actif.

Nous fournissons des métriques au niveau des nœuds qui peuvent être utiles pour identifier les points chauds dans l'instance.