Valkey: Prometheus

Métriques Prometheus

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Valkey cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Interface web Redis Commander incluse.
  • Taille et transferts de messages illimités.
  • Mises à jour simplifiées en un clic.
  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Valkey cloud hosting de Stackhero !

Stackhero vous permet de récupérer des métriques au format Prometheus pour chacun de vos services. Ces métriques utilisent le préfixe valkey_ lorsqu'elles sont retournées à Prometheus, ce qui les rend faciles à identifier et à intégrer à vos outils de supervision.

Vous trouverez ci-dessous une présentation détaillée de chaque métrique Stackhero for Valkey disponible. Veuillez noter que chaque métrique est préfixée par valkey_ lorsqu'elle est retournée à Prometheus.

Notez que toutes ces métriques sont précédées de "valkey_" lorsqu'elles sont retournées à votre Prometheus.

  • shutdown_in_milliseconds : Temps maximal restant en millisecondes pour que les réplicas rattrapent la réplication avant la fin de la séquence d'arrêt. Ce champ n'est présent que pendant le processus d'arrêt.

  • connected_clients : Nombre de connexions clients (hors connexions des réplicas).

  • cluster_connections : Estimation du nombre de sockets utilisés par le cluster bus.

  • maxclients : Valeur de la directive de configuration maxclients. Elle représente la limite supérieure pour la somme de connected_clients, connected_slaves et cluster_connections.

  • client_recent_max_input_buffer : Taille maximale du buffer d'entrée parmi les clients actuellement connectés.

  • client_recent_max_output_buffer : Taille maximale du buffer de sortie parmi les clients actuellement connectés.

  • blocked_clients : Nombre de clients en attente sur un appel bloquant comme BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BZPOPMIN ou BZPOPMAX.

  • tracking_clients : Nombre de clients actuellement suivis (CLIENT TRACKING).

  • clients_in_timeout_table : Nombre de clients présents dans la table de timeout.

  • used_memory : Quantité totale de mémoire (en octets) allouée par Valkey via son allocateur (libc standard, jemalloc ou un autre comme tcmalloc).

  • used_memory_rss : Nombre d'octets alloués par Valkey tel que vu par le système d'exploitation (resident set size).

  • used_memory_peak : Pic de mémoire consommée par Valkey.

  • used_memory_peak_perc : Pourcentage de used_memory_peak par rapport à used_memory.

  • used_memory_overhead : Overhead total en octets alloué par le serveur pour la gestion de ses structures de données internes.

  • used_memory_startup : Quantité initiale de mémoire (en octets) consommée par Valkey au démarrage.

  • used_memory_dataset : Taille en octets du dataset (calculée en soustrayant used_memory_overhead de used_memory).

  • used_memory_dataset_perc : Pourcentage de used_memory_dataset par rapport à la mémoire nette utilisée (used_memory moins used_memory_startup).

  • total_system_memory : Quantité totale de mémoire disponible sur l'hôte Valkey.

  • used_memory_lua : Nombre d'octets utilisés par le moteur Lua.

  • used_memory_scripts : Nombre d'octets occupés par les scripts Lua mis en cache.

  • maxmemory : Valeur de la directive de configuration maxmemory.

  • maxmemory_policy : Valeur de la directive de configuration maxmemory-policy.

  • mem_fragmentation_ratio : Ratio entre used_memory_rss et used_memory. Ce ratio inclut non seulement la fragmentation mais aussi d'autres overheads de processus (voir les métriques allocator_*) ainsi que les overheads liés au code, aux bibliothèques partagées, à la stack, etc.

  • mem_fragmentation_bytes : Différence en octets entre used_memory_rss et used_memory. Lorsque cette valeur est faible (quelques mégaoctets), un ratio élevé (par exemple 1.5 ou plus) n'indique pas forcément un problème.

  • allocator_frag_ratio : Ratio entre allocator_active et allocator_allocated. Cela mesure la fragmentation réelle (externe), contrairement à mem_fragmentation_ratio.

  • allocator_frag_bytes : Différence en octets entre allocator_active et allocator_allocated. Voir la note pour mem_fragmentation_bytes.

  • allocator_rss_ratio : Ratio entre allocator_resident et allocator_active. Cette métrique indique souvent les pages que l'allocateur pourra bientôt libérer vers l'OS.

  • allocator_rss_bytes : Différence en octets entre allocator_resident et allocator_active.

  • rss_overhead_ratio : Ratio entre used_memory_rss (RSS du processus) et allocator_resident. Cela inclut les overheads RSS non liés à l'allocateur ou au heap.

  • rss_overhead_bytes : Différence en octets entre used_memory_rss (RSS du processus) et allocator_resident.

  • allocator_allocated : Total des octets alloués par l'allocateur, y compris la fragmentation interne. Cette valeur correspond généralement à used_memory.

  • allocator_active : Total des octets dans les pages actives de l'allocateur, y compris la fragmentation externe.

  • allocator_resident : Total des octets résidents (RSS) dans l'allocateur, y compris les pages pouvant être libérées vers l'OS (par MEMORY PURGE ou inactivité).

  • mem_not_counted_for_evict : Mémoire utilisée non comptabilisée pour l'éviction des clés. Cela inclut principalement les buffers transitoires des réplicas et de l'AOF.

  • mem_clients_slaves : Mémoire utilisée par les clients réplicas. Comme les buffers des réplicas partagent la mémoire avec le replication backlog, ce champ peut afficher 0 si les réplicas n'entraînent pas d'augmentation de la mémoire utilisée.

  • mem_clients_normal : Mémoire utilisée par les clients classiques.

  • mem_cluster_links : Mémoire utilisée par les connexions aux pairs sur le cluster bus lorsque le mode cluster est actif.

  • mem_aof_buffer : Mémoire transitoire utilisée pour les buffers AOF et AOF rewrite.

  • mem_replication_backlog : Mémoire utilisée par le replication backlog.

  • mem_total_replication_buffers : Mémoire totale consommée pour les buffers de réplication.

  • mem_allocator : Allocateur mémoire sélectionné à la compilation.

  • active_defrag_running : Lorsque la défragmentation active est activée, cette métrique indique si la défragmentation est en cours et le pourcentage CPU visé.

  • lazyfree_pending_objects : Nombre d'objets en attente de libération différée (suite à des opérations comme UNLINK ou FLUSHDB/FLUSHALL asynchrones).

  • lazyfreed_objects : Nombre d'objets déjà libérés de façon différée.

  • loading : Indique si un fichier dump est en cours de chargement.

  • async_loading : Indique si le dataset de réplication est chargé de façon asynchrone tout en servant les anciennes données. Cela se produit lorsque repl-diskless-load est activé et configuré sur swapdb.

  • current_cow_peak : Pic de mémoire copy-on-write en octets lors d'un fork enfant.

  • current_cow_size : Taille de la mémoire copy-on-write en octets lors d'un fork enfant.

  • current_cow_size_age : Âge en secondes de la valeur current_cow_size.

  • current_fork_perc : Pourcentage d'avancement du fork en cours. Pour les forks AOF et RDB, cela représente le pourcentage de current_save_keys_processed sur current_save_keys_total.

  • current_save_keys_processed : Nombre de clés traitées lors de la sauvegarde en cours.

  • current_save_keys_total : Nombre total de clés au début de la sauvegarde en cours.

  • rdb_bgsave_in_progress : Indique qu'une sauvegarde RDB est en cours.

  • rdb_last_save_time : Timestamp epoch de la dernière sauvegarde RDB réussie.

  • rdb_last_bgsave_status : Statut de la dernière opération de sauvegarde RDB.

  • rdb_last_bgsave_time_sec : Durée en secondes de la dernière sauvegarde RDB.

  • rdb_current_bgsave_time_sec : Durée en secondes de la sauvegarde RDB en cours, le cas échéant.

  • rdb_last_cow_size : Taille de la mémoire copy-on-write en octets lors de la dernière sauvegarde RDB.

  • rdb_last_load_keys_expired : Nombre de clés volatiles supprimées lors du dernier chargement RDB.

  • rdb_last_load_keys_loaded : Nombre de clés chargées lors du dernier chargement RDB.

  • aof_enabled : Indique que la journalisation AOF est activée.

  • aof_rewrite_in_progress : Indique qu'une réécriture AOF est en cours.

  • aof_rewrite_scheduled : Indique qu'une réécriture AOF sera programmée à la fin de la sauvegarde RDB en cours.

  • aof_last_rewrite_time_sec : Durée en secondes de la dernière réécriture AOF.

  • aof_current_rewrite_time_sec : Durée en secondes de la réécriture AOF en cours, le cas échéant.

  • aof_last_bgrewrite_status : Statut de la dernière réécriture AOF.

  • aof_last_write_status : Statut de la dernière écriture dans l'AOF.

  • aof_last_cow_size : Taille de la mémoire copy-on-write en octets lors de la dernière réécriture AOF.

  • module_fork_in_progress : Indique qu'un fork de module est en cours.

  • module_fork_last_cow_size : Taille de la mémoire copy-on-write en octets lors du dernier fork de module.

  • aof_current_size : Taille actuelle du fichier AOF.

  • aof_base_size : Taille du fichier AOF au dernier démarrage ou à la dernière réécriture.

  • aof_pending_rewrite : Indique qu'une réécriture AOF sera programmée à la fin de la sauvegarde RDB en cours.

  • aof_buffer_length : Taille du buffer AOF.

  • aof_pending_bio_fsync : Nombre de jobs fsync en attente dans la file d'attente I/O en arrière-plan.

  • aof_delayed_fsync : Compteur des opérations fsync retardées.

  • loading_start_time : Timestamp epoch marquant le début de l'opération de chargement.

  • loading_total_bytes : Taille totale du fichier en cours de chargement.

  • loading_rdb_used_mem : Utilisation mémoire du serveur ayant généré le fichier RDB au moment de sa création.

  • loading_loaded_bytes : Nombre d'octets déjà chargés.

  • loading_loaded_perc : Pourcentage du fichier déjà chargé.

  • loading_eta_seconds : Temps estimé restant en secondes avant la fin du chargement.

  • instantaneous_ops_per_sec : Nombre de commandes traitées par seconde.

  • instantaneous_input_kbps : Débit réseau en lecture (KB/sec).

  • instantaneous_output_kbps : Débit réseau en écriture (KB/sec).

  • instantaneous_input_repl_kbps : Débit réseau en lecture (KB/sec) pour la réplication.

  • instantaneous_output_repl_kbps : Débit réseau en écriture (KB/sec) pour la réplication.

  • sync_full : Nombre de resynchronisations complètes avec les réplicas.

  • sync_partial_ok : Nombre de demandes de resynchronisation partielle acceptées.

  • sync_partial_err : Nombre de demandes de resynchronisation partielle refusées.

  • expired_stale_perc : Pourcentage de clés probablement expirées.

  • expired_time_cap_reached_count : Nombre de fois où les cycles d'expiration active se sont arrêtés prématurément.

  • expire_cycle_cpu_milliseconds : Temps cumulé en millisecondes passé sur les cycles d'expiration active.

  • evicted_clients : Nombre de clients expulsés à cause de la limite maxmemory-clients.

  • pubsub_channels : Nombre total de canaux pub/sub avec des abonnements clients actifs.

  • pubsub_patterns : Nombre total de patterns pub/sub avec des abonnements clients actifs.

  • pubsubshard_channels : Nombre total de canaux pub/sub shard avec des abonnements clients actifs.

  • latest_fork_usec : Durée en microsecondes de la dernière opération de fork.

  • migrate_cached_sockets : Nombre de sockets ouverts pour les opérations MIGRATE.

  • slave_expires_tracked_keys : Nombre de clés suivies pour l'expiration (applicable uniquement aux réplicas en écriture).

  • active_defrag_hits : Nombre de réallocations de valeurs réussies par la défragmentation active.

  • active_defrag_misses : Nombre de réallocations de valeurs abandonnées par la défragmentation active.

  • active_defrag_key_hits : Nombre de clés effectivement défragmentées.

  • active_defrag_key_misses : Nombre de clés ignorées lors de la défragmentation active.

  • tracking_total_keys : Nombre total de clés suivies par le serveur.

  • tracking_total_items : Nombre total d'éléments suivis (somme du nombre de clients par clé).

  • tracking_total_prefixes : Nombre de préfixes suivis dans la table des préfixes du serveur (applicable uniquement en mode broadcast).

  • role : Retourne "master" si l'instance n'est pas un replica, ou "slave" si elle réplique depuis un master. Notez qu'un replica peut agir comme master pour un autre replica (réplication en chaîne).

  • master_failover_state : Etat actuel d'un failover en cours, s'il y en a un.

  • master_replid : ID de réplication du serveur Valkey.

  • master_replid2 : Second ID de réplication utilisé pour PSYNC après un failover.

  • master_repl_offset : Offset de réplication actuel du serveur.

  • second_repl_offset : Offset jusqu'où les IDs de réplication sont acceptés.

  • repl_backlog_active : Indique si le replication backlog est actif.

  • repl_backlog_size : Taille totale en octets du buffer de replication backlog.

  • repl_backlog_first_byte_offset : Offset master correspondant au premier octet du buffer de replication backlog.

  • repl_backlog_histlen : Taille en octets des données contenues dans le buffer de replication backlog.

  • master_host : Hôte ou adresse IP de l'instance master.

  • master_port : Port TCP sur lequel le master écoute.

  • master_link_status : Statut du lien (up ou down).

  • master_sync_in_progress : Indique si le master est en cours de synchronisation avec un replica.

  • slave_read_repl_offset : Offset de réplication jusqu'où les données ont été lues par le replica.

  • slave_repl_offset : Offset de réplication actuel de l'instance replica.

  • slave_priority : Priorité de l'instance comme candidate au failover.

  • slave_read_only : Indique si le replica est en mode lecture seule.

  • replica_announced : Indique si le replica a été annoncé par Sentinel.

  • master_sync_total_bytes : Nombre total d'octets à transférer lors de la synchronisation. Cette valeur peut être 0 si la taille est inconnue (par exemple, avec la directive repl-diskless-sync).

  • master_sync_read_bytes : Nombre d'octets déjà transférés.

  • master_sync_left_bytes : Nombre d'octets restant à transférer avant la fin de la synchronisation (peut être négatif si master_sync_total_bytes vaut 0).

  • master_sync_perc : Pourcentage d'octets transférés (master_sync_read_bytes) sur le total (master_sync_total_bytes), ou estimation basée sur loading_rdb_used_mem si master_sync_total_bytes vaut 0.

  • connected_slaves : Nombre de réplicas connectés.

  • min_slaves_good_slaves : Nombre de réplicas actuellement considérés comme bons pour la réplication.

  • current_eviction_exceeded_time : Temps (en millisecondes) depuis que used_memory a dépassé maxmemory.

  • current_active_defrag_time : Temps (en millisecondes) depuis que la fragmentation mémoire a dépassé sa limite.

  • master_last_io_seconds_ago : Nombre de secondes depuis la dernière interaction avec le master.

  • master_sync_last_io_seconds_ago : Nombre de secondes depuis le dernier transfert I/O lors d'une opération SYNC.

  • master_link_down_since_seconds : Nombre de secondes depuis que le lien master est down.

  • total_eviction_exceeded_time : Temps total (en millisecondes) où used_memory a dépassé maxmemory depuis le démarrage du serveur.

  • rdb_changes_since_last_save : Nombre de modifications enregistrées depuis le dernier dump.

  • total_connections_received : Nombre total de connexions acceptées depuis le démarrage du serveur.

  • total_commands_processed : Nombre total de commandes traitées par le serveur.

  • total_net_input_bytes : Nombre total d'octets lus depuis le réseau.

  • total_net_output_bytes : Nombre total d'octets écrits sur le réseau.

  • total_net_repl_input_bytes : Nombre total d'octets lus depuis le réseau pour la réplication.

  • total_net_repl_output_bytes : Nombre total d'octets écrits sur le réseau pour la réplication.

  • rejected_connections : Nombre de connexions refusées car la limite maxclients a été atteinte.

  • expired_keys : Nombre total d'événements d'expiration de clés.

  • evicted_keys : Nombre de clés expulsées à cause de la limite maxmemory.

  • keyspace_hits : Nombre de recherches de clés réussies dans le dictionnaire principal.

  • keyspace_misses : Nombre de recherches de clés échouées dans le dictionnaire principal.

  • used_cpu_sys : Temps CPU système (en secondes) consommé par Valkey, en additionnant tous les threads (principal et arrière-plan).

  • used_cpu_user : Temps CPU utilisateur (en secondes) consommé par Valkey, en additionnant tous les threads.

  • used_cpu_sys_children : Temps CPU système (en secondes) consommé par les processus en arrière-plan.

  • used_cpu_user_children : Temps CPU utilisateur (en secondes) consommé par les processus en arrière-plan.

  • used_cpu_sys_main_thread : Temps CPU système consommé par le thread principal du serveur Valkey.

  • used_cpu_user_main_thread : Temps CPU utilisateur consommé par le thread principal du serveur Valkey.

  • unexpected_error_replies : Nombre de réponses d'erreur inattendues, généralement lors de chargements AOF ou d'erreurs de réplication.

  • total_error_replies : Nombre total de réponses d'erreur émises. Cette valeur inclut les erreurs avant exécution de commande (commandes rejetées) et celles survenues pendant l'exécution (commandes échouées).

  • total_reads_processed : Nombre total d'événements de lecture traités.

  • total_writes_processed : Nombre total d'événements d'écriture traités.

  • io_threaded_reads_processed : Nombre d'événements de lecture traités par le thread principal et les threads I/O.

  • io_threaded_writes_processed : Nombre d'événements d'écriture traités par le thread principal et les threads I/O.

  • dump_payload_sanitizations : Nombre total de vérifications d'intégrité approfondies effectuées sur les payloads dump (selon la configuration sanitize-dump-payload).

  • total_forks : Nombre total d'opérations de fork depuis le démarrage du serveur.

  • total_active_defrag_time : Temps total (en millisecondes) où la fragmentation mémoire a dépassé la limite définie.

  • aof_rewrites : Nombre de réécritures AOF effectuées depuis le démarrage.

  • rdb_saves : Nombre de snapshots RDB réalisés depuis le démarrage.