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.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}‘

server端

/usr/local/zabbix/bin/zabbix_get -s X.X.X.X -p 10050 -k custom.vfs.dev.write.sectors[sda]

/proc/diskstats文件比/sys/block/hdc/stat文件多3个域,从左至右分别对应主设备号,次设备号和设备名称。后续的11个域在这两个文件里是相同的,它们的函义将在下面解释。除了第9个域,所有的域都是从启动时的累积值。

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

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

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

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

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

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

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

第9个域:I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小。

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

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

时间: 2024-11-03 21:52:21

zabbix监控磁盘I/O的相关文章

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监控磁盘分区空间

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

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 监控磁盘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 136637

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\&

zabbix监控磁盘 IO

磁盘IO:  单位时间内读写数据量  单位时间内读写次数 取值脚本: #!/use/bin/env python #coding:utf-8 # Description:for zabbix discovery disk partition on linux machine import os import re,json cmd = """cat /proc/diskstats |grep -E '\ssd[a-z]\s|\sxvd[a-z]\s|\svd[a-z]\s'|

Zabbix监控Linux磁盘I/O

东西都上传到这里了: https://github.com/RexKang/Zabbix/tree/master/OS/Linux-disk-discovery 需要用到的东西: Zabbix的LLD:https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery Zabbix的Agent配置:https://www.zabbix.com/documentation/2.0/manual/appendix

zabbix企业应用之监控磁盘读写状态

最近公司一台oracle服务器的一个磁盘出现Read Only,导致数据不可写,但此服务器安装的zabbix监控并未报警,所以针对此情况,新增了监控系统磁盘读写状态的监控. 下面是效果图 如果返回值0代表磁盘都是rw状态可以正常读写,返回值1的话,代表磁盘是ro状态,会报警. 如何实现: 一.客户端 1.修改zabbix_agentd.conf文件 在zabbix_agentd.conf最后添加以下内容 UserParameter=check_disk_status,mount | awk '{

zabbix应用之Low-level discovery监控磁盘IO

zabbix自带的"Template OS Linux"模板支持监控已挂载的磁盘空间利用率,是利用LLD(Low-level discovery)实现的,却没有对磁盘IO监控.本篇文章就介绍利用zabbix LLD功能监控磁盘IO的方法. 思路:首先创建Discovery rules,在agent端配置对应的UserParameter,调用编写好的shell脚本,动态查找出已经挂载的磁盘分区:然后创建Item prototypes,使用vfs.dev.read[device,<t