引言

在前面的博客中我们介绍了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 $ | head - | awk '{print $$4}'                    //磁盘读的次数
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$7}' //磁盘读的毫秒数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $ | head - | awk '{print $$8}' //磁盘写的次数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$11}' //磁盘写的毫秒数
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $ | head - | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$13}' //花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $ | head - | awk '{print $$6}' //读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $ | head - | 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:$:Read:Bytes/sec
Key: custom.vfs.dev.read.sectors[sda]
Units: B/sec
Store value: speed per second //会进行差值计算
Use custom multiplier //会对值乘以512,因为这里是一个扇区,转换为字节为512B

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

                  Name:Disk:$:Write:Bytes/sec
Key: custom.vfs.dev.write.sectors[sda]
Units: B/sec
Store value: speed per second
Use custom multiplier

第三个监控项配置参数:

                 Name:Disk:$:Read:ops per second
Key: custom.vfs.dev.read.ops[sda]
Units: ops/second
Store value: speed per second

第四个监控项配置参数:

                 Name: Disk:$:Write:ops per second
Key: custom.vfs.dev.write.ops[sda]
Units: ops/second
Store value: speed per second

第五个监控项配置参数:

                 Name: Disk:$:Read:ms
Key: custom.vfs.dev.read.ms[sda]
Units: ms
Store value: speed per second

第六个监控项配置参数:

                 Name:Disk:$:Write:ms
Key: custom.vfs.dev.write.ms[sda]
Units: ms
Store value: speed per second

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

5、添加图形

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

Centos7下zabbix部署(三)自定义监控项的更多相关文章

  1. Centos7下zabbix部署(四)定义报警媒介-邮件

    1.安装发送邮件工具mailx [root@zabbix-server ~]# yum install mailx -y 2.自定义使用163邮箱为默认发件人(避免被当作垃圾邮件) set from= ...

  2. Centos7下zabbix部署(五)定义报警媒介-微信

    1.注册微信 注册过程参考地址:https://www.cnblogs.com/hanyifeng/p/5368102.html 主要需要以下一些信息 CorpID :     wwxxxxxxxxx ...

  3. Zabbix添加SNMP自定义监控项OID出现“No Such Instance currently exists at this OID”

    原因:zabbix 是用snmpget来获取指定的OID数据,snmpwalk是遍历某个OID下的数据. 所以一定要用snmpget来验证某个OID是否正确. snmptranslate 获取的OID ...

  4. Docker下实战zabbix三部曲之三:自定义监控项

    通过上一章<Docker下实战zabbix三部曲之二:监控其他机器>的实战,我们了解了对机器的监控是通过在机器上安装zabbix agent来完成的,zabbix agent连接上zabb ...

  5. 分布式系统监视zabbix讲解六之自定义监控项--技术流ken

    宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...

  6. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  7. 分布式系统监视zabbix讲解六之自定义监控项

    概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在 ...

  8. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  9. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

随机推荐

  1. 1,Python常用库之一:Numpy

    Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库! Numpy比Python列表更具优势,其中一个优势便是速度.在对大型数组执行操作时,Numpy的速度比Python列表的速度 ...

  2. BZOJ 5004: 开锁魔法II

    比较显然 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; i ...

  3. 利用NSAttributedString实现图文混排

    UILabel 和 UITextView 都能添加 NSAttributedString 属性字符串,通过这一点,可以实现带有属性的文字和文字内包含图片的文本内容展示. 效果如下:   1-初始化可变 ...

  4. 跟着学!教你开发第一个Java程序

    今天我们的目标是开发人生中的第一个Java程序,虽然可能会很简单,但是这小小的一步却是跨入IT行业的一大步!下面我们来一起来仔细的了解开发的流程. 准备工作 1,作为一名准程序猿自备一台电脑那是必不可 ...

  5. javascript 数组的常用方法总结

    前言 主要讨论一下数组的方法,     1.splice和slice的区别     2.pop和push     3.shift和unshift     4.join     5.forEach(es ...

  6. 【APUE】Chapter9 Process Relationships

    这一章看的比较混乱,可能是因为例子少:再有就是,这一章就是一个铺垫的章节. 9.2 terminal logins 啥叫termnial? 我感觉书上的terminal指的更可能是一些物理设备(key ...

  7. 【java下午茶】12306的双人票

    明天下午就要和客户谈需求了,今天还在列车上假象着明天的情景,由于这是一个旅游的项目,所以想尽可能设计得人性化一些. 不过有件很不爽的事情就是和老公的位子是分开的,虽然我们订的是连坐号.就这个问题也是我 ...

  8. 洛谷P2678跳石头(提高)

    题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点. 在起点和终点之间,有 N 块岩石( ...

  9. Thread 线程池

    Thread 线程池: 当使用多个较短存活期的线程有利时,运用线程池技术可以发挥作用.运用这一技术时,不是为每个任务创建一个全新的线程,而可以从线程池中抽出线程,并分配给任务.当线程完成任务后,再把它 ...

  10. .Net MVC无限循环或无限递归

    错误往往是service的相互引用之类的. 好好排查