当前位置: 首页 > 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环境搭建节点安装
  • #Java异常处理
  • 【Linux系统编程】快速查找errno错误码信息
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • leetcode讲解--894. All Possible Full Binary Trees
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Linux中的硬链接与软链接
  • MySQL用户中的%到底包不包括localhost?
  • Python爬虫--- 1.3 BS4库的解析器
  • Ruby 2.x 源代码分析:扩展 概述
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • windows下mongoDB的环境配置
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 闭包,sync使用细节
  • 分享几个不错的工具
  • 计算机常识 - 收藏集 - 掘金
  • 简单实现一个textarea自适应高度
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 线上 python http server profile 实践
  • 智能合约Solidity教程-事件和日志(一)
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 扩展资源服务器解决oauth2 性能瓶颈
  • #AngularJS#$sce.trustAsResourceUrl
  • #define与typedef区别
  • #etcd#安装时出错
  • (003)SlickEdit Unity的补全
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (windows2012共享文件夹和防火墙设置
  • (备忘)Java Map 遍历
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (论文阅读11/100)Fast R-CNN
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1