Métriques de surveillance acceptées

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

Pour savoir comment afficher ces métriques, consultez Surveiller les instances.

Métriques Cloud Monitoring

Cette section répertorie et décrit les métriques Cloud Monitoring disponibles pour Memorystore pour Redis.

Nom de la métrique Description
redis.googleapis.com/keyspace/avg_ttl Cette métrique mesure la valeur TTL (Time To Live) moyenne, en millisecondes, de toutes les clés d'une base de données Redis pour lesquelles une expiration est définie. Vous pouvez utiliser cette métrique pour comprendre le cycle de vie de vos données mises en cache et identifier si les clés expirent plus tôt ou plus tard que prévu dans vos instances.
redis.googleapis.com/clients/blocked

Cette métrique suit le nombre de connexions client qui attendent que des données soient disponibles, car des commandes de blocage sont en cours d'exécution dans une instance. Ces commandes de blocage incluent BLPOP, BRPOP et BRPOPLPUSH. Un nombre élevé de clients bloqués peut indiquer que votre application attend que certains événements ou clés soient renseignés.

Vous pouvez surveiller cette métrique pour comprendre le comportement de votre application, en particulier si vous constatez des augmentations inattendues de la latence qui pourraient être liées à des clients en attente d'opérations bloquantes.

redis.googleapis.com/replication/master/slaves/lag

Cette métrique mesure le nombre de secondes de retard d'une instance répliquée par rapport à une instance principale. Memorystore pour Redis calcule la valeur de la métrique en soustrayant l'heure à laquelle l'instance répliquée a accusé réception du message d'octets entrants de l'heure actuelle.

Vous pouvez utiliser cette métrique pour déterminer si une réplique est en retard par rapport à l'instance principale.

redis.googleapis.com/replication/offset_diff

Cette métrique suit le nombre d'octets qui ne sont pas répliqués sur une instance répliquée. Cette métrique représente la différence entre le décalage d'octets de réplication d'une instance principale et celui de l'instance répliquée. S'il n'y a aucune différence entre ces décalages, l'instance répliquée est entièrement synchronisée avec l'instance principale.

Comme l'instance principale réplique les données dans l'instance répliquée lors d'un processus de basculement, vous pouvez constater une augmentation de ces octets en attente.

redis.googleapis.com/stats/cache_hit_ratio

Cette métrique représente le ratio d'appels de base de données Redis réussis par rapport aux appels échoués. Un appel est réussi lorsque la base de données Redis renvoie la valeur demandée par l'appelant.

Un taux d'accès au cache plus élevé signifie que le cache est davantage utilisé. Cela est bénéfique pour les performances de votre application.

redis.googleapis.com/commands/calls

Cette métrique mesure le nombre de commandes Redis exécutées chaque minute sur une instance principale. Elles incluent toutes les commandes Redis Open Source, y compris SET , GET et HSET . Cette métrique ne comptabilise pas les commandes Memorystore pour Redis telles que create ou update.

redis.googleapis.com/clients/connected Cette métrique affiche le nombre de clients connectés à une instance. Vous pouvez surveiller la métrique pour identifier la charge sur l'instance. Si le nombre de clients connectés approche de la limite maxclients, le serveur peut rejeter les nouvelles tentatives de connexion.
redis.googleapis.com/stats/cpu_utilization

Cette métrique mesure le temps d'utilisation du processeur par minute par le serveur Redis. Ce temps est ventilé par espace système/utilisateur et par relations parent-enfant.

La valeur des secondes CPU indique le nombre total de secondes CPU pour tous les threads du processus principal du serveur Redis. Si vous souhaitez afficher l'utilisation du processeur pour le thread principal uniquement, consultez la métrique "Secondes de processeur du thread principal" (cpu_utilization_main_thread).

Une utilisation élevée du processeur est une cause fréquente d'augmentation de la latence dans les instances Redis, car elle peut entraîner des retards dans le traitement des commandes. En surveillant cette métrique, vous pouvez déterminer si une charge élevée provenant de nombreux clients est à l'origine de l'utilisation du processeur.

redis.googleapis.com/stats/evicted_keys

Cette métrique indique le nombre de clés que Memorystore pour Redis évince d'une instance, car celle-ci atteint la limite maxmemory.

En surveillant cette métrique, vous pouvez déterminer si la taille de la mémoire de l'instance est suffisante pour votre charge de travail. Si les données fréquemment consultées sont supprimées du cache, les expulsions de clés peuvent avoir un impact sur les performances de votre application.

redis.googleapis.com/keyspace/keys_with_expiration Cette métrique suit le nombre de clés d'une instance pour lesquelles une expiration est configurée. Si aucune clé n'a de date d'expiration, la mention "aucune donnée" s'affiche dans le graphique de la métrique.
redis.googleapis.com/keyspace/keys Cette métrique indique le nombre total de clés stockées dans une base de données. Si aucune clé n'est stockée, la mention "aucune donnée" s'affiche dans le graphique de la métrique.
redis.googleapis.com/stats/cpu_utilization_main_thread Cette métrique mesure les secondes de processeur utilisées par le thread principal du serveur Redis. Cette mesure est ventilée par espace système/utilisateur et par relation parent/enfant. Vous pouvez surveiller la métrique pour identifier les pics d'utilisation du processeur qui se produisent sur le thread principal.
redis.googleapis.com/stats/memory/maxmemory Cette métrique représente la quantité maximale de mémoire (maxmemory) que les clés peuvent utiliser dans une instance. Une fois cette limite atteinte, Memorystore pour Redis supprime les clés de l'instance. Ce processus d'éviction se déroule conformément à la règle d'éviction configurée pour l'instance.
redis.googleapis.com/stats/memory/usage_ratio Cette métrique indique l'utilisation actuelle de la mémoire d'une instance, exprimée sous la forme d'un ratio de sa limite de mémoire maximale. Vous pouvez surveiller la métrique pour déterminer à quel point l'instance est proche de sa capacité. En fonction de la configuration de l'instance, le processus d'éviction des clés est déclenché lorsque cette limite est atteinte.
redis.googleapis.com/stats/keyspace_misses

Cette métrique suit le nombre de recherches de clés ayant échoué dans le dictionnaire principal. Chaque fois qu'un client tente d'accéder à une clé qui n'existe pas dans la base de données, la métrique est incrémentée.

Cette métrique permet de calculer le taux d'accès au cache, qui mesure l'efficacité avec laquelle votre application utilise le cache. Un nombre élevé d'échecs de keyspace indique souvent que l'application demande des données qui ne sont pas présentes dans le cache. Si l'application doit extraire ces données d'un datastore de backend plus lent, cela peut entraîner une latence accrue.

redis.googleapis.com/replication/role

Cette métrique renvoie une valeur qui identifie le rôle d'un nœud dans un groupe de réplication. La valeur 1 indique que le nœud est principal, tandis que la valeur 0 indique qu'il s'agit d'une réplique.

Vous pouvez utiliser cette métrique pour surveiller l'état des nœuds, en particulier lors des événements de basculement où les rôles peuvent changer. Vous pouvez également suivre l'état et la topologie des instances de niveau standard, qui offrent une haute disponibilité grâce à la réplication.

redis.googleapis.com/persistence/rdb/bgsave_in_progress

Cette métrique renvoie une valeur qui indique si une opération d'enregistrement en arrière-plan (BGSAVE) de la base de données Redis (RDB) est active. La valeur 1 indique qu'une sauvegarde RDB en arrière-plan est active, tandis que la valeur 0 signifie qu'aucune sauvegarde en arrière-plan n'est en cours d'exécution.

Vous pouvez utiliser cette métrique pour suivre les snapshots RDB automatisés ou les exportations manuelles. En outre, en surveillant la métrique, vous pouvez corréler les pics transitoires d'utilisation de la mémoire ou de latence avec les tâches de persistance en cours.

redis.googleapis.com/stats/pubsub/channels Cette métrique suit le nombre global de canaux Pub/Sub qui disposent d'abonnements client actifs dans une instance. Cette métrique mesure le nombre total de chaînes uniques auxquelles les clients sont abonnés à l'aide des commandes SUBSCRIBE ou PSUBSCRIBE.
redis.googleapis.com/stats/pubsub/patterns Cette métrique suit le nombre global de formats Pub/Sub qui comportent des abonnements client actifs dans une instance. Cette métrique mesure le nombre total de modèles uniques auxquels les clients sont abonnés. Les clients créent généralement ces abonnements à l'aide de la commande PSUBSCRIBE.
redis.googleapis.com/stats/reject_connections_count

Cette métrique suit le nombre de tentatives de connexion qu'une instance rejette pour les raisons suivantes :

  • La limite maxclients : le serveur atteint le nombre maximal de connexions client simultanées autorisées.
  • Pression sur la mémoire : l'instance refuse les nouvelles connexions en raison d'une utilisation élevée de la mémoire.
  • Connexion TLS non valide : une instance pour laquelle le chiffrement en transit est activé présente des problèmes liés à TLS.

En surveillant cette métrique, vous pouvez identifier les problèmes de capacité. Si le nombre de connexions refusées augmente, vous devrez peut-être mettre à l'échelle l'instance pour gérer davantage de connexions ou augmenter sa capacité de mémoire. De plus, lorsque le chiffrement est appliqué, vous pouvez utiliser la métrique pour vous aider à résoudre les problèmes de connexion côté client.

redis.googleapis.com/replication/master_repl_offset Cette métrique représente le nombre total d'octets qu'une instance principale génère et envoie à une instance répliquée. En soustrayant le décalage d'octets de réplication de la réplique à ce décalage, vous pouvez calculer la taille du délai de réplication. Lorsqu'il n'y a aucune différence entre ces valeurs de décalage, l'instance répliquée est entièrement synchronisée avec l'instance principale.
redis.googleapis.com/replication/master/slaves/offset Cette métrique indique le nombre total d'octets qu'une réplique reçoit d'une instance principale. En soustrayant ce décalage au décalage d'octets de réplication de l'instance principale, vous pouvez calculer la taille du délai de réplication. Lorsqu'il n'y a aucune différence entre ces valeurs de décalage, l'instance répliquée est entièrement synchronisée avec l'instance principale.
redis.googleapis.com/stats/memory/system_memory_usage_ratio Cette métrique représente la quantité de mémoire utilisée, exprimée sous la forme d'un ratio de la mémoire totale disponible pour le système. La mémoire système totale disponible correspond à la mémoire que vous provisionnez pour une instance, plus la mémoire supplémentaire fournie par Memorystore pour Redis pour gérer les processus généraux.
redis.googleapis.com/stats/memory/system_memory_overload_duration

Cette métrique mesure la durée totale (en microsecondes) pendant laquelle une instance est en mode de surcharge de la mémoire système.

Vous pouvez utiliser cette métrique pour suivre les périodes où l'utilisation de la mémoire de l'instance dépasse les seuils de fonctionnement sécurisés pour le système. Des valeurs persistantes dans la métrique peuvent indiquer que l'instance risque de voir ses performances se dégrader ou devenir instables en raison d'une mémoire insuffisante pour les processus généraux.

redis.googleapis.com/commands/usec_per_call

Cette métrique représente la durée moyenne passée pour chaque appel de commande Redis de plus d'une minute. Cette durée est mesurée en microsecondes.

La métrique est ventilée par commande individuelle. Cela vous permet de surveiller les performances d'opérations spécifiques, telles que GET, SET et HSET.

Vous pouvez également utiliser cette métrique pour mesurer la latence des instances. En comparant le temps par appel à différents moments, vous pouvez identifier les changements de performances et examiner les causes d'une différence de latence.

redis.googleapis.com/stats/connections/total Cette métrique représente le nombre total de connexions acceptées par le serveur.
redis.googleapis.com/commands/total_time Cette métrique mesure le temps total, en microsecondes, passé sur chaque commande Redis Open Source (telles que SET, GET ou HSET) au cours de la dernière seconde. Par exemple, si la commande SET utilise 800 000 microsecondes, cela signifie qu'il faut 80% d'un seul cœur de processeur pour traiter toutes les instances de cette commande combinées.
redis.googleapis.com/stats/network_traffic Cette métrique représente le nombre total d'octets envoyés à ou depuis Redis. Ce nombre inclut les octets des commandes, les données de charge utile et les délimiteurs.
redis.googleapis.com/server/uptime Cette métrique indique le temps d'activité du processus du serveur Redis en cours d'exécution.
redis.googleapis.com/stats/memory/usage Cette métrique représente le nombre total d'octets alloués par le processus du serveur Redis.

Métriques sur les détails de l'instance

Les métriques suivantes sont disponibles pour une instance sur la page Détails de l'instance de la console Google Cloud  :

Nom de la métrique Description
Octets en attente de réplication

Cette métrique indique la quantité de données écrites dans un nœud principal, mais qui n'est pas copiée dans un nœud répliqué. Il s'agit de la différence entre le décalage d'octets de réplication de l'instance principale et celui de l'instance répliquée.

Une valeur nulle pour la métrique indique que la réplique est entièrement synchronisée avec l'instance principale. Une valeur élevée se produit généralement pendant les périodes d'activité d'écriture élevée ou pendant un processus de basculement, car les données sont synchronisées.

Taux d'accès au cache

Cette métrique indique le ratio entre les appels de base de données Redis réussis (hits) et le nombre total d'appels (hits plus échecs). Cette métrique représente l'efficacité avec laquelle votre application utilise le cache.

Un taux d'accès au cache plus élevé indique que davantage de requêtes sont traitées directement à partir du cache. Cela est bénéfique pour les performances de votre application, car cela réduit la latence.

Un ratio faible ou en baisse indique souvent que votre application demande des données qui ne sont pas présentes dans le cache. Vous devrez peut-être augmenter la taille de l'instance ou ajuster la logique de remplissage de vos données.

Appels

Cette métrique indique le nombre de commandes Redis exécutées sur une instance principale chaque minute. Cette métrique comptabilise toutes les commandes Redis Open Source, telles que SET, GET et HSET. Toutefois, la métrique n'inclut pas les commandes spécifiques à Memorystore pour Redis, telles que create ou update.

Vous pouvez utiliser cette métrique pour mesurer et analyser la latence de l'instance. En comparant le volume d'appels au temps passé dessus, vous pouvez identifier les variations de performances et déterminer les causes potentielles des pics de latence.

Secondes de temps de processeur

Cette métrique indique le temps total d'utilisation du processeur (en secondes) par une instance au cours d'une période spécifique.

En surveillant cette métrique, vous pouvez déterminer si l'instance utilise beaucoup de ressources processeur. Il s'agit d'une cause fréquente d'augmentation de la latence, car une utilisation élevée du processeur peut retarder le traitement des commandes. Vous pouvez également utiliser la métrique pour déterminer si une charge élevée provenant d'un grand nombre de clients entraîne l'utilisation du processeur.

Disponibilité de l'instance

Cette métrique indique la durée totale pendant laquelle le processus du serveur Redis s'exécute en continu. Si une instance redémarre en raison d'un basculement, d'une maintenance ou d'un plantage inattendu, la valeur de la métrique tombe à zéro, puis augmente à nouveau à partir de la nouvelle heure de début.

Vous pouvez utiliser cette métrique pour identifier et corréler les interruptions de service inattendues, les événements de basculement ou les périodes de maintenance avec d'autres changements de performances.

Clés dans la base de données

Cette métrique indique le nombre total de clés stockées dans chaque base de données Redis d'une instance. Cette métrique suit toutes les clés qui résident dans les bases de données, qu'une expiration soit définie ou non. Si aucune clé n'est stockée dans les bases de données, la mention "aucune donnée" s'affiche dans le graphique de la métrique, au lieu d'une valeur nulle.

Vous pouvez surveiller la métrique pour vérifier que l'instance reçoit du trafic et stocke des données. Une baisse soudaine de la métrique peut indiquer une perte de données, une éviction massive ou un redémarrage de l'instance.

Utilisation de la mémoire/Mémoire maximale Graphique illustrant l'utilisation de la mémoire par rapport à la limite de mémoire maximale de votre instance.
Clés évincées/Clés expirées Graphique affichant le nombre de clés évincées et expirées.
Clients connectés/Clients bloqués Graphique indiquant le nombre de clients connectés et de clients bloqués.
Octets réseau entrants/sortants Graphique indiquant le nombre d'octets envoyés et reçus par l'instance sur une période donnée.

Métriques des instantanés RDB

Les métriques suivantes vous aident à gérer les instantanés RDB pour Memorystore pour Redis.

Métriques de surveillance des instantanés

Nom de la métrique URL complète du point de terminaison Description
Mode Instantané redis.googleapis.com/rdb/enabled Indique si le mode d'instantané RDB est activé.
Heure du prochain instantané redis.googleapis.com/rdb/snapshot/time_until_next_run Nombre de secondes avant le prochain instantané planifié.

Métriques sur l'état des instantanés

Nom de la métrique URL complète du point de terminaison Description
Instantané RDB en cours redis.googleapis.com/rdb/snapshot/in_progress Indique si un instantané RDB est en cours. Lorsque la valeur de la métrique est "true", cela signifie qu'un instantané RDB est en cours.
Temps écoulé de l'instantané RDB redis.googleapis.com/rdb/snapshot/elapsed_time Indique l'augmentation du temps écoulé lors de la création de l'instantané actuel.
Nombre de tentatives d'instantané RDB redis.googleapis.com/rdb/snapshot/attempt_count Indique le nombre de tentatives de création d'instantanés par minute.
État du dernier instantané RDB redis.googleapis.com/rdb/snapshot/last_status Indique l'état de la dernière tentative d'instantané.
Durée de l'instantané RDB redis.googleapis.com/rdb/snapshot/last_success_duration Indique le temps total nécessaire pour écrire le dernier instantané réussi, sans inclure les tentatives ayant échoué.
Âge de l'instantané RDB redis.googleapis.com/rdb/snapshot/last_success_age Indique le temps écoulé depuis le début du dernier instantané réussi.

Métriques de récupération des instantanés

Nom de la métrique URL complète du point de terminaison Description
Récupération de la RDB en cours redis.googleapis.com/rdb/recovery/in_progress Indique si la récupération à partir d'un instantané RDB est en cours. Lorsque la valeur de la métrique est "true", une récupération est en cours.
Temps écoulé pour la récupération RDB redis.googleapis.com/rdb/recovery/elapsed_time Indique l'augmentation du temps écoulé pour une récupération en cours à partir d'un instantané RDB.
Temps de récupération estimé de la RDB redis.googleapis.com/rdb/recovery/estimated_recovery_time Indique le temps de récupération prévu lorsque vous utilisez le dernier instantané réussi pour la récupération.
Temps restant pour la récupération du RDB redis.googleapis.com/rdb/recovery/estimated_remaining_time Indique le temps restant pour terminer la récupération à partir d'un instantané RDB.
Tentatives de récupération de la RDB redis.googleapis.com/rdb/recovery/attempts_since_last_success Indique le nombre de tentatives de récupération depuis la dernière tentative réussie.
État de la dernière récupération RDB redis.googleapis.com/rdb/recovery/last_status Indique l'état de la récupération la plus récente.
Durée de la dernière récupération RDB redis.googleapis.com/rdb/recovery/last_duration Indique le temps nécessaire pour restaurer le dernier instantané.
Taille de l'instantané RDB redis.googleapis.com/rdb/recovery/total_bytes_count Indique la taille de l'instantané.
Progression du chargement de la RDB redis.googleapis.com/rdb/recovery/loaded_bytes_count Indique le nombre d'octets chargés lors d'une récupération. 0 si la récupération n'est pas active.