监控磁盘的性能
一、agent端操作:
1、安装iostat命令
yum install sysstat
2、创建脚本目录
mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts/
3、脚本内容
vim disk_scan.sh #!/bin/bash diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bvd[abcdefg]\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 "\"{#DISKNAME}\":\"${diskarray[$i]}\"}" if [ $i -lt $[$length-1] ];then printf ‘,‘ fi done printf "\n\t]\n" printf "}\n"
4、修改权限
chown root:zabbix -R /etc/zabbix/scripts/ chmod 750 /etc/zabbix/scripts/chmod 550 /etc/zabbix/scripts/iostat.sh
5、脚本测试
[[email protected] scripts]# sudo -u zabbix /usr/bin/sh /etc/zabbix/scripts/disk_scan.sh { "data":[ {"{#DISKNAME}":"sda"} ] } [[email protected] scripts]#
6、使用iostat获取硬盘性能信息,并将该信息写入文本中
nohup iostat -m -x -d 30 >> /tmp/iostat_output 2>&1 &
7、添加下述内容至zabbix agent配置文件中
UserParameter=io.scandisk[*],/etc/zabbix/scripts/disk_scan.sh $1 UserParameter=io.rrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$2}‘ UserParameter=io.wrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$3}‘ UserParameter=io.rps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$4}‘ UserParameter=io.wps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$5}‘ UserParameter=io.rMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$6}‘ UserParameter=io.wMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$7}‘ UserParameter=io.avgrq-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$8}‘ UserParameter=io.avgqu-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$9}‘ UserParameter=io.await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$10}‘ UserParameter=io.r_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$11}‘ UserParameter=io.w_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$12}‘ UserParameter=io.svctm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$13}‘ UserParameter=io.util[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$14}‘
8、重启zabbix-agent服务
systemctl restart zabbix-agent.service
二、服务器端操作如下
1、获取数据测试
[[email protected] zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda] 0.23 [[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda] 0.23 [[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rps[sda] 0.00 [[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rMBps[sda] 0.00
2、创建模板
模板名称: Template Disk Discovery
名称:Disk discovery 键值:io.scandisk
3、创建自动发现规则
第一个监控项原型示例,其余规则据按照此模型创建即可!!!
创建好的模型如下:
4、创建图形原型
5、创建触发器
原文地址:https://www.cnblogs.com/huangyanqi/p/9073601.html
时间: 2024-10-03 17:52:21