博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix3.2监控linux磁盘IO
阅读量:6507 次
发布时间:2019-06-24

本文共 3076 字,大约阅读时间需要 10 分钟。

我这里主要是通过分析/proc/diskstats文件,来对IO的性能进行监控。
客户端配置
1、编辑zabbix配置文件,新添加一个配置文件userparameter_disk.conf
vi /etc/zabbix/zabbix_agentd.d/userparameter_disk.conf
UnsafeUserParameters=1 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}' UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
参数解释:
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}'磁盘I/O当前进度
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'磁盘I/O花费的毫秒数
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-agentd.conf的Include路径(yum装的agent默认开启此项)
cat /etc/zabbix/zabbix_agentd.conf | grep Include=
Include=/etc/zabbix/zabbix_agentd.d/*.conf
3、重启zabbix-agent
/etc/init.d/zabbix-agent restart
服务端配置
1、服务端测试,如果上述配置正确的话会返回一个值
zabbix_get -s 目标服务器IP -p 10050 -k custom.vfs.dev.write.ops[sda]
2、zabbix监控项配置
我这里配置了磁盘读扇区次数和磁盘写扇区次数,以及cpu等待磁盘io操作的时间,也就是top命令中的wa参数
名称:CPU $2 time
键值:system.cpu.util[,iowait]
信息类型:浮点数
单位:%
名称:Disk:$1:Read:Bytes/sec磁盘读扇区次数
键值:custom.vfs.dev.read.sectors[sda]
单位:B/sec
使用自定义倍数:4096
存储值:差量(每秒速率)
名称:Disk:$1:Write:Bytes/sec磁盘写扇区次数
键值:custom.vfs.dev.write.sectors[sda]
单位:B/sec
使用自定义倍数:4096
存储值:差量(每秒速率)
PS:以下几项根据情况自行设置
名称:Disk:$1:Read:ms磁盘读花费的毫秒数
键值:custom.vfs.dev.read.ms[sda]
单位:ms
存储值:差量(每秒速率)
名称:Disk:$1:Write:ms磁盘写花费的毫秒数
键值:custom.vfs.dev.write.ms[sda]
单位:ms
存储值:差量(每秒速率)
名称:Disk:$1:Read:ops per second磁盘完成读的次数
键值:custom.vfs.dev.read.ops[sda]
单位:ops/second
存储值:差量(每秒速率)
名称:Disk:$1:Write:ops per second磁盘完成写的次数
键值:custom.vfs.dev.write.ops[sda]
单位:ops/second
存储值:差量(每秒速率)
3、设置图形
PS:关于自定义倍数的说明,网上文章写的都是512,如果自定义倍数用了512,那么这个值应该和iotop差不多。
但是正常我们用hdparm给硬盘测读取的时候数值会很高,这正是因为单位换算的问题,所以如果想更直观的查看IO,可以在自定义倍数填写512*8,也就是4096。(我个人是这样理解的,如果你有不同观点,可以给我留言)

转载地址:http://rizfo.baihongyu.com/

你可能感兴趣的文章
APUE读书笔记-05标准输入输出库(7)
查看>>
23 第一周作业
查看>>
DNS解析偶尔延迟
查看>>
iOS打电话,发短信,发邮件,打开网址
查看>>
06-验证码-基本功能实现
查看>>
Java数据结构与算法(六) 希尔排序
查看>>
canvas学习笔记
查看>>
IntelliJ Idea下Go项目开启Debug调试
查看>>
elasticsearch安装步骤
查看>>
PHP获取Cookie模拟登录CURL(转)
查看>>
PHP-权限控制类(转)
查看>>
CSS3秘笈第三版涵盖HTML5学习笔记9~12章
查看>>
bzoj1044木棍分割
查看>>
leetcode-136-Single Number
查看>>
微信小程序笔记<五> 页面管理及生命周期(route)——getCurrentPages()
查看>>
http服务器小项目
查看>>
JS案例:Jq中的fadeOut和fadeIn实现简单轮播(没完善,简单实现)
查看>>
一些数学上的名词及操作
查看>>
C# DataGridVie利用model特性动态加载列
查看>>
IPv6 地址分类
查看>>