天天看点

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

zabbix从入门到放弃—zabbix磁盘监控

zabbix大致就是监控以下几项内容了

内存、磁盘、网络、cpu负载

硬件、温度、风扇

软件服务

对于磁盘来说,zabbix默认的磁盘监控模板只有读写两项

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

1:监控原理

通过分析/proc/diskstats文件,来对IO的性能进行监控

[[email protected] ~]# cat /proc/diskstats | grep sdc | head -1

   8      32 sdc 937 0 14956 743 3138 301946 1199604 20230 0 1901 20877

   1       2  3  4  5   6   7    8     9     10     11  12  13  14

/proc/diskstats监控解释:

$1:主设备号

$2:次设备号

$3:设备名称

$4:disk.read.ops      读完成次数 ----- 读磁盘的次数,成功完成读的总次数。

$5:合并读完成次数, 第9个域:合并写完成次数。为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作。这个域使你知道这样的操作有多频繁。

$6:disk.read.sectors 读扇区的次数,成功读过的扇区总次数。

$7:disk.read.ms        读花费的毫秒数,这是所有读操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。

$8:disk.write.ops            写完成次数 ----写完成的次数,成功写完成的总次数。

$10:disk.write.sectors     写扇区次数 ---- 写扇区的次数,成功写扇区总次数。

$11:disk.write.ms    写操作花费的毫秒数  ---  写花费的毫秒数,这是所有写操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。

$12:disk.io.active            正在处理的输入/输出请求数 -- -I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小。

$13:disk.io.ms         输入/输出操作花费的毫秒数  ----花在I/O操作上的毫秒数,这个域会增长只要field 9不为0。

$14:输入/输出操作花费的加权毫秒数 -----  加权, 花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。

2:配置Key

添加userparameter_io.conf配置文件

[[email protected] zabbix_agentd.d]# pwd

/etc/zabbix/zabbix_agentd.d

UserParameter=disk.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
UserParameter=disk.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=disk.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=disk.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
UserParameter=disk.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=disk.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'
UserParameter=disk.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
UserParameter=disk.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
           

检测:

zabbix_get -s 客户端ip地址 -p 10050 -k disk.write.sectors[sdc1]

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

3:添加模板

原文模板是2.x的,随便装个2.4导入模板,升级成3.x即可将模板升级

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

升级完成,模板正常使用

导入至3.4环境中

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

模板正常使用,如果有其他磁盘增加,直接克隆该模板即可

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

或者自定义监控模板:最好使用3.0版本创建,3.4版本不支持数据信息倍数

 4、配置zabbix-server模板

 进入web界面—》配置—》模板—创建模板

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

 5、配置监控项

  进入到模板列表页面,找到我们刚刚创建的Templae io模板,点击后面监控项,然后点击创建监控项

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

配置第一个监控项

   Name:  Disk:$1:Read:Bytes/sec

   Key:  custom.vfs.dev.read.sectors[sda]

   Units: B/sec

   Store value: speed per second       //会进行差值计算

   Use custom multiplier     512      //会对值乘以512,因为这里是一个扇区,转换为字节为512B

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

第二监控项:和第一个一样的配置过程

                  Name:Disk:$1:Write:Bytes/sec

                  Key:          custom.vfs.dev.write.sectors[sda]

                  Units:        B/sec

                  Store value: speed per second

                  Use custom multiplier     512

  第三个监控项配置参数:

                 Name:Disk:$1:Read:ops per second

                  Key:          custom.vfs.dev.read.ops[sda]

                  Units:        ops/second

                  Store value: speed per second

  第四个监控项配置参数:

                 Name: Disk:$1:Write:ops per second

                  Key:          custom.vfs.dev.write.ops[sda]

                  Units:        ops/second

                  Store value: speed per second

 第五个监控项配置参数:

                 Name: Disk:$1:Read:ms

                  Key:         custom.vfs.dev.read.ms[sda]

                  Units:      ms

                  Store value: speed per second

 第六个监控项配置参数:

                 Name:Disk:$1:Write:ms

                  Key:         custom.vfs.dev.write.ms[sda]

                  Units:      ms

                  Store value: speed per second

 上面我们就完成了对IO的监控,但是我们也想和zabbix自带的那样的模板一样,可以看到监控以后的图形,当然这也是可以做到的,下面就介绍图形的添加。

 5、添加图形

   返回到模板的列表页面,找到我们创建的模板Template io 然后点击后面的图形—》创建图形

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

 点击添加—》选择我们配置的监控项

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

这样我们就完成了整个自定义模板的配置,我们现在就可以查看监控的数据了。

 我们就拿之前博客中监控的机器来做实验,但是我们之前这台机器用了zabbix自带的模板 Template os Linux ,现在我们自己自定义了一个模板,那么怎么办呢?zabbix设计的还是非常人性的。模板之间是继承关系的!

 我们回到给被监控的主机的哪一步,选择我们自定义的模板!

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

  这样我们就可以查看结果了 检测中—》图形

zabbix磁盘监控zabbix从入门到放弃—zabbix磁盘监控

参考文献:https://blog.csdn.net/hao134838/article/details/57406028

参考文献:https://www.linuxidc.com/Linux/2015-11/125208.htm