Redis®*: Prometheus

Métriques Prometheus

👋 Bienvenue sur la documentation de Stackhero !

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

  • Interface web Redis Commander incluse.
  • Taille des messages et transferts 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 Redis cloud hosting de Stackhero !

Avec Stackhero, vous pouvez facilement récupérer les métriques au format Prometheus pour chacun de vos services. Ce guide fournit une description détaillée de chaque métrique Stackhero for Redis disponible. Toutes les métriques sont préfixées par redis_ lorsqu'elles sont exposées à Prometheus.

  • shutdown_in_milliseconds : Temps maximal restant 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 qu'en cours 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 bus du cluster.

  • maxclients : Valeur de la directive de configuration maxclients. C'est la limite supérieure pour la somme de connected_clients, connected_slaves et cluster_connections.

  • client_recent_max_input_buffer : Plus grand buffer d'entrée parmi les connexions clients actuelles.

  • client_recent_max_output_buffer : Plus grand buffer de sortie parmi les connexions clients actuelles.

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

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

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

  • used_memory : Nombre total d'octets alloués par Redis via son allocateur (libc standard, jemalloc ou un autre comme tcmalloc).

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

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

  • used_memory_peak_perc : Pourcentage de used_memory_peak par rapport à used_memory.

  • used_memory_overhead : Somme en octets de tous les surcoûts alloués par le serveur pour gérer ses structures de données internes.

  • used_memory_startup : Quantité initiale de mémoire consommée par Redis au démarrage, en octets.

  • used_memory_dataset : Taille en octets du dataset (used_memory_overhead soustrait 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 Redis.

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

  • used_memory_scripts : Nombre d'octets utilisé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. Cela inclut la fragmentation mais aussi d'autres surcoûts du processus (voir les métriques allocator_*), ainsi que le code, les bibliothèques partagées, la stack, etc.

  • mem_fragmentation_bytes : Différence entre used_memory_rss et used_memory. Si la fragmentation totale 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. C'est la vraie métrique de fragmentation externe (et non mem_fragmentation_ratio).

  • allocator_frag_bytes : Différence entre allocator_active et allocator_allocated. Voir la remarque sur mem_fragmentation_bytes.

  • allocator_rss_ratio : Ratio entre allocator_resident et allocator_active. Cela indique généralement les pages que l'allocateur peut, et va probablement, libérer prochainement vers l'OS.

  • allocator_rss_bytes : Différence entre allocator_resident et allocator_active.

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

  • rss_overhead_bytes : Différence 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. Normalement identique à used_memory.

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

  • allocator_resident : Total des octets résidents (RSS) dans l'allocateur, incluant les pages pouvant être libérées à l'OS (par MEMORY PURGE ou simplement en attendant).

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

  • mem_clients_slaves : Mémoire utilisée par les clients réplicas. Les buffers des réplicas partagent la mémoire avec le backlog de réplication, donc 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 normaux.

  • mem_cluster_links : Mémoire utilisée par les liens vers les pairs sur le bus du cluster lorsque le mode cluster est activé.

  • mem_aof_buffer : Mémoire transitoire utilisée pour les buffers AOF et la réécriture AOF.

  • mem_replication_backlog : Mémoire utilisée par le backlog de réplication.

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

  • mem_allocator : Allocateur mémoire, choisi à la compilation.

  • active_defrag_running : Lorsque activedefrag est activé, indique si la défragmentation est en cours et le pourcentage CPU visé.

  • lazyfree_pending_objects : Nombre d'objets en attente de libération (suite à UNLINK, ou FLUSHDB/FLUSHALL avec l'option ASYNC).

  • lazyfreed_objects : Nombre d'objets libérés de façon asynchrone.

  • loading : Indique si le chargement d'un fichier dump est en cours.

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

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

  • current_cow_size : Taille actuelle de la mémoire copy-on-write en octets pendant l'exécution d'un fork enfant.

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

  • current_fork_perc : Pourcentage d'avancement du processus de fork en cours. Pour les forks AOF et RDB, il s'agit du pourcentage de current_save_keys_processed sur current_save_keys_total.

  • current_save_keys_processed : Nombre de clés traitées par l'opération de sauvegarde en cours.

  • current_save_keys_total : Nombre de clés au début de l'opération de sauvegarde en cours.

  • rdb_bgsave_in_progress : Indique si 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 de la dernière sauvegarde RDB en secondes.

  • rdb_current_bgsave_time_sec : Durée de la sauvegarde RDB en cours, si existante.

  • rdb_last_cow_size : Taille de la mémoire copy-on-write 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 si la journalisation AOF est activée.

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

  • aof_rewrite_scheduled : Indique qu'une réécriture AOF sera programmée une fois la sauvegarde RDB terminée.

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

  • aof_current_rewrite_time_sec : Durée de la réécriture AOF en cours, si existante.

  • 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 lors de la dernière réécriture AOF.

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

  • module_fork_last_cow_size : Taille de la mémoire copy-on-write 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 une fois la sauvegarde RDB terminée.

  • aof_buffer_length : Taille du buffer AOF.

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

  • aof_delayed_fsync : Compteur de fsync retardés.

  • loading_start_time : Timestamp (epoch) du début de l'opération de chargement.

  • loading_total_bytes : Taille totale du fichier.

  • 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 : Même valeur exprimée en pourcentage.

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

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

  • instantaneous_input_kbps : Débit de lecture réseau par seconde en KB/sec.

  • instantaneous_output_kbps : Débit d'écriture réseau par seconde en KB/sec.

  • instantaneous_input_repl_kbps : Débit de lecture réseau par seconde en KB/sec pour la réplication.

  • instantaneous_output_repl_kbps : Débit d'écriture réseau par seconde en 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 actifs se sont arrêtés prématurément.

  • expire_cycle_cpu_milliseconds : Temps cumulé passé sur les cycles d'expiration actifs.

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

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

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

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

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

  • 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 effectuées 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 par la défragmentation active.

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

  • tracking_total_items : Nombre total d'éléments, c'est-à-dire la somme du nombre de clients pour chaque clé suivie.

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

  • role : La valeur est "master" si l'instance n'est réplique de personne, ou "slave" si l'instance est réplique d'un master. Un replica peut aussi être master d'un autre replica (réplication en chaîne).

  • master_failover_state : Etat d'un basculement en cours, le cas échéant.

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

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

  • 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 backlog de réplication est actif.

  • repl_backlog_size : Taille totale en octets du buffer de backlog de réplication.

  • repl_backlog_first_byte_offset : Offset master du buffer de backlog de réplication.

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

  • master_host : Hôte ou adresse IP du master.

  • master_port : Port TCP d'écoute du master.

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

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

  • slave_read_repl_offset : Offset de réplication en lecture de l'instance replica.

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

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

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

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

  • master_sync_total_bytes : Nombre total d'octets à transférer. Peut être 0 si la taille est inconnue (par exemple, si la directive repl-diskless-sync est utilisée).

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

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

  • master_sync_perc : Pourcentage de master_sync_read_bytes sur master_sync_total_bytes, ou approximation utilisant 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 opérationnels.

  • current_eviction_exceeded_time : Temps écoulé depuis que used_memory a dépassé maxmemory, en millisecondes.

  • current_active_defrag_time : Temps écoulé depuis que la fragmentation mémoire a dépassé la limite, en millisecondes.

  • 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 est down.

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

  • rdb_changes_since_last_save : Nombre de modifications depuis la dernière sauvegarde.

  • total_connections_received : Nombre total de connexions acceptées par le 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 à cause de la limite maxclients.

  • 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 : CPU système consommé par le serveur Redis, somme du CPU système consommé par tous les threads du processus serveur (thread principal et threads en arrière-plan).

  • used_cpu_user : CPU utilisateur consommé par le serveur Redis, somme du CPU utilisateur consommé par tous les threads du processus serveur (thread principal et threads en arrière-plan).

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

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

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

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

  • unexpected_error_replies : Nombre de réponses d'erreur inattendues, provenant d'un chargement AOF ou d'une réplication.

  • total_error_replies : Nombre total de réponses d'erreur émises, somme des commandes rejetées (erreurs avant exécution) et des commandes échouées (erreurs pendant l'exécution).

  • 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 du dump payload (voir la config sanitize-dump-payload).

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

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

  • 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.