Zabbix 监控磁盘IO状态

一、监控原理

基本原理:通过分析/proc/diskstats文件,来对IO的性能进行监控。解释如下:

+++++++++++++++++++++++++++对/proc/diskstats的解释++++++++++++++++++++++++++

# cat /proc/diskstats | grep sda | head -1

8 0 sda 73840 10263 3178156 91219 1110085 4192562 42423152 1275861 0 447798 1366379

第一至第三个域,分别是主设备号,次设备号,设备名称

第4个域:读完成次数 ----- 读磁盘的次数,成功完成读的总次数。

第5个域:合并读完成次数, 第9个域:合并写完成次数。为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作。这个域使你知道这样的操作有多频繁。

第6个域:读扇区的次数,成功读过的扇区总次数。

第7个域:读花费的毫秒数,这是所有读操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。

第8个域:写完成次数 ----写完成的次数,成功写完成的总次数。

第9个域:合并写完成次数 -----合并写次数。

第10个域:写扇区次数 ---- 写扇区的次数,成功写扇区总次数。

第11个域:写操作花费的毫秒数  ---  写花费的毫秒数,这是所有写操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。

第12个域:正在处理的输入/输出请求数 -- -I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小。

第13个域:输入/输出操作花费的毫秒数  ----花在I/O操作上的毫秒数,这个域会增长只要field 9不为0。

第14个域:输入/输出操作花费的加权毫秒数 -----  加权, 花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、配置Key

本次介绍的方法是比较建议的,并没有设置自动发现本地磁盘,我们就假设我们的设备有两个磁盘sda、sdb,如果你的设备是单个磁盘的话也很简单,你只需要把sdb的Items禁用掉就可以了,后期会增加自动发现本地磁盘的方法。

# vim /etc/zabbix/zabbix_agentd.conf

UserParameter=disk.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$4}‘
UserParameter=disk.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$7}‘
UserParameter=disk.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$8}‘
UserParameter=disk.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$11}‘
UserParameter=disk.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$12}‘
UserParameter=disk.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$13}‘
UserParameter=disk.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$6}‘
UserParameter=disk.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk ‘{print $$10}‘

三、导入模版

模版在附件处,请下载

四、结果展示

时间: 10-20

Zabbix 监控磁盘IO状态的相关文章

zabbix监控磁盘IO

监控磁盘IO的基本原理:通过分析/proc/diskstats文件,来对IO的性能进行监控. ++++++++++++++++++++++++对/proc/diskstats的解释++++++++++++++++++++++++++++++ # cat /proc/diskstats |grep sda |head -1    8    0     sda 2280 1445 76478 11956 249 188 3490 932 0 9913 12805 解释说明: 第一至第三个域,分别是主

zabbix监控磁盘IO(二)

1.磁盘发现脚本 vim disk_io.sh  #!/bin/bash  diskarray=(`cat /proc/diskstats |grep -E "\bsd[a-z]\b|\bxvd[a-z]\b|\bvd[a-z]\b"|awk '{print $3}'|sort|uniq   2>/dev/null`)    length=${#diskarray[@]} printf "{\n" printf  '\t'"\"data\&

Cacti监控磁盘IO(rhel)

1.检查net-snmp是否支持IO监控 snmpwalk -v 1 -c public 监控机的IP UCD | more 执行如上命令,如果返回类似如下数据,则表示支持disk io的监控,否则需要重新编译增加diskio-module模块. 1. UCD-DISKIO-MIB::diskIOIndex.1 = INTEGER: 1 2. UCD-DISKIO-MIB::diskIOIndex.2 = INTEGER: 2 3. UCD-DISKIO-MIB::diskIOIndex.3 =

zabbix监控nginx连接状态

zabbix学习笔记:zabbix监控nginx连接状态 zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [[email prot

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能

zabbix 监控磁盘I/O

编辑zabbix_agentd.conf 删除注释 #Incloud = 修改目录/usr/local/zabbix/conf/other_conf.d mkdir /usr/local/zabbix/conf/other_conf.d cd /usr/local/zabbix/conf/other_conf.d vim disk_io.conf UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | he

zabbix监控磁盘分区空间

Zabbix之监控磁盘容量 两种监控方式: 一种:监控磁盘使用率. zabbix添加对磁盘分区的监控 首先服务器上的数据主要在/www上 /dev/sda8     ext4    299G  139G  146G  49% /www GUI--配置--主机--选择一台主机--项目--创建项目 类型zabbix代理(被动式) 键值vfs.fs.size[/www,pfree] 数据类型:数字的(浮点) 单位% 存档 这里需要说明一下 我想要监控的是某个分区的空闲(free)空间百分比 vfs.f

cacti 监控磁盘IO需要注意的地方

监控linux机器的磁盘IO,使用cacti官方社区模板diskio http://docs.cacti.net/usertemplate:data:host_mib:diskio 具体用法不讲,有一个bug,监控64位linux机器时,数据不准确,原因是diskio.xml文件中统一定义了counter32的数据 <interface>         <name>Get Disk IO Information</name>         <index_ord

ZABBIX之磁盘IO监控

1,配置文件 cat /usr/local/zabbix/conf/zabbix_agentd/diskstats.conf UserParameter=disk.discovery,python /usr/local/zabbix/bin/disk_discovery.py UserParameter=diskstats[*],/usr/local/zabbix/bin/diskstats.sh $1 $2 2,DISK 自动发现脚本 cat /usr/local/zabbix/bin/dis

zabbix监控磁盘I/O

zabbix_agentd.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.w