node-exporter常用监控指标

  1. CPU相关指标:
    • node_cpu_seconds_total{mode="idle"}:CPU空闲时间(秒)的总和。这是评估CPU使用率的重要指标之一。
    • node_cpu_seconds_total{mode="system"}node_cpu_seconds_total{mode="user"}等:分别表示CPU在内核态和用户态的运行时间。
  2. 内存相关指标:
    • node_memory_MemTotal_bytes:内存总量(以字节为单位)。
    • node_memory_MemFree_bytes:空闲内存大小(以字节为单位)。
    • node_memory_Buffers_bytesnode_memory_Cached_bytes:分别表示被内核用作缓冲和缓存的内存大小。
    • node_memory_SwapTotal_bytesnode_memory_SwapFree_bytes:分别表示交换空间的总大小和空闲大小。
  3. 磁盘相关指标:
    • node_filesystem_size_bytes:文件系统的大小(以字节为单位)。
    • node_filesystem_free_bytesnode_filesystem_avail_bytes:分别表示文件系统的空闲空间和非root用户可用的空间大小。
    • node_disk_io_nownode_disk_io_time_seconds_total等:与磁盘I/O操作相关的指标,如当前正在进行的I/O操作数以及花费在I/O操作上的总时间。
  4. 网络相关指标:
    • node_network_receive_bytes_totalnode_network_transmit_bytes_total:分别表示网络接口接收和发送的总字节数。这些指标对于评估网络流量和带宽使用情况非常重要。
  5. 系统负载相关指标:
    • node_load1node_load5node_load15:分别表示系统在过去1分钟、5分钟和15分钟的平均负载。这些指标有助于了解系统的整体忙碌程度和性能表现。

要获取完整的指标列表,可以访问 node-exporter 的 metrics 端点(通常是 /metrics)。

mysql-exporter常用监控指标:

  1. MySQL 全局状态指标:
    • mysql_global_status_uptime:MySQL 服务器的运行时间(以秒为单位)。
    • mysql_global_status_threads_connected:当前打开的连接数。
    • mysql_global_status_threads_running:当前正在运行的线程数。
    • mysql_global_status_queries:从服务器启动开始执行的查询总数。
    • mysql_global_status_questions:从服务器启动开始接收的客户端查询总数。
  2. MySQL 复制指标(如果配置了复制):
    • mysql_slave_status_slave_io_running:表示 IO 线程是否正在运行(1 为运行,0 为停止)。
    • mysql_slave_status_slave_sql_running:表示 SQL 线程是否正在运行(1 为运行,0 为停止)。
    • mysql_slave_status_seconds_behind_master:从服务器相对于主服务器的延迟时间(以秒为单位)。
  3. InnoDB 存储引擎指标:
    • mysql_global_status_innodb_buffer_pool_read_requests:InnoDB 缓冲池执行的逻辑读请求数。
    • mysql_global_status_innodb_buffer_pool_reads:不能满足 InnoDB 缓冲池而直接从磁盘读取的请求数。
    • mysql_global_status_innodb_row_lock_time_avg:平均行锁定时间(以毫秒为单位)。
    • mysql_global_status_innodb_row_lock_time_max:最大行锁定时间(以毫秒为单位)。
  4. 连接和资源使用指标:
    • mysql_global_variables_max_connections:MySQL 配置的最大连接数。
    • mysql_global_status_aborted_connects:尝试连接到 MySQL 服务器但失败的连接数。
    • mysql_global_status_connection_errors_total:由于各种原因导致的连接错误总数。
  5. 查询缓存指标(如果启用了查询缓存):
    • mysql_global_status_qcache_hits:查询缓存命中次数。
    • mysql_global_status_qcache_inserts:插入到查询缓存中的查询次数。
    • mysql_global_status_qcache_not_cached:由于查询类型或其他原因而无法缓存的查询次数。
  6. 其他常用指标:
    • mysql_exporter_last_scrape_duration_secondsmysql-exporter 上次抓取指标所花费的时间。
    • mysql_exporter_scrape_errors_totalmysql-exporter 在抓取过程中遇到的错误总数。

要获取完整的指标列表,可以访问 mysql-exporter 的 metrics 端点(通常是 /metrics)。此外,对于特定的监控需求,可能还需要结合 MySQL 的性能和配置进行进一步的定制和选择。

redis-exporter 常用监控指标

  1. Redis 连接相关指标:
    • redis_connected_clients:当前连接的 Redis 客户端数量。
    • redis_connected_slaves:当前连接的 Redis 从节点数量。
    • redis_blocked_clients:正在等待 Redis 的客户端数量(通常因为 BLPOP、BRPOP、BRPOPLPUSH 等命令阻塞)。
  2. Redis 性能相关指标:
    • redis_instantaneous_ops_per_sec:每秒执行的操作数,反映 Redis 的处理速度。
    • redis_latency_spike_duration_seconds:最近一次延迟峰值持续了多长时间(秒),这是检测性能问题的一个标志。
  3. 内存使用相关指标:
    • redis_mem_used_bytes:Redis 使用的内存大小(字节)。
    • redis_mem_fragmentation_ratio:内存碎片率,当该值远大于 1 时,表示存在较多的内存碎片。
    • redis_evicted_keys_total:由于 maxmemory 限制而被淘汰的 key 的总数量。
    • redis_expired_keys_total:已过期的 key 的总数量。
  4. 持久性相关指标:
    • redis_rdb_last_save_time_seconds:自从 Redis 服务器启动以来,最后一次 RDB 持久化的 UNIX 时间戳。
    • redis_rdb_changes_since_last_save:自从最后一次 RDB 持久化以来,数据库发生的改变次数。
    • redis_aof_current_size_bytes:当前 AOF 文件的大小(字节)。
    • redis_aof_last_rewrite_time_seconds:上一次 AOF 重写操作的耗时(秒)。
  5. 其他常用指标:
    • redis_uptime_in_seconds:Redis 自启动以来的运行时间(秒)。
    • redis_keyspace_hits_totalredis_keyspace_misses_total:键空间命中和未命中的总数,这些可以帮助了解缓存的效率。