node-exporter常用指标含义

node-exporter常用指标含义

2023年7月3日发(作者:)

node-exporter常⽤指标含义 (Prometheus 实战)

(Prometheus ⾮官⽅中⽂⼿册) (基于prometheus监控k8s集群) (安装prometheus+grafana监控mysql redis kubernetes等,⾮docker安装) (prometheus-kubernetes)

(prometheus/node_exporter) ( Prometheus在Kubernetes下的监控实践)

(prometheus 下载列表) (node_exporter下载列表)

前提概念:1.时间序列是指将同⼀统计指标的数值按其发⽣的时间先后顺序排列⽽成的数列2.

=:选择正好相等的字符串标签!=:选择不相等的字符串标签=~:选择匹配正则表达式的标签(或⼦标签)!~:选择不匹配正则表达式的标签(或⼦标签)3.s:secondsm:minutesh:hoursd:daysw:weeksy:years 注: [5m]指过去的5分钟内4.操作符boolandorunlessonwithout : without(label)在结果中移除括号内的标签和值by : by(label)在结果中只保留括号内的标签和值

空闲率sum(irate(node_cpu{mode="idle", instance="134node"}[1m])) * 100 / count_scalar(node_cpu{mode="user",instance="134node"})注释:## instance:指的是label,具体根据实际配置,也可⽤正则匹配## mode : 指cpu模式,node-exporter已经抓取出来,可以在node-exporter部署ip:9100这个⽹址上查看 例如:172.17.123.134:9100/metrics## sum()函数: 指将括号内的指标值求和## irate()函数: 指计算范围向量中时间序列的每秒钟的瞬时(per-second)速度(calculates the

per-second instant rate of increase of the time series in the range vector)## count_scalar()函数 : 指将时间序列向量中的元素个数作为标量返回(returns the number of

elements in a time series vector as a scalar)

负载率node_load1{instance="134node"} / count by(job, instance)(count by(job, instance, cpu)(node_cpu{instance="134node"}))注释:## node_load1 : 指1分钟内cpu平均负载,同样cpu_load5指5分钟内cpu平均负载,cpu_load15指15

分钟内cpu平均负载## count : 指聚合向量中的每个元素(即计数)## 待添加后续注解

3.可⽤内存node_memory_MemAvailable{instance="88node"}注释:## node_memory_MemAvailable :Memory information field MemAvailable, node-exporter已经抓取出来,只需查询展⽰即可; 注意:该指标针对不同的系统是采集不同的,CentOS6.X 上就采集不到这个指标;CentOS7上可以;

4.空闲⽂件系统空间sum(node_filesystem_free{fstype="xfs",instance="88node"}) sum(node_filesystem_free{fstype="ext4",instance="134node"})## node_filesystem_free: Filesystem free space in bytes## fstype 有如下种类:## aufs : 指联合⽂件系统,⽤来把原本分离的两个⽂件系统联合在⼀起## cgroup : Cgroups(控制组)是Linux内核的⼀个功能,⽤来限制、统计和分离⼀个进程组的资源

(CPU、内存、磁盘输⼊输出等)。## tmpfs : tmpfs是⼀种虚拟内存⽂件系统,⽽不是块设备。## overlay : ⼀个 overlay ⽂件系统包含两个⽂件系统,⼀个 upper ⽂件系统和⼀个 lower ⽂件系

统,是⼀种新型的联合⽂件系统

### proc、xfs、mqueue等等。

硬盘交换区:从硬盘到内存或从内存到硬盘,虚拟内存交换

Swap free :node_memory_SwapFree{instance="134node"}## node_memory_SwapTotal: Memory information field SwapTotal.## swap :类似于可以把硬盘当内存⽤,那么这⼀部分内存⼀般就叫做swap

Swap Usage :node_memory_SwapTotal{instance="134node"} - node_memory_SwapFree{instance="134node"}## node_memory_SwapFree: Memory information field SwapFree

Swap I/O(in):rate(node_vmstat_pswpin{instance="88node"}[1m]) * 4096 or irate(node_vmstat_pswpin{instance="88node"}[5m]) * 4096

Swap I/O(out):rate(node_vmstat_pswpout{instance="88node"}[1m]) * 4096 or irate(node_vmstat_pswpout{instance="88node"}[5m]) *4096

## vmstat :vmstat命令是最常见的Linux/Unix监控⼯具,可以展现给定时间间隔的服务器的状态值,

包括服务器的CPU使⽤率,内存使⽤,虚拟内存交换情况,IO读写情况。## pswpin/s:每秒从硬盘交换区传送进⼊内存的次数。## pswpout/s:每秒从内存传送到硬盘交换区的次数。## pswpin/s、 pswpout/s描述的是与硬盘交换区相关的交换活动。交换关系到系统的效率。交换区在 硬盘上对硬盘的读,写操作⽐内存读,写慢得多,因此,为了提⾼系统效率就应该设法减少交换。

通常的作法就是加⼤内存,使交换区中进⾏的交换活动为零,或接近为零。如果swpot/s的值⼤ 于 1,预⽰可能需要增加内存或减少缓冲区(减少缓冲区能够释放⼀部分⾃由内存空间)。

Swap free 率(百分百)(node_memory_SwapFree{instance=~"$server"} /node_memory_SwapTotal{instance=~"$server"}) * 100

使⽤率avg without (cpu) (irate(node_cpu{instance="88node", mode!="idle"}[5m]))## avg : 平均值

7.⽹路使⽤情况上传速率: irate(node_network_transmit_bytes{device!="lo",instance="88node"}[1m])下载速率: irate(node_network_receive_bytes{device!="lo",instance="88node"}[1m])## eth0: ethernet的简写,⼀般⽤于以太⽹接⼝。## wifi0:wifi是⽆线局域⽹,因此wifi0⼀般指⽆线⽹络接⼝。## ath0: Atheros的简写,⼀般指Atheros芯⽚所包含的⽆线⽹络接⼝。## tunl0:tunl0是隧道接⼝,封装数据的时候使⽤## lo: local的简写,⼀般指本地环回接⼝。

8.内存使⽤率已⽤内存:(总内存-空闲内存-缓存=已使⽤内存) node_memory_MemTotal{instance="88node"} -

node_memory_MemFree{instance="88node"} -

node_memory_Cached{instance="88node"} -

node_memory_Buffers{instance="88node"} -

node_memory_Slab{instance="88node"}

Buffer缓存: node_memory_Buffers{instance="88node"}Cached缓存: node_memory_Cached{instance="88node"} + node_memory_Slab{instance="88node"}Free空闲内存: node_memory_MemFree{instance="88node"}

可⽤内存占⽐: (node_memory_MemAvailable{instance="88node"} /

node_memory_MemTotal{instance="88node"}) * 100

## total:总计物理内存的⼤⼩。## Free:空闲内存有多少。## Shared:多个进程共享的内存总额。## Buffers:表⽰buffers cache的内存数量,⼀般对块设备的读写才需要缓冲## Cached:表⽰page cached的内存数量,⼀般作⽂件系统的cached,频繁访问的⽂件都会被

cached。如果cached值较⼤,就说明cached⽂件数较多。如果此时IO中的bi⽐较⼩,就

说明⽂件系统效率⽐较好## Slab:slab分配器不仅可以提供动态内存的管理功能,⽽且可以作为经常分配并释放的内存的缓存## MemAvailable: Free + Buffers + Cached - 不可回收的部分。不可回收部分包括:共享内存段,

tmpfs,ramfs等

9.磁盘读写(IOPs)磁盘每秒读取(5分钟内)sum by (instance) (irate(node_disk_reads_completed{instance="88node"}[5m]))##node_disk_reads_completed: The total number of reads completed successfully磁盘每秒写⼊(5分钟内)sum by (instance)(irate(node_disk_writes_completed{instance="88node"}[5m]))##node_disk_writes_completed :The total number of writes completed successfully.使⽤I/O的毫秒数(5分钟内)sum by (instance) (irate(node_disk_io_time_ms{instance="88node"}[5m]))##node_disk_io_time_ms: Total Milliseconds spent doing I/Os磁盘每秒读写总数(5分钟内)sum by (instance) (irate(node_disk_reads_completed{instance="88node"}[5m])) + sum by (instance)(irate(node_disk_writes_completed{instance="88node"}[5m]))

10.I/O Usage磁盘读取总数(1分钟内)sum(irate(node_disk_bytes_read{instance="88node"}[1m]))##node_disk_bytes_read : The total number of bytes read successfully(成功读取的字节数)磁盘写⼊总数(1分钟内)sum(irate(node_disk_bytes_written{instance="88node"}[1m]))##node_disk_bytes_written :The total number of bytes written successfully(成功写⼊的字节数)使⽤I/O的毫秒数(1分钟内)sum(irate(node_disk_io_time_ms{instance="88node"}[1m]))##node_disk_io_time_ms :Total Milliseconds spent doing I/Os.(使⽤IO的总毫秒数)

11.⽂件系统空闲空间最低值:min(node_filesystem_free{fstype=~"xfs|ext4",instance="88node"} /node_filesystem_size{fstype=~"xfs|ext4",instance="88node"})最⾼值:max(node_filesystem_free{fstype=~"xfs|ext4",instance="88node"} /node_filesystem_size{fstype=~"xfs|ext4",instance="88node"})## ext4是第四代扩展⽂件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linlli linux下的⽇志⽂件系统,ext4的⽂件系统容量达到1EB,⽽⽂件容量则达到16TB## XFS是⼀个64位⽂件系统,最⼤⽀持8EB减1字节的单个⽂件系统,实际部署时取决于宿主操作系

统的最⼤块限制。对于⼀个32位linux系统,⽂件和⽂件系统的⼤⼩会被限制在16TB。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688328366a120920.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信