BenjaminYang In solitude, where we are least alone

Centos7下zabbix部署(三)自定义监控项

引言

  在前面的博客中我们介绍了zabbix自带的模板,并且完成了我们的一些比较常用的监控,现在我们如果想要监控我们磁盘的IO,这时候zabbix并没有给我们提供这么一个模板,所以我们需要自己来创建一个模板来完成磁盘IO的监控。

  1. 添加userparameter_io.conf配置文件

   在/etc/zabbix/zabbix_agentd.d下添加userparameter_io.conf, 文件内容如下:  

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'                    //磁盘读的次数  
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'                     //磁盘读的毫秒数  
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'                   //磁盘写的次数  
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'                  //磁盘写的毫秒数  
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'              
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'                       //花费在IO操作上的毫秒数  
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'             //读扇区的次数(一个扇区的等于512B)  
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'          //写扇区的次数(一个扇区的等于512B)  

  2、重启zabbix-agent服务

   systemctl restart zabbix-agent

  3、测试zabbix-server主动获取数据

  [root@zabbix-server ~]# zabbix_get -s 10.0.0.44 -p 10050 -k custom.vfs.dev.write.ops[sda]
  bash: zabbix_get: command not found...

#如果出现这样的情况
[root@zabbix-server ~]# yum install zabbix-get -y

  [root@zabbix-server ~]# zabbix_get -s 10.0.0.44 -p 10050 -k custom.vfs.dev.write.ops[sda]
  75112

  [root@zabbix-server ~]# zabbix_get -s 10.0.0.45 -p 10050 -k custom.vfs.dev.write.ops[sda]
  3947

 

  4、配置zabbix-server模板

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

  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

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

                  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 然后点击后面的图形—》创建图形

 

 

 

posted @ 2018-03-18 00:57  benjamin杨  阅读(1120)  评论(0编辑  收藏  举报