MyException - 我的异常网
当前位置:我的异常网» 开源软件 » node-exporter常用指标含意

node-exporter常用指标含意

www.MyException.Cn  网友分享于:2013-10-08  浏览:0次
node-exporter常用指标含义

https://www.gitbook.com/book/songjiayang/prometheus/details (Prometheus 实战) 

https://github.com/1046102779/prometheus (Prometheus 非官方中文手册)

http://www.bubuko.com/infodetail-2004088.html (基于prometheus监控k8s集群)

http://www.cnblogs.com/sfnz/p/6566951.html (安装prometheus+grafana监控mysql redis kubernetes等,非docker安装)

https://github.com/kayrus/prometheus-kubernetes (prometheus-kubernetes) 

 

https://github.com/prometheus/node_exporter (prometheus/node_exporter)

http://dockone.io/article/2579 ( Prometheus在Kubernetes下的监控实践)

 

https://github.com/prometheus/prometheus/releases (prometheus 下载列表)

https://github.com/prometheus/node_exporter/releases/ (node_exporter下载列表)

 

 

 

前提概念:

1.时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列

2.     

=:选择正好相等的字符串标签

!=:选择不相等的字符串标签

=~:选择匹配正则表达式的标签(或子标签)

!=:选择不匹配正则表达式的标签(或子标签)

3.

s:seconds

m:minutes

h:hours

d:days

w:weeks

y:years

       注: [5m]指过去的5分钟内

4.操作符

bool

and

or

unless

on

without : without(label)在结果中移除括号内的标签和值

by : by(label)在结果中只保留括号内的标签和值

 

1.CPU空闲率

sum(irate(node_cpu{mode="idle", instance="node-10.129.11.71"}[1m])) * 100 / count_scalar(node_cpu{mode="user", instance="node-10.129.11.71"})

注释:

## instance:指的是label,具体根据实际配置,也可用正则匹配(待研究)

 

## mode : 指cpu模式,node-exporter已经抓取出来,可以在node-exporter:9100这个网址上查看

## 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)

 

2.CPU负载率

node_load1{instance="node-10.129.11.71"} / count by(job, instance)(count by(job, instance, cpu)(node_cpu{instance="node-10.129.11.71"}))

注释:

## node_load1 : 指1分钟内cpu平均负载,同样cpu_load5指5分钟内cpu平均负载,cpu_load15指15    

                           分钟内cpu平均负载

## count : 指聚合向量中的每个元素(即计数)

## 待添加后续注解

 

3.可用内存

node_memory_MemAvailable{instance="node-10.129.11.71"}

注释:

## node_memory_MemAvailable :Memory information field MemAvailable, node-exporter已经抓取出来,只需查询展示即可

 

4.空闲文件系统空间

sum(node_filesystem_free{fstype="aufs",instance="node-10.129.11.71"})

## node_filesystem_free: Filesystem free space in bytes

## fstype 有如下种类:

### aufs : 指联合文件系统,用来把原本分离的两个文件系统联合在一起

### cgroup : Cgroups(控制组)是Linux内核的一个功能,用来限制、统计和分离一个进程组的资源  

                   (CPU、内存、磁盘输入输出等)。

### tmpfs : tmpfs是一种虚拟内存文件系统,而不是块设备。

### overlay : 一个 overlay 文件系统包含两个文件系统,一个 upper 文件系统和一个 lower 文件系  

                      统,是一种新型的联合文件系统 

### proc、xfs、mqueue等等。

 

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

 

Swap free :

node_memory_SwapFree{instance="node-10.129.11.71"}

## node_memory_SwapTotal: Memory information field SwapTotal.

## swap :类似于可以把硬盘当内存用,那么这一部分内存一般就叫做swap

 

Swap Usage :

node_memory_SwapTotal{instance="node-10.129.11.71"} - node_memory_SwapFree{instance="node-10.129.11.71"}

## node_memory_SwapFree: Memory information field SwapFree

 

Swap I/O(in):

rate(node_vmstat_pswpin{instance="node-10.129.11.71"}[1m]) * 4096 or irate(node_vmstat_pswpin{instance="node-10.129.11.71"}[5m]) * 4096

 

Swap I/O(out):

rate(node_vmstat_pswpout{instance="node-10.129.11.71"}[1m]) * 4096 or irate(node_vmstat_pswpout{instance="node-10.129.11.71"}[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

 

6.CPU使用率

avg without (cpu) (irate(node_cpu{instance="node-10.129.11.71", mode!="idle"}[5m]))

## avg : 平均值

 

7.网路使用情况

上传速率:

     irate(node_network_transmit_bytes{device!="lo",instance="node-10.129.11.71"}[1m])

下载速率:

     irate(node_network_receive_bytes{device!="lo",instance="node-10.129.11.71"}[1m])

## eth0: ethernet的简写,一般用于以太网接口。

## wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。

## ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。

## tunl0:tunl0是隧道接口,封装数据的时候使用

## lo: local的简写,一般指本地环回接口。

 

8.内存使用率

已用内存:(总内存-空闲内存-缓存=已使用内存)

      node_memory_MemTotal{instance="node-10.129.11.71"} -  

      node_memory_MemFree{instance="node-10.129.11.71"} - 

      node_memory_Cached{instance="node-10.129.11.71"} - 

      node_memory_Buffers{instance="node-10.129.11.71"} - 

      node_memory_Slab{instance="node-10.129.11.71"}

 

Buffer缓存:

     node_memory_Buffers{instance="node-10.129.11.71"}

Cached缓存:

     node_memory_Cached{instance="node-10.129.11.71"}  

     + node_memory_Slab{instance="node-10.129.11.71"}

Free空闲内存:

     node_memory_MemFree{instance="node-10.129.11.71"}

 

可用内存占比:

     (node_memory_MemAvailable{instance="node-10.129.11.71"} / 

     node_memory_MemTotal{instance="node-10.129.11.71"}) * 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="node-10.129.11.71"}[5m]))

##node_disk_reads_completed: The total number of reads completed successfully

磁盘每秒写入(5分钟内)

sum by (instance)(irate(node_disk_writes_completed{instance="node-10.129.11.79"}[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="node-10.129.11.71"}[5m]))

##node_disk_io_time_ms: Total Milliseconds spent doing I/Os

磁盘每秒读写总数(5分钟内)

sum by (instance) (irate(node_disk_reads_completed{instance="node-10.129.11.71"}[5m])) + sum by (instance) (irate(node_disk_writes_completed{instance="node-10.129.11.71"}[5m]))

 

10.I/O Usage

磁盘读取总数(1分钟内)

sum(irate(node_disk_bytes_read{instance="node-10.129.11.71"}[1m]))

##node_disk_bytes_read : The total number of bytes read successfully(成功读取的字节数)

磁盘写入总数(1分钟内)

sum(irate(node_disk_bytes_written{instance="node-10.129.11.71"}[1m]))

##node_disk_bytes_written :The total number of bytes written successfully(成功写入的字节数)

使用I/O的毫秒数(1分钟内)

sum(irate(node_disk_io_time_ms{instance="node-10.129.11.71"}[1m]))

##node_disk_io_time_ms :Total Milliseconds spent doing I/Os.(使用IO的总毫秒数)

 

11.文件系统空闲空间

最低值:

min(node_filesystem_free{fstype=~"xfs|ext4",instance="node-10.129.11.71"} / node_filesystem_size{fstype=~"xfs|ext4",instance="node-10.129.11.71"})

最高值:

max(node_filesystem_free{fstype=~"xfs|ext4",instance="node-10.129.11.71"} / node_filesystem_size{fstype=~"xfs|ext4",instance="node-10.129.11.71"})

## ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linlli

     linux下的日志文件系统,ext4的文件系统容量达到1EB,而文件容量则达到16TB

## XFS是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系  

     统的最大块限制。对于一个32位linux系统,文件和文件系统的大小会被限制在16TB。

 

 

 

 

文章评论

聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
每天工作4小时的程序员
每天工作4小时的程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员应该关注的一些事儿
程序员应该关注的一些事儿
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
Java程序员必看电影
Java程序员必看电影
一个程序员的时间管理
一个程序员的时间管理
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
我的丈夫是个程序员
我的丈夫是个程序员
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
编程语言是女人
编程语言是女人
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员和编码员之间的区别
程序员和编码员之间的区别
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
老程序员的下场
老程序员的下场
程序员都该阅读的书
程序员都该阅读的书
如何成为一名黑客
如何成为一名黑客
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
 程序员的样子
程序员的样子
我是如何打败拖延症的
我是如何打败拖延症的
总结2014中国互联网十大段子
总结2014中国互联网十大段子
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
10个调试和排错的小建议
10个调试和排错的小建议
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员的鄙视链
程序员的鄙视链
鲜为人知的编程真相
鲜为人知的编程真相
代码女神横空出世
代码女神横空出世
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
漫画:程序员的工作
漫画:程序员的工作
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有