zabbix io监控, 会的不难,不会时需要简单一点的材料

zabbix IO 监控

  • 需要设置discovery - 从主机上识别出同一类型的多个设备,如识别多个网卡,多个盘符,这里要做的是识别多个磁盘;

  • 需要设置item prototypes - 基础是discovery功能,识置一个类似模板,针对”磁盘“,同时为多个磁盘添加item;
    会引用到discovery得到的结果,在key和name上都会用到

  • 界面设置

在这里插入图片描述

  • 需要添加key的程序,io.scandisk的脚本,网上查的, python语句
<root@linux0 ~>$ cat /etc/zabbix/zabbix_agentd.d/disk_scan.conf 
UserParameter=io.scandisk[*],/usr/bin/python /usr/local/sbin/disk_scan.py $1

<root@linux0 ~>$ cat /usr/local/sbin/disk_scan.py 
import subprocess
import json
args="cat /proc/diskstats|awk '{print $3}'|grep -E '^[a-z]+$'|sort|uniq 2>/dev/null"
t=subprocess.Popen(args,shell=True,stdout=subprocess.PIPE).communicate()[0]
disks=[]
for disk in t.split('\n'):
        if len(disk) != 0:
                disks.append({'{#DISK_NAME}':disk})
print json.dumps({'data':disks},indent=4,separators=(',',':'))

<root@linux0 ~>$ python !$   #运行结果;
python /usr/local/sbin/disk_scan.py
{
    "data":[
        {
            "{#DISK_NAME}":"sda"
        },
        {
            "{#DISK_NAME}":"sdb"
        }
    ]
}
  • 得到的结果是json语句,显示的结果就是两个磁盘名称;需要使用的名字是{#DISK_NAME}

设置item prototypes

  • 界面设置,添加一个item prototypes,名字引用了Disk_NAME,key也引用了DISK_NAME
    在这里插入图片描述

在这里插入图片描述

  • 需要设置一个applications, 到时discovery的项目会出现在相应的项目上;

在这里插入图片描述

  • 数据类型是重点,如果类型不对,将不会得到结果,得到0, 或提示数据类型不对,这里处理了很久;

  • 尝试过将结果变成整形都失败: 使用awk去掉小数点,但结果应该是字符形;再使用awk后面加0强行转换成数字形式,但是显示都是0; 再在数据库修改数据类型,但是不管用,最终决定的是web界面这个选项;

  • key得到的结果是0.00这种形式,一定需要使用浮点型;

  • 最终的key设置,脚本设置,跟网上不一样,网上都把结果输出成文本,再从文本得到结果,命令一直在后台运行;但我觉得zabbix自动定期会使用这个key得到结果,不需要这么复杂,下面是可以生效的; 可以增加自己想增加的数据,只设置了3个;

  • 下面的$1是指界面设置的DISK_NAME;而后面awk命令,本来是$3的,但是这样会被认为的界面传过来的第三个参数;为区别,需要设置成$$3这个样子;这个应该是内部机制;

<root@linux0 ~>$ cat /etc/zabbix/zabbix_agentd.d/disk_scan.conf 
UserParameter=io.scandisk[*],/usr/bin/python /usr/local/sbin/disk_scan.py $1
UserParameter=io.read[*],  iostat -kd |grep "\b$1\b" |awk '{print $$3}'
UserParameter=io.write[*], iostat -kd |grep "\b$1\b" |awk '{print $$4}'
UserParameter=io.util[*], iostat -kdx |grep "\b$1\b"| awk '{print $$14}'
  • 得到的数据
    在这里插入图片描述

在这里插入图片描述

  • 命令行的测试
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.read[sda]'
11.94
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.write[sda]'
55.24
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.util[sda]'
0.06
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.util[sdb]'
0.01
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.write[sdb]'
54.55
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.read[sdb]'
0.07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值