zabbix 监控,磁盘,IO

zabbix 监控,磁盘,IO
zabbix 监控,磁盘,IO

Zabbix 监控磁盘IO信息教程

By:Flyking

2015-08-12 Wednesday

一、服务器端

首先,服务器端需要新建磁盘磁盘IO的模板,路径:Configuration—Templates—Create template

新建Template name 为disk_iostat的模板文件,然后模板文件中,新建Items;如下图

再建Graphs如下图:

以磁盘SDX读写速度为例,如下图:

详细如下图

二、客户端

2.1、去掉辅助配置文件注释

修改zabbix_agentd.conf配置文件,打开zabbix_https://www.360docs.net/doc/ad4009436.html,erparams.conf配置项,如下图

2.2、增加辅助配置文件

根据zabbix_agentd.conf中的目录要求(我的配置文件是在/usr/local/etc目录

下)新建zabbix_https://www.360docs.net/doc/ad4009436.html,erparams.conf,并根据系统版本,将下面相应的语句写入

到配置文件中。

#disk iostst centos 5or 6

UserParameter=io.scandisk[*],/usr/local/etc/disk_discovery.sh $1

UserParameter=io.rps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b"|awk '{print $$4}' UserParameter=io.wps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$5}' UserParameter=io.rMBps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$6}' UserParameter=io.wMBps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$7}' UserParameter=io.avgrq-sz[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$8}' UserParameter=io.avgqu-sz[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$9}' UserParameter=io.await[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$10}' UserParameter=io.svctm[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$11}' UserParameter=io.util[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$12}'

#disk iostst cenos 4

UserParameter=io.scandisk[*],/usr/local/etc/disk_discovery.sh $1

UserParameter=io.rps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b"|awk '{print $$4}' UserParameter=io.wps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$5}' UserParameter=io.rMBps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$8}' UserParameter=io.wMBps[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$9}' UserParameter=io.avgrq-sz[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$10}' UserParameter=io.avgqu-sz[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$11}' UserParameter=io.await[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$12}' UserParameter=io.svctm[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$13}' UserParameter=io.util[*],/usr/bin/head /data/zabbix/iostat_output |grep "\b$1\b" |awk '{print $$14}'

2.3、添加磁盘识别程序

上传disk_discovery.sh到/usr/local/etc/目录下,具体可根据zabbix_https://www.360docs.net/doc/ad4009436.html,erparams.conf配置文件中的第一行自行修改。(disk_discovery.sh 内容下最后面附件部分)

2.4、添加计划任务

计划任务如下

* * * * * /usr/bin/iostat -k -x -d 1 1 >/data/zabbix/iostat_output 2>&1 注:输出路径可以自定义,但需要修改zabbix对目录有读写权限

2.5、重启zabbix_agentd服务

使用命令service zabbix_agentd restart重启zabbix客户端服务。

2.6、把相应主机匹配相应模板

在zabbix server中在主机已经匹配的模板中添加新建的disk_iostat模板(或把相应主机添加到监控模板的监控主机列表中)。

附件:

disk_discovery.sh内容如下:

#!/bin/bash

diskarray=(`cat /proc/diskstats |grep -E "\bsd[a-z]\b|\bxvd[a-z]\b|\bvd[a-z]\b"|grep -i "\b$1\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"

相关主题
相关文档
最新文档