关于zabbix配置磁盘读写速度监控(脚本配置篇)

mac2025-11-01  1

关于磁盘读写速度相关的知识点在此 关于zabbix配置磁盘读写速度监控(详解篇)

发送disk_scan.sh给客户机(扫描磁盘)(disk_scan.sh在文末)

ansible live -m copy  -a 'src=/etc/zabbix/zabbix_agentd.d/disk_scan.sh dest=/etc/zabbix/zabbix_agentd.d/' -u yff  -s -K -k

给disk_scan.sh赋权限

ansible live -m shell  -a 'chmod +x /etc/zabbix/zabbix_agentd.d/disk_scan.sh' -u yff  -s -K -k

发送io.conf给客户机(自定义键值)(io.conf在文末)

ansible live -m copy  -a 'src=/etc/zabbix/zabbix_agentd.d/io.conf dest=/etc/zabbix/zabbix_agentd.d/' -u yff  -s -K -k

关闭selinux

ansible live -m shell  -a 'setenforce 0' -u yff  -s -K -k

查看是否关闭

ansible live -m shell  -a 'getenforce' -u yff  -s -K -k

修改文件永久关闭selinux

ansible live -m shell  -a "sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config" -u yff  -s -K -k

允许使用自定义键值

ansible live -m shell  -a "sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/g' /etc/zabbix/zabbix_agentd.conf" -u yff  -s -K -k----------------------------------------------------------我是分隔符----------------------------------------------------------------

[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" [io.conf] #auto discovery disk UserParameter=io.scandisk,/etc/zabbix/zabbix_agentd.d/disk_scan.sh #磁盘读的次数 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}' #花费在IO操作上的毫秒数 UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' #读扇区的次数(一个扇区的等于512B) UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' #写扇区的次数(一个扇区的等于512B) UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'

web端配置

监控项原型 Disk:$1:磁盘读的毫秒数:ms custom.vfs.dev.read.ms[{#DISKNAME}] 浮点数 ms

Disk:$1:磁盘读扇区的次数:ops per second(512B一个扇区) custom.vfs.dev.read.ops[{#DISKNAME}] 浮点数 ops/second

Disk:$1:磁盘读扇区的速度:Bytes/sec custom.vfs.dev.read.sectors[{#DISKNAME}] 浮点数 Bytes/sec

Disk:$1:磁盘写的毫秒数:ms custom.vfs.dev.write.ms[{#DISKNAME}] 浮点数 ms

Disk:$1:磁盘写扇区的次数:ops per second(512B一个扇区) Disk:{#DISKNAME}:磁盘写扇区的次数:ops per second(512B一个扇区) custom.vfs.dev.write.ops[{#DISKNAME}] 浮点数 ops/second

Disk:$1:磁盘写扇区的速度:Bytes/sec custom.vfs.dev.write.sectors[{#DISKNAME}] 浮点数 ops/second

 

 

 

 

 

 

 

# #

 

最新回复(0)