Monitorin Valkey database
Collect and monitor the general performance Metrics of Valkey database. Support Valkey 7.0+.
Configuration parameter
| Parameter name | Parameter help description |
|---|---|
| Target Host | The IP, IPV6, or domain name of the monitored endpoint. Note ⚠️: Do not include protocol headers (eg: https://, http://). |
| Port | The HTTP port provided by Valkey, default value is 6379, sentinel node`s default value is 26379 |
| Timeout | Set the timeout time when SQL query does not respond to data, unit: ms, default: 3000ms |
| Username | Database connection user name, optional |
| Password | Database connection password, optional |
Collection Metric
Metric set:server
| Metric name | Metric unit | Metric help description |
|---|---|---|
| valkey_version | none | Version of the Valkey server |
| valkey_git_sha1 | none | Git SHA1 |
| valkey_git_dirty | none | Git dirty flag |
| valkey_build_id | none | The build id |
| valkey_mode | none | The server's mode ("standalone", "sentinel" or "cluster") |
| os | none | Operating system hosting the Valkey server |
| arch_bits | none | Architecture (32 or 64 bits) |
| multiplexing_api | none | Event loop mechanism used by Valkey |
| atomicvar_api | none | Atomicvar API used by Valkey |
| gcc_version | none | Version of the GCC compiler used to compile the Valkey server |
| process_id | none | PID of the server process |
| process_supervised | none | Supervised system ("upstart", "systemd", "unknown" or "no") |
| run_id | none | Random value identifying the Valkey server (to be used by Sentinel and Cluster) |
| tcp_port | none | TCP/IP listen port |
| server_time_usec | none | Epoch-based system time with microsecond precision |
| uptime_in_seconds | none | Number of seconds since Valkey server start |
| uptime_in_days | none | Same value expressed in days |
| hz | none | The server's current frequency setting |
| configured_hz | none | The server's configured frequency setting |
| lru_clock | none | Clock incrementing every minute, for LRU management |
| executable | none | The path to the server's executable |
| config_file | none | The path to the config file |
| io_threads_active | none | Flag indicating if I/O threads are active |
| shutdown_in_milliseconds | none | The maximum time remaining for replicas to catch up the replication before completing the shutdown sequence. This field is only present during shutdown. |
Metric set:clients
| Metric name | Metric unit | Metric help description |
|---|---|---|
| connected_clients | none | Number of client connections (excluding connections from replicas) |
| cluster_connections | none | An approximation of the number of sockets used by the cluster's bus |
| maxclients | none | The value of the maxclients configuration directive. This is the upper limit for the sum of connected_clients, connected_slaves and cluster_connections. |
| client_recent_max_input_buffer | byte | Biggest input buffer among current client connections |
| client_recent_max_output_buffer | byte | Biggest output buffer among current client connections |
| blocked_clients | none | Number of clients pending on a blocking call (BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BZPOPMIN, BZPOPMAX) |
| tracking_clients | none | Number of clients being tracked (CLIENT TRACKING) |
| clients_in_timeout_table | none | Number of clients in the clients timeout table |
Metric set:memory
| Metric name | Metric unit | Metric help description |
|---|---|---|
| used_memory | byte | Total number of bytes allocated by Valkey using its allocator (either standard libc, jemalloc, or an alternative allocator such as tcmalloc) |
| used_memory_human | GB/MB/KB | Human readable representation of previous value |
| used_memory_rss | byte | Number of bytes that Valkey allocated as seen by the operating system (a.k.a resident set size). This is the number reported by tools such as top(1) and ps(1) |
| used_memory_rss_human | GB/MB/KB | Human readable representation of previous value值 |
| used_memory_peak | byte | Peak memory consumed by Valkey (in bytes) |
| used_memory_peak_human | GB/MB/KB | Human readable representation of previous value |
| used_memory_peak_perc | none | The percentage of used_memory_peak out of used_memory |
| used_memory_overhead | byte | The sum in bytes of all overheads that the server allocated for managing its internal data structures |
| used_memory_startup | byte | Initial amount of memory consumed by Valkey at startup in bytes |
| used_memory_dataset | byte | The size in bytes of the dataset (used_memory_overhead subtracted from used_memory) |
| used_memory_dataset_perc | none | The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup) |
| allocator_allocated | byte | Total bytes allocated form the allocator, including internal-fragmentation. Normally the same as used_memory. |
| allocator_active | byte | Total bytes in the allocator active pages, this includes external-fragmentation. |
| allocator_resident | byte | Total bytes resident (RSS) in the allocator, this includes pages that can be released to the OS (by MEMORY PURGE, or just waiting). |
| total_system_memory | byte | The total amount of memory that the Valkey host has |
| total_system_memory_human | GB/MB/KB | Human readable representation of previous value |
| used_memory_lua | byte | Number of bytes used by the Lua engine for EVAL scripts. Deprecated in Valkey 7.0, renamed to used_memory_vm_eval |
| used_memory_lua_human | KB | Human readable representation of previous value. Deprecated in Valkey 7.0 |
| used_memory_scripts | byte | used_memory_scripts_eval + used_memory_functions (part of used_memory). Added in Valkey 7.0 |
| used_memory_scripts_human | GB/MB/KB | Human readable representation of previous value |
| number_of_cached_scripts | none | The number of EVAL scripts cached by the server. Added in Valkey 7.0 |
| maxmemory | byte | The value of the maxmemory configuration directive |
| maxmemory_human | GB/MB/KB | Human readable representation of previous value |
| maxmemory_policy | none | The value of the maxmemory-policy configuration directive |
| allocator_frag_ratio | none | Ratio between allocator_active and allocator_allocated. This is the true (external) fragmentation metric (not mem_fragmentation_ratio). |
| allocator_frag_bytes | byte | Delta between allocator_active and allocator_allocated. See note about mem_fragmentation_bytes. |
| allocator_rss_ratio | Ratio between allocator_resident and allocator_active. | |
| allocator_rss_bytes | byte | Delta between allocator_resident and allocator_active |
| rss_overhead_ratio | none | Ratio between used_memory_rss (the process RSS) and allocator_resident. This includes RSS overheads that are not allocator or heap related. |
| rss_overhead_bytes | byte | Delta between used_memory_rss (the process RSS) and allocator_resident |
| mem_fragmentation_ratio | none | Ratio between usedmemory_rss and used_memory. Note that this doesn't only includes fragmentation, but also other process overheads (see the allocator* metrics), and also overheads like code, shared libraries, stack, etc. |
| mem_fragmentation_bytes | byte | Delta between used_memory_rss and used_memory. Note that when the total fragmentation bytes is low (few megabytes), a high ratio (e.g. 1.5 and above) is not an indication of an issue. |
| mem_not_counted_for_evict | byte | Used memory that's not counted for key eviction. This is basically transient replica and AOF buffers. |
| mem_replication_backlog | byte | Memory used by replication backlog |
| mem_clients_slaves | none | Memory used by replica clients - Starting Valkey 7.0, replica buffers share memory with the replication backlog, so this field can show 0 when replicas don't trigger an increase of memory usage. |
| mem_clients_normal | none | Memory used by normal clients |
| mem_aof_buffer | none | Transient memory used for AOF and AOF rewrite buffers |
| mem_allocator | none | Memory allocator, chosen at compile time. |
| active_defrag_running | none | When activedefrag is enabled, this indicates whether defragmentation is currently active, and the CPU percentage it intends to utilize. |
| lazyfree_pending_objects | none | The number of objects waiting to be freed (as a result of calling UNLINK, or FLUSHDB and FLUSHALL with the ASYNC option) |
| lazyfreed_objects | none | The number of objects that have been lazy freed. |
Metric set:persistence
| Metric name | Metric unit | Metric help description |
|---|---|---|
| loading | none | Flag indicating if the load of a dump file is on-going |
| current_cow_size | byte | The size in bytes of copy-on-write memory while a child fork is running |
| current_cow_size_age | second | The age, in seconds, of the current_cow_size value. |
| current_fork_perc | none | The percentage of progress of the current fork process. For AOF and RDB forks it is the percentage of current_save_keys_processed out of |
| current_save_keys_processed | none | Number of keys processed by the current save operation |
| current_save_keys_total | none | Number of keys at the beginning of the current save operation |
| rdb_changes_since_last_save | none | Number of changes since the last dump |
| rdb_bgsave_in_progress | none | Flag indicating a RDB save is on-going |
| rdb_last_save_time | second | Epoch-based timestamp of last successful RDB save |
| rdb_last_bgsave_status | none | Status of the last RDB save operation |
| rdb_last_bgsave_time_sec | second | Duration of the last RDB save operation in seconds |
| rdb_current_bgsave_time_sec | none | Duration of the on-going RDB save operation if any |
| rdb_last_cow_size | none | The size in bytes of copy-on-write memory during the last RDB save operation |
| aof_enabled | none | Flag indicating AOF logging is activated |
| aof_rewrite_in_progress | none | Flag indicating a AOF rewrite operation is on-going |
| aof_rewrite_scheduled | none | Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete. |
| aof_last_rewrite_time_sec | none | Duration of the last AOF rewrite operation in seconds |
| aof_current_rewrite_time_sec | second | Duration of the on-going AOF rewrite operation if any |
| aof_last_bgrewrite_status | none | Status of the last AOF rewrite operation |
| aof_last_write_status | none | Status of the last write operation to the AOF |
| aof_last_cow_size | none | The size in bytes of copy-on-write memory during the last AOF rewrite operation |
| module_fork_in_progress | none | Flag indicating a module fork is on-going |
| module_fork_last_cow_size | none | The size in bytes of copy-on-write memory during the last module fork operation |
Metric set:stats
| Metric name | Metric unit | Metric help description |
|---|---|---|
| total_connections_received | none | Total number of connections accepted by the server |
| total_commands_processed | none | Total number of commands processed by the server |
| instantaneous_ops_per_sec | none | Number of commands processed per second |
| total_net_input_bytes | byte | The total number of bytes read from the network |
| total_net_output_bytes | byte | The total number of bytes written to the network |
| instantaneous_input_kbps | KB/S | The network's read rate per second in KB/sec |
| instantaneous_output_kbps | KB/S | The network's write rate per second in KB/sec |
| rejected_connections | none | Number of connections rejected because of maxclients limit |
| sync_full | none | The number of full resyncs with replicas |
| sync_partial_ok | none | The number of accepted partial resync requests |
| sync_partial_err | none | The number of denied partial resync requests |
| expired_keys | none | Total number of key expiration events |
| expired_stale_perc | none | The percentage of keys probably expired |
| expired_time_cap_reached_count | none | The count of times that active expiry cycles have stopped early |
| expire_cycle_cpu_milliseconds | none | The cumulative amount of time spent on active expiry cycles |
| evicted_keys | none | Number of evicted keys due to maxmemory limit |
| keyspace_hits | none | Number of successful lookup of keys in the main dictionary |
| keyspace_misses | none | Number of failed lookup of keys in the main dictionary |
| pubsub_channels | none | Global number of pub/sub channels with client subscriptions |
| pubsub_patterns | none | Global number of pub/sub pattern with client subscriptions |
| latest_fork_usec | none | Duration of the latest fork operation in microseconds |
| total_forks | none | Total number of fork operations since the server start |
| migrate_cached_sockets | none | The number of sockets open for MIGRATE purposes |
| slave_expires_tracked_keys | none | The number of keys tracked for expiry purposes (applicable only to writable replicas) |
| active_defrag_hits | none | Number of value reallocations performed by active the defragmentation process |
| active_defrag_misses | none | Number of aborted value reallocations started by the active defragmentation process |
| active_defrag_key_hits | none | Number of keys that were actively defragmented |
| active_defrag_key_misses | none | Number of keys that were skipped by the active defragmentation process |
| tracking_total_keys | none | Number of keys being tracked by the server |
| tracking_total_items | none | Number of items, that is the sum of clients number for each key, that are being tracked |
| tracking_total_prefixes | none | Number of tracked prefixes in server's prefix table (only applicable for broadcast mode) |
| unexpected_error_replies | none | Number of unexpected error replies, that are types of errors from an AOF load or replication |
| total_error_replies | none | Total number of issued error replies, that is the sum of rejected commands (errors prior command execution) and failed commands (errors within the command execution) |
| dump_payload_sanitizations | none | Total number of dump payload deep integrity validations (see sanitize-dump-payload config). |
| total_reads_processed | none | Total number of read events processed |
| total_writes_processed | none | Total number of write events processed |
| io_threaded_reads_processed | none | Number of read events processed by the main and I/O threads |
| io_threaded_writes_processed | none | Number of write events processed by the main and I/O threads |
Metric set:replication
| Metric name | Metric unit | Metric help description |
|---|---|---|
| role | none | Value is "master" if the instance is replica of no one, or "slave" if the instance is a replica of some master instance. Note that a replica can be master of another replica (chained replication). |
| connected_slaves | none | Number of connected replicas |
| master_failover_state | none | The state of an ongoing failover, if any. |
| master_replid | none | The replication ID of the Valkey server. |
| master_replid2 | none | The secondary replication ID, used for PSYNC after a failover. |
| master_repl_offset | none | The server's current replication offset |
| second_repl_offset | none | The offset up to which replication IDs are accepted |
| repl_backlog_active | none | Flag indicating replication backlog is active |
| repl_backlog_size | byte | Total size in bytes of the replication backlog buffer |
| repl_backlog_first_byte_offset | none | The master offset of the replication backlog buffer |
| repl_backlog_histlen | none | Size in bytes of the data in the replication backlog buffer |
Metric set:cpu
| Metric name | Metric unit | Metric help description |
|---|---|---|
| used_cpu_sys | none | System CPU consumed by the Valkey server, which is the sum of system CPU consumed by all threads of the server process (main thread and background threads) |
| used_cpu_user | none | User CPU consumed by the Valkey server, which is the sum of user CPU consumed by all threads of the server process (main thread and background threads) |
| used_cpu_sys_children | none | System CPU consumed by the background processes |
| used_cpu_user_children | none | User CPU consumed by the background processes |
| used_cpu_sys_main_thread | none | System CPU consumed by the Valkey server main thread |
| used_cpu_user_main_thread | none | User CPU consumed by the Valkey server main thread |
Metric set:errorstats
| Metric name | Metric unit | Metric help description |
|---|---|---|
| errorstat_ERR | none | ERR count |
| errorstat_MISCONF | none | MISCONF count |
Metric set:cluster
| Metric name | Metric unit | Metric help description |
|---|---|---|
| cluster_enabled | none | Indicate Valkey cluster is enabled |
Metric set:commandstats
| Metric name | Metric unit | Metric help description |
|---|---|---|
| cmdstat_set | none | set command stat |
| cmdstat_get | none | get command stat |
| cmdstat_setnx | none | setnx command stat |
| cmdstat_hset | none | hset command stat |
| cmdstat_hget | none | hget command stat |
| cmdstat_lpush | none | lpush command stat |
| cmdstat_rpush | none | rpush command stat |
| cmdstat_lpop | none | lpop command stat |
| cmdstat_rpop | none | rpop command stat |
| cmdstat_llen | none | llen command stat |