Redis®*: Prometheus

Prometheus 指標

👋 歡迎來到 Stackhero 文件!

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

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

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

使用 Stackhero,您可以輕鬆檢索每個服務的 Prometheus 格式指標。本指南提供每個可用的 Stackhero for Redis 指標的詳細說明。請注意,所有指標名稱在返回 Prometheus 時都會加上 redis_ 前綴。

  • shutdown_in_milliseconds: 剩餘的最大時間,讓副本在完成關閉序列之前趕上複製。此欄位僅在關閉期間存在。

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

  • cluster_connections: 集群總線使用的 sockets 數量的估算值。

  • 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: Redis 使用其分配器(標準 libc、jemalloc 或其他分配器如 tcmalloc)分配的總字節數。

  • used_memory_rss: 作業系統看到的 Redis 分配的字節數(即常駐集大小)。

  • used_memory_peak: Redis 消耗的峰值記憶體。

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

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

  • used_memory_startup: Redis 啟動時消耗的初始記憶體量(以字節為單位)。

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

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

  • total_system_memory: Redis 主機擁有的總記憶體量。

  • 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: 當 activedefrag 啟用時,這表示是否當前正在進行碎片整理,以及它打算使用的 CPU 百分比。

  • lazyfree_pending_objects: 等待釋放的對象數量(由於調用 UNLINK,或使用 ASYNC 選項的 FLUSHDB 和 FLUSHALL)。

  • lazyfreed_objects: 已經被延遲釋放的對象數量。

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

  • async_loading: 當前異步加載複製數據集,同時提供舊數據。這意味著啟用了 repl-diskless-load 並設置為 swapdb。

  • current_cow_peak: 子進程運行時寫時複製記憶體的峰值大小(以字節為單位)。

  • current_cow_size: 子進程運行時寫時複製記憶體的大小(以字節為單位)。

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

  • current_fork_perc: 當前 fork 過程的進度百分比。對於 AOF 和 RDB forks,這是 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 保存的基於紀元的時間戳。

  • 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: 加載操作開始的基於紀元的時間戳。

  • 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/sec 為單位)。

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

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

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

  • 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 目的的打開 sockets 數量。

  • 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: Redis 伺服器的複製 ID。

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

  • 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: Redis 伺服器消耗的系統 CPU,這是伺服器進程所有線程(主線程和後台線程)消耗的系統 CPU 的總和。

  • used_cpu_user: Redis 伺服器消耗的用戶 CPU,這是伺服器進程所有線程(主線程和後台線程)消耗的用戶 CPU 的總和。

  • used_cpu_sys_children: 後台進程消耗的系統 CPU。

  • used_cpu_user_children: 後台進程消耗的用戶 CPU。

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

  • used_cpu_user_main_thread: Redis 伺服器主線程消耗的用戶 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 快照次數。