当前位置: 首页 > news >正文

zabbix3.2监控linux磁盘IO

我这里主要是通过分析/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。(我个人是这样理解的,如果你有不同观点,可以给我留言)

相关文章:

  • python 笔记 之 random 随机模块
  • 2019哪些是更靠谱的创业赛事活动平台?
  • javascript变量作用域
  • eclipse no java machine vitual was found
  • centos7.5
  • boost_tutorial
  • 快速搭建个人博客
  • 一文读懂ML中的解析解与数值解
  • java B2B2C Springcloud电子商务平台源码 -Feign之源码解析
  • 转: Genymotion使用及离线镜像的安装
  • 全面解析JavaScript的对象创建和继承
  • 数据库出现锁表情况
  • 正式推出市场的前兆?波士顿动力机器狗上演「徒手」拉卡车
  • 浅谈网络工程行业
  • IPFS环境搭建节点安装
  • [译]如何构建服务器端web组件,为何要构建?
  • 【RocksDB】TransactionDB源码分析
  • 3.7、@ResponseBody 和 @RestController
  • extjs4学习之配置
  • in typeof instanceof ===这些运算符有什么作用
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript设计模式与开发实践系列之策略模式
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python学习笔记 字符串拼接
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • 聊聊flink的TableFactory
  • 面试遇到的一些题
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信开源mars源码分析1—上层samples分析
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Hibernate主键生成策略及选择
  • Linux权限管理(week1_day5)--技术流ken
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 进程与线程(三)——进程/线程间通信
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​决定德拉瓦州地区版图的关键历史事件
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (07)Hive——窗口函数详解
  • (1) caustics\
  • (1)Nginx简介和安装教程
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (MATLAB)第五章-矩阵运算
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (三)c52学习之旅-点亮LED灯
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解