Valkey: Prometheus

Prometheus 指標

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型的 Valkey cloud 解決方案,帶來多項好處,包括:

  • 包含 Redis Commander 網頁介面
  • 無限制的訊息大小和傳輸。
  • 只需一鍵即可輕鬆完成 更新
  • 專用私有 VM 提供的最佳 效能和強大 安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Valkey cloud hosting 解決方案!

Stackhero 提供從 Prometheus 格式的指標 中檢索每個服務的能力。這些指標在返回 Prometheus 時使用 valkey_ 前綴,方便識別和與您的監控工具整合。

以下是每個可用的 Stackhero for Valkey 指標的詳細概述。請注意,每個指標在返回 Prometheus 時都會加上 valkey_ 前綴。

請注意,所有這些指標在返回到您的 Prometheus 時都會以 "valkey_" 為前綴。

  • shutdown_in_milliseconds: 剩餘的最大時間(以毫秒為單位),讓副本在關閉序列完成之前趕上複製。此欄位僅在關閉過程中存在。

  • connected_clients: 客戶端連接數量(不包括副本的連接)。

  • cluster_connections: 集群總線使用的 socket 數量的近似值。

  • maxclients: maxclients 配置指令的值。它代表 connected_clients、connected_slaves 和 cluster_connections 的總和的上限。

  • client_recent_max_input_buffer: 當前連接的客戶端中最大的輸入緩衝區大小。

  • client_recent_max_output_buffer: 當前連接的客戶端中最大的輸出緩衝區大小。

  • blocked_clients: 等待阻塞調用(如 BLPOP、BRPOP、BRPOPLPUSH、BLMOVE、BZPOPMIN 或 BZPOPMAX)的客戶端數量。

  • tracking_clients: 當前被追蹤的客戶端數量(CLIENT TRACKING)。

  • clients_in_timeout_table: 超時表中的客戶端數量。

  • used_memory: Valkey 使用其選擇的分配器(無論是標準 libc、jemalloc 還是 tcmalloc 等替代方案)分配的總內存量(以字節為單位)。

  • used_memory_rss: 作業系統看到的 Valkey 分配的字節數(也稱為常駐集大小)。

  • used_memory_peak: Valkey 消耗的內存峰值。

  • used_memory_peak_perc: used_memory_peak 相對於 used_memory 的百分比。

  • used_memory_overhead: 伺服器為管理其內部數據結構分配的總開銷(以字節為單位)。

  • used_memory_startup: Valkey 啟動時消耗的初始內存量(以字節為單位)。

  • used_memory_dataset: 數據集的大小(以字節為單位)(通過從 used_memory 中減去 used_memory_overhead 計算)。

  • used_memory_dataset_perc: used_memory_dataset 相對於淨內存使用量(used_memory 減去 used_memory_startup)的百分比。

  • total_system_memory: Valkey 主機上可用的總內存量。

  • used_memory_lua: Lua 引擎使用的字節數。

  • used_memory_scripts: 緩存的 Lua 腳本佔用的字節數。

  • maxmemory: maxmemory 配置指令的值。

  • maxmemory_policy: maxmemory-policy 配置指令的值。

  • mem_fragmentation_ratio: used_memory_rss 與 used_memory 之間的比率。請注意,這個比率不僅包括碎片化,還包括其他進程開銷(參見 allocator_* 指標)以及代碼、共享庫、堆棧等的開銷。

  • mem_fragmentation_bytes: used_memory_rss 與 used_memory 之間的字節差異。當此值較低(僅幾兆字節)時,高比率(例如 1.5 或以上)不一定表示問題。

  • allocator_frag_ratio: allocator_active 與 allocator_allocated 之間的比率。這是對真正(外部)碎片化的度量(與 mem_fragmentation_ratio 不同)。

  • allocator_frag_bytes: allocator_active 與 allocator_allocated 之間的字節差異。請參閱 mem_fragmentation_bytes 的說明。

  • allocator_rss_ratio: allocator_resident 與 allocator_active 之間的比率。此指標通常表示分配器可以很快釋放回作業系統的頁面。

  • allocator_rss_bytes: allocator_resident 與 allocator_active 之間的字節差異。

  • rss_overhead_ratio: used_memory_rss(進程 RSS)與 allocator_resident 之間的比率。這包括與分配器或堆無關的 RSS 開銷。

  • rss_overhead_bytes: used_memory_rss(進程 RSS)與 allocator_resident 之間的字節差異。

  • allocator_allocated: 分配器分配的總字節數,包括內部碎片化。此值通常與 used_memory 相同。

  • allocator_active: 分配器活動頁面中的總字節數,包括外部碎片化。

  • allocator_resident: 分配器中的總常駐字節數(RSS),包括可以釋放回作業系統的頁面(通過 MEMORY PURGE 或不活動)。

  • mem_not_counted_for_evict: 未計入鍵驅逐的已用內存。這主要包括臨時副本和 AOF 緩衝區。

  • mem_clients_slaves: 副本客戶端使用的內存。由於副本緩衝區與複製後備共享內存,當副本不會觸發內存使用增加時,此欄位可能顯示為 0。

  • mem_clients_normal: 普通客戶端使用的內存。

  • mem_cluster_links: 當集群模式啟用時,集群總線上與對等方連接使用的內存。

  • mem_aof_buffer: 用於 AOF 和 AOF 重寫緩衝區的臨時內存。

  • mem_replication_backlog: 複製後備使用的內存。

  • mem_total_replication_buffers: 複製緩衝區消耗的總內存。

  • mem_allocator: 編譯時選擇的內存分配器。

  • active_defrag_running: 當啟用主動碎片整理時,此指標指示碎片整理當前是否活躍以及計劃使用的 CPU 百分比。

  • lazyfree_pending_objects: 等待被懶惰釋放的對象數量(由於 UNLINK 或異步 FLUSHDB/FLUSHALL 等操作)。

  • lazyfreed_objects: 已被懶惰釋放的對象數量。

  • loading: 指示當前是否正在加載轉儲文件的標誌。

  • async_loading: 指示是否在提供舊數據的同時異步加載複製數據集。當啟用 repl-diskless-load 並設置為 swapdb 時會發生這種情況。

  • current_cow_peak: 子進程 fork 操作期間寫時複製內存的峰值大小(以字節為單位)。

  • current_cow_size: 子進程 fork 操作期間寫時複製內存的大小(以字節為單位)。

  • current_cow_size_age: current_cow_size 值的年齡(以秒為單位)。

  • current_fork_perc: 當前 fork 過程的進度百分比。對於 AOF 和 RDB fork,它表示 current_save_keys_processed 相對於 current_save_keys_total 的百分比。

  • current_save_keys_processed: 當前保存操作中處理的鍵數。

  • current_save_keys_total: 當前保存操作開始時的鍵總數。

  • rdb_bgsave_in_progress: 指示 RDB 保存正在進行的標誌。

  • rdb_last_save_time: 上次成功 RDB 保存的 epoch 時間戳。

  • rdb_last_bgsave_status: 上次 RDB 保存操作的狀態。

  • rdb_last_bgsave_time_sec: 上次 RDB 保存操作的持續時間(以秒為單位)。

  • rdb_current_bgsave_time_sec: 當前 RDB 保存操作的持續時間(以秒為單位),如果有的話。

  • rdb_last_cow_size: 上次 RDB 保存操作期間寫時複製內存的大小(以字節為單位)。

  • rdb_last_load_keys_expired: 上次 RDB 加載期間刪除的易失性鍵數量。

  • rdb_last_load_keys_loaded: 上次 RDB 加載期間加載的鍵數量。

  • aof_enabled: 指示 AOF 日誌記錄已啟用的標誌。

  • aof_rewrite_in_progress: 顯示 AOF 重寫操作正在進行的標誌。

  • aof_rewrite_scheduled: 指示一旦當前 RDB 保存完成後將安排 AOF 重寫操作的標誌。

  • aof_last_rewrite_time_sec: 上次 AOF 重寫操作的持續時間(以秒為單位)。

  • aof_current_rewrite_time_sec: 當前 AOF 重寫操作的持續時間(以秒為單位),如果有的話。

  • aof_last_bgrewrite_status: 上次 AOF 重寫操作的狀態。

  • aof_last_write_status: 上次寫入 AOF 的狀態。

  • aof_last_cow_size: 上次 AOF 重寫操作期間寫時複製內存的大小(以字節為單位)。

  • module_fork_in_progress: 指示模組 fork 正在進行的標誌。

  • module_fork_last_cow_size: 上次模組 fork 操作期間寫時複製內存的大小(以字節為單位)。

  • aof_current_size: AOF 文件的當前大小。

  • aof_base_size: 上次啟動或重寫時的 AOF 文件大小。

  • aof_pending_rewrite: 指示一旦當前 RDB 保存完成後將安排 AOF 重寫操作的標誌。

  • aof_buffer_length: AOF 緩衝區的大小。

  • aof_pending_bio_fsync: 後台 I/O 隊列中待處理的 fsync 任務數量。

  • aof_delayed_fsync: 延遲 fsync 操作的計數器。

  • loading_start_time: 標記加載操作開始的 epoch 時間戳。

  • loading_total_bytes: 正在加載的文件的總大小。

  • loading_rdb_used_mem: 生成 RDB 文件的伺服器在創建時的內存使用量。

  • loading_loaded_bytes: 已經加載的字節數。

  • loading_loaded_perc: 文件已加載的百分比。

  • loading_eta_seconds: 預計剩餘的加載完成時間(以秒為單位)。

  • instantaneous_ops_per_sec: 每秒處理的命令數。

  • instantaneous_input_kbps: 網絡讀取速率(以 KB/秒為單位)。

  • instantaneous_output_kbps: 網絡寫入速率(以 KB/秒為單位)。

  • instantaneous_input_repl_kbps: 用於複製的網絡讀取速率(以 KB/秒為單位)。

  • instantaneous_output_repl_kbps: 用於複製的網絡寫入速率(以 KB/秒為單位)。

  • sync_full: 與副本的完全重新同步次數。

  • sync_partial_ok: 接受的部分重新同步請求數量。

  • sync_partial_err: 拒絕的部分重新同步請求數量。

  • expired_stale_perc: 可能已過期的鍵的百分比。

  • expired_time_cap_reached_count: 活動過期循環提早停止的次數。

  • expire_cycle_cpu_milliseconds: 用於活動過期循環的累計時間(以毫秒為單位)。

  • evicted_clients: 由於 maxmemory-clients 限制而被驅逐的客戶端數量。

  • pubsub_channels: 擁有活躍客戶端訂閱的 pub/sub 頻道總數。

  • pubsub_patterns: 擁有活躍客戶端訂閱的 pub/sub 模式總數。

  • pubsubshard_channels: 擁有活躍客戶端訂閱的 pub/sub 分片頻道總數。

  • latest_fork_usec: 最近一次 fork 操作的持續時間(以微秒為單位)。

  • migrate_cached_sockets: 用於 MIGRATE 目的的打開 socket 數量。

  • slave_expires_tracked_keys: 為過期目的而追蹤的鍵數量(僅適用於可寫副本)。

  • active_defrag_hits: 主動碎片整理過程成功執行的值重新分配次數。

  • active_defrag_misses: 主動碎片整理過程中被放棄的值重新分配次數。

  • active_defrag_key_hits: 被主動碎片整理的鍵數量。

  • active_defrag_key_misses: 主動碎片整理過程中被跳過的鍵數量。

  • tracking_total_keys: 伺服器追蹤的鍵總數。

  • tracking_total_items: 追蹤的項目總數(這是每個鍵的客戶端數量的總和)。

  • tracking_total_prefixes: 伺服器前綴表中追蹤的前綴數量(僅適用於廣播模式)。

  • role: 如果實例不是副本,則返回 "master",如果從主伺服器複製,則返回 "slave"。請注意,副本可以作為另一個副本的主伺服器(鏈式複製)。

  • master_failover_state: 當前進行中的故障轉移狀態(如果存在)。

  • master_replid: Valkey 伺服器的複製 ID。

  • master_replid2: 故障轉移後用於 PSYNC 的次要複製 ID。

  • master_repl_offset: 伺服器的當前複製偏移量。

  • second_repl_offset: 接受複製 ID 的偏移量。

  • repl_backlog_active: 指示複製後備是否活躍的標誌。

  • repl_backlog_size: 複製後備緩衝區的總大小(以字節為單位)。

  • repl_backlog_first_byte_offset: 複製後備緩衝區中第一個字節對應的主偏移量。

  • repl_backlog_histlen: 複製後備緩衝區中包含的數據大小(以字節為單位)。

  • master_host: 主實例的主機或 IP 地址。

  • master_port: 主伺服器正在監聽的 TCP 端口。

  • master_link_status: 連接狀態(上或下)。

  • master_sync_in_progress: 指示主伺服器當前是否正在與副本同步。

  • slave_read_repl_offset: 副本已讀取數據的複製偏移量。

  • slave_repl_offset: 副本實例的當前複製偏移量。

  • slave_priority: 實例在故障轉移中的候選優先級。

  • slave_read_only: 指示副本是否處於只讀模式的標誌。

  • replica_announced: 指示副本是否已被 Sentinel 宣佈的標誌。

  • master_sync_total_bytes: 同步期間需要傳輸的總字節數。當大小未知時(例如,使用 repl-diskless-sync 配置指令時),此值可能為 0。

  • master_sync_read_bytes: 已經傳輸的字節數。

  • master_sync_left_bytes: 同步完成前剩餘的字節數(當 master_sync_total_bytes 為 0 時,此值可能為負數)。

  • master_sync_perc: 已傳輸字節(master_sync_read_bytes)相對於總數(master_sync_total_bytes)的百分比,或當 master_sync_total_bytes 為 0 時使用 loading_rdb_used_mem 的近似值。

  • connected_slaves: 已連接的副本數量。

  • min_slaves_good_slaves: 當前被認為對複製有利的副本數量。

  • current_eviction_exceeded_time: 自 used_memory 上次超過 maxmemory 以來的時間(以毫秒為單位)。

  • current_active_defrag_time: 自內存碎片化上次超過其限制以來的時間(以毫秒為單位)。

  • master_last_io_seconds_ago: 自上次與主伺服器交互以來的秒數。

  • master_sync_last_io_seconds_ago: 自上次 SYNC 操作期間的傳輸 I/O 以來的秒數。

  • master_link_down_since_seconds: 自主連接中斷以來的秒數。

  • total_eviction_exceeded_time: 自伺服器啟動以來,used_memory 超過 maxmemory 的總時間(以毫秒為單位)。

  • rdb_changes_since_last_save: 自上次轉儲以來記錄的更改數量。

  • total_connections_received: 自伺服器啟動以來接受的連接總數。

  • total_commands_processed: 伺服器處理的命令總數。

  • total_net_input_bytes: 從網絡讀取的總字節數。

  • total_net_output_bytes: 寫入網絡的總字節數。

  • total_net_repl_input_bytes: 用於複製目的從網絡讀取的總字節數。

  • total_net_repl_output_bytes: 用於複製目的寫入網絡的總字節數。

  • rejected_connections: 因達到 maxclients 限制而被拒絕的連接數量。

  • expired_keys: 鍵過期事件的總數。

  • evicted_keys: 由於 maxmemory 限制而被驅逐的鍵數量。

  • keyspace_hits: 主字典中鍵查找成功的次數。

  • keyspace_misses: 主字典中鍵查找失敗的次數。

  • used_cpu_sys: Valkey 消耗的系統 CPU 時間(以秒為單位),包括所有線程(主線程和後台)的使用。

  • used_cpu_user: Valkey 消耗的用戶 CPU 時間(以秒為單位),包括所有線程的使用。

  • used_cpu_sys_children: 後台進程消耗的系統 CPU 時間(以秒為單位)。

  • used_cpu_user_children: 後台進程消耗的用戶 CPU 時間(以秒為單位)。

  • used_cpu_sys_main_thread: Valkey 伺服器主線程消耗的系統 CPU 時間。

  • used_cpu_user_main_thread: Valkey 伺服器主線程消耗的用戶 CPU 時間。

  • unexpected_error_replies: 意外錯誤回覆的數量,通常在 AOF 加載或複製錯誤期間出現。

  • total_error_replies: 發出的錯誤回覆總數。此值包括命令執行前的錯誤(拒絕的命令)和命令執行期間發生的錯誤(失敗的命令)。

  • total_reads_processed: 處理的讀取事件總數。

  • total_writes_processed: 處理的寫入事件總數。

  • io_threaded_reads_processed: 主線程和 I/O 線程處理的讀取事件數量。

  • io_threaded_writes_processed: 主線程和 I/O 線程處理的寫入事件數量。

  • dump_payload_sanitizations: 對轉儲有效負載進行的深度完整性驗證總數(如 sanitize-dump-payload 中配置)。

  • total_forks: 自伺服器啟動以來的 fork 操作總數。

  • total_active_defrag_time: 內存碎片化超過設定限制的總時間(以毫秒為單位)。

  • aof_rewrites: 自啟動以來執行的 AOF 重寫操作數量。

  • rdb_saves: 自啟動以來執行的 RDB 快照數量。