前提:在各节点主机上安装好node_exporter后,配置Prometheus的抓取配置,prometheus能收集到node_exporter暴露的指标
PS:在Prometheus Graph 页输入相关指标查询时,输入框下有指标补全提示,右侧有指标解释
以下是node_exporter的常用查询表达式:
系统资源与时间
1)获取资源信息
node_uname_info{job="node_exporter"}
2)系统运行时间
sum(time() - node_boot_time_seconds{job="node_exporter"})by(instance)
指标注释:
node_boot_time_seconds #系统启动时间
time() #系统当前时间
磁盘使用情况
1)"/"磁盘使用率(文件系统类型为 ext.?或 xfs的)
(node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"} - node_filesystem_free_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}) / node_filesystem_size_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}
2)"/"磁盘大小
node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}
3)"/"磁盘剩余空间
node_filesystem_free_bytes{fstype="ext4", job="node_exporter",mountpoint="/"}
4)磁盘每秒读取(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))
5)磁盘每秒写入(1h内)
sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
6)磁盘每秒读写总数(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))+sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
指标注释:
node_disk_writes_completed_total #成功写操作的总次数
node_disk_reads_completed_total #成功读操作的总次数
node_filesystem_size_bytes #文件系统大小
node_filesystem_free_bytes #文件系统空闲空间
内存使用情况
1) 空闲内存占比
node_memory_MemFree_bytes{job="node_exporter",instance=~"$host"}/ node_memory_MemTotal_bytes{job="node_exporter",instance=~"$host"}
2) 内存使用率
(1- (node_memory_Buffers_bytes{job="node_exporter"} + node_memory_Cached_bytes{job="node_exporter"} + node_memory_MemFree_bytes{job="node_exporter"}) / node_memory_MemTotal_bytes{job="node_exporter"})
3) 缓冲内存
node_memory_Buffers_bytes{job="node_exporter"}
4) 缓存内存
node_memory_Cached_bytes{job="node_exporter"}
5) 空闲内存
node_memory_MemFree_bytes{job="node_exporter"}
6) 交换内存
node_memory_SwapFree_bytes{job="node_exporter"}
7) 已用内存
node_memory_MemTotal_bytes{job="node_exporter"}-(node_memory_Buffers_bytes{job="node_exporter"} + node_memory_Cached_bytes{job="node_exporter"} + node_memory_MemFree_bytes{job="node_exporter"})
网络速率
1)上传速率:
rate(node_network_transmit_bytes_total{job="node_exporter"}[5m])
2)下载速率:
rate(node_network_receive_bytes_total{job="node_exporter"}[5m])
3)TCP连接数:
sum(time() - node_boot_time_seconds{job="node_exporter"})by(instance)
CPU使用情况
1) cpu负载情况
node_load1{job="node_exporter"}
node_load5{job="node_exporter"}
node_load15{job="node_exporter"}
2) cpu使用率:
(1 - sum(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) by (instance) / sum(rate(node_cpu_seconds_total{job="node_exporter"}[1m])) by (instance) )
3) cpu 空闲模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
4) cpu user模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="user"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
5) cpu system模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="system"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
6) nice 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="nice"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
7) iowait 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="iowait"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
8) cpu 核数
count(node_cpu_seconds_total{job="node_exporter",mode='system'}) by (instance)