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\":["
for ((i=0;i<$length;i++))
do
        printf ‘\n\t\t{‘
        printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"
        if [ $i -lt $[$length-1] ];then
                printf ‘,‘
        fi
done
printf  "\n\t]\n"
printf "}\n"

2.磁盘io状态脚本

vim disk_stats.sh 
#/bin/sh
 
device=$1
item=$2
 
case $item in
         rrqm)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b"|tail -1|awk ‘{print $2}‘
            ;;
         wrqm)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b"|tail -1|awk ‘{print $3}‘
            ;;
          rps)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b"|tail -1|awk ‘{print $4}‘
            ;;
          wps)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $5}‘
            ;;
        rKBps)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $6}‘
            ;;
        wKBps)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $7}‘
            ;;
     avgrq-sz)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $8}‘
            ;;
     avgqu-sz)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $9}‘
            ;;
        await)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $10}‘
            ;;
        svctm)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $11}‘
            ;;
         util)
            /usr/bin/tail -n20 /tmp/iostat_output |grep "\b$device\b" |tail -1|awk ‘{print $12}‘
            ;;
esac

3.增加用户自定义的参数表

vim /usr/local/zabbix-agent/etc/zabbix_agentd.conf
#add the two lines
UserParameter=disk.discovery[*],/bin/bash /usr/local/zabbix-agent/scripts/disk_io.sh
UserParameter=disk.status[*],/bin/bash /usr/local/zabbix-agent/scripts/disk_stats.sh $1 $2

4.重启进程

/etc/init.d/zabbix_agentd restart

3.创建模板

4.创建discover rule

5.创建item prototype

6.创建Graph prototype

7.查看监控

时间: 2024-10-03 13:39:02

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

磁盘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 监控磁盘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应用之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

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 =

Cacti监控磁盘IO

1.下载Cacti_Net-SNMP_DevIO_v3.1.zip 下载Cacti_Net-SNMP_DevIO_v3.1.zip,解压并上传net-snmp_devio.xml到/resource/snmp_queries/目录. 2.导入模板 通过cacti后台的"Import Templates"导入所有的*_TMPL.xml文件,最后导入net-snmp_devIO-Data_query.xml文件.完成后,你就可以在“Data Queries”看到“ucd/net - Get

第七章——DMVs和DMFs(4)——用DMV和DMF监控磁盘IO

原文:第七章--DMVs和DMFs(4)--用DMV和DMF监控磁盘IO 前言: 本文为本系列最后一篇,作为DBA,你必须经常关注磁盘的I/O问题,一旦出现问题,要尽快分析出是什么问题.SQLServer同样提供了一些列与I/O相关的DMO来做监控. 本文介绍如何使用DMO来监控I/O子系统的性能并找到I/O瓶颈.通过本文,可以区分不同数据库的I/O使用模式.一旦发现有数据库的I/O很高,可能需要考虑把数据库迁移到单独的磁盘,或者深入研究I/O产生的问题. 准备工作: 本文将演示如何监控数据库文

第十篇、【Zabbix监控项之自定义监控磁盘IO】

一.自定义监控项获取磁盘IO所需的值 1.在zabbix Agent端配置文件配置如下内容 [[email protected]_3WYY_WEB ~]# vi /usr/local/zabbix-4.4.3/etc/zabbix_agentd.conf 305 ### Option: UserParameter 306 # User-defined parameter to monitor. There can be several user-defined parameters. 307 #

结合zabbix监控系统io相关性能服务

一.环境及说明 本次实验基于CentOS6.x_x64  zabbix2.4.5(其实可以是其他版本的zabbix服务端),i测试的客户端机器:10.168.118.61(安装zabbix-agent的机器)上,所使用到的工具如下: iostat来源于syssat软件包 #rpm -qa |grep sysstat 如果没有安装 请执行 #yum install sysstat -y iostat 工具常用说明: 常用 $iostat -dxkt 1 输出选项说明:rrqm/s 每秒进行merg