Valkey: Prometheus

Prometheus 指标

👋 欢迎来到Stackhero文档!

Stackhero提供现成的Valkey云解决方案,具有众多优势,包括:

  • 包含Redis Commander web UI
  • 无限的消息大小和传输。
  • 只需点击即可轻松更新
  • 专用私有VM提供的最佳性能和强大安全性

节省时间简化生活:只需5分钟即可试用Stackhero的Valkey云托管解决方案!

Stackhero 提供了为每个服务检索 Prometheus 格式的指标 的能力。这些指标在返回给 Prometheus 时使用 valkey_ 前缀,使其易于识别并与您的监控工具集成。

以下是每个可用的 Stackhero for Valkey 指标的详细概述。请注意,每个指标在返回给 Prometheus 时都带有 valkey_ 前缀。

请注意,所有这些指标在返回给您的 Prometheus 时都以 "valkey_" 为前缀。

  • shutdown_in_milliseconds: 剩余的最大时间(以毫秒为单位),用于副本在关闭序列完成之前赶上复制。此字段仅在关闭过程中存在。

  • connected_clients: 客户端连接数(不包括来自副本的连接)。

  • cluster_connections: 集群总线使用的套接字数量的近似值。

  • 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 目的打开的套接字数量。

  • 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: 链接状态(up 或 down)。

  • 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 快照数量。