当前位置:   article > 正文

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

zabbix 统计磁盘速率脚本

关于磁盘读写速度相关的知识点在此 关于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]

(下面的文件因为CSDN是markdown,用#注释掉会被自动识别出来,所以用//代替,贴到服务器的时候一定要修改为#)

//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

 

 

 

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/160985
推荐阅读
相关标签
  

闽ICP备14008679号