zabbix自动发现规则之磁盘io监控

author author     2022-10-11     203

关键词:

本文章介绍zabbix自动发现规则之磁盘IO监控的案例实践。

主机名:mysql-slave

首先在zabbix_agent下定义一个获取磁盘IO信息的脚本:

cat /etc/zabbix/scripts/disk_io.sh
#!/bin/bash
Disk=$1
Option=$2
case $Option in
rrqm)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $2}'
;;
wrqm)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $3}'
;;
rps)
iostat -dxk 1 2|grep "$Disk"|tail -1|awk '{print $4}'
;;
wps)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $5}'
;;
rKBps)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $6}'
;;
wKBps)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $7}'
;;
avgrq-sz)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $8}'
;;
avgqu-sz)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $9}'
;;
await)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $10}'
;;
svctm)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $11}'
;;
util)
iostat -dxk 1 2|grep "$Disk" |tail -1|awk '{print $12}'
;;
esac

简单说一下这个iostat的指令:

iostat是I/O statistics(输入/输出统计)的缩写,用来动态监视系统的磁盘操作活动。

iostat[参数][时间][次数]

命令功能

通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。

命令参数

-C 显示CPU使用情况

-d 显示磁盘使用情况

-k 以 KB 为单位显示

-m 以 M 为单位显示

-N 显示磁盘阵列(LVM) 信息

-n 显示NFS 使用情况

-p[磁盘] 显示磁盘和分区的情况

-t 显示终端和CPU的信息

-x 显示详细信息

-V 显示版本信息

disk属性值说明:

rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s

wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s

r/s: 每秒完成的读 I/O 设备次数.即 delta(rio)/s

w/s: 每秒完成的写 I/O 设备次数.即 delta(wio)/s

rsec/s: 每秒读扇区数.即 delta(rsect)/s

wsec/s: 每秒写扇区数.即 delta(wsect)/s

rkB/s: 每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)

wkB/s: 每秒写K字节数.是 wsect/s 的一半.(需要计算)

avgrq-sz:平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)

avgqu-sz:平均I/O队列长度.即 delta(aveq)/s/1000 (因为aveq的单位为毫秒).

await: 平均每次设备I/O操作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)

svctm: 平均每次设备I/O操作的服务时间 (毫秒).即 delta(use)/delta(rio+wio)

%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O


定义自动发现规则的key

cat /etc/zabbix/scripts/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('
'):
    if len(disk) != 0:
    disks.append({'{#DISK_NAME}':disk})
print json.dumps({'data':disks},indent=4,separators=(',',':'))


zabbix_agent配置文件

cat /etc/zabbix/zabbix_agentd.conf.d/userparameter_io.conf
UserParameter=disk.io[*], sudo /etc/zabbix/scripts/disk_io.sh $1 $2
UserParameter=disk.scan[*], python /etc/zabbix/scripts/disk_scan.py $1


zabbix web界面创建模板

技术分享图片创建模板

技术分享图片


设置模板名称,所属组和主机(自定义)

技术分享图片


创建Discovery

技术分享图片


设置Discovery

注意,这里的key 是在zabbix_agent设置的disk.scan 的disk_scan.py脚本返回值

技术分享图片


创建item

技术分享图片


设置item

技术分享图片


创建完item,如下:

技术分享图片


返回mysql-slave主机界面查看item

技术分享图片


查看最新数据

技术分享图片


创建Graph

技术分享图片



查看Graphs

技术分享图片

zabbix之自动化监控网络发现和主动注册

...ge设置多久执行一次:Delay (in sec)支持的Checks:Zabbix_ 查看详情

分布式监控系统zabbix3.2添加自动发现磁盘io并注册监控

 zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在LinuxOS中添加。  由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦... 查看详情

zabbix之low-leveldiscovery(自动发现)

功能:自动发现挂载点并自动监控自动发现网卡并自动监控创建自动发现挂载点并监控功能假如要在monitor_linux模板中创建自动发现挂载点的功能配置-->模板-->选择模板-->自动发现 创建自动发现    创建基... 查看详情

分布式监控系统zabbix4.2添加自动发现磁盘io(实操)(代码片段)

前言:zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在LinuxOS中添加。  由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻... 查看详情

zabbix分布式监控之discovery自动发现配置

当我们能够熟练构建Zabbix监控平台之后,我们会发现,对zabbix的认识只是刚开始,今天带大家来学习Zabbix比较牛的功能,自动发现功能。什么是自动发现呢,简单来说就是,可以自动批量去发现局域网若干服务器,并自动添加监... 查看详情

zabbix/自动发现规则

  对于zabbix我们并不陌生他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对应的value从而省去我们一部... 查看详情

zabbix自动发现与自动注册自定义监控的实现(代码片段)

一、自动发现与自动注册Zabbix的发现主要包括三种类型:1)Zabbix的自动网络发现Zabbix提供非常有利和灵活的自动网络发现功能。通过网络发现,可以实现加速Zabbix部署、简化管理、在不断变化的环境中使用Zabbix而不需要过多的... 查看详情

个人拾忆知识是需要积累的

2017-11-291)zabbix的自动发现和低级自动发现(LLD)  自动发现:zabbix通过特定的规则(如端口、SNMP、zabbix agent),发现网络中符合规则的主机,然后加入zabbix中(包括添加主机、主机组、链接模板)  LLD:自动发现一个监控主... 查看详情

六zabbix自动发现

要求:沿用前面的练习,配置Zabbix的自动发现机制,实现以下目标:1.创建自动发现规则2.创建自动发现后的动作,添加主机、为主机链接模板方案:什么是自动发现(Discovery)?当Zabbix需要监控的设备越来越多,手动添加监控设备越来... 查看详情

zabbix自动化监控之私有云

1,自动注册    1.1 Zabbixagent自动添加2,主动发现   2.1 自动发现Discover  2.2 zabbix api  vim /etc/zabbix/zabbix_agentd.confPidFile=/var/r 查看详情

zabbix实现网络发现自动注册自动监控

网络发现是zabbix最具特色的功能之一,它能够根据用户事先定义的规则自动添加监控的主机或服务等Zabbix的网络发现功能可以基于如下信息进行    ip地址范围    可用的服务(ftp,ssh,http,tcp,....)  ... 查看详情

zabbix自动发现和自动注册

zabbix自动发现和自动注册熟练通过Zabbix监控平台监控单台客户端之后,企业中有成千上万台服务器,如果手工添加会非常耗时间,造成大量的人力成本的浪费,有没有什么好的自动化添加客户端的方法呢?Zabbix自动发现就是为了... 查看详情

zabbix自动注册和自动发现

zabbix自动注册zabbix自动注册功能用于在自动创建主机和配置监控后,能将服务器自动加入到监控项中,这能够省去管理员大量手工的录入操作。增加自定义注册规则在客户端agent上配置zabbix_agent.conf:HostMetadata=system.uname创建规则:... 查看详情

zabbix4.0自动发现和自动注册并加入监控

...以根据需要,在对主机安装系统的时候就安装配置并启动zabbix-agent服务,这样的话只要主机系统安装完成,便会自动加入监控。在主机较多的时候,配置Zabbix自动发现或者自动注册并加入监控可以代替手动的添加主机,减轻工作... 查看详情

zabbix-自动发现并监控(代码片段)

创建自动发现规则 添加ip范围客户端安装zabbix-agent[[email protected]~]#dockerload-izabbix_agent.tar.gz23f7bd114e4a:Loadinglayer5.06MB/5.06MB27e518624db6:Loadinglayer555kB/555kBe5b884ab93ba:Loadinglayer207.9kB 查看详情

zabbix5.0自动发现和自动注册

...繁扫描耗费资源检查:我们选择的是system.hostname,这个是zabbix的一个key的名字,可以获取客户端主机的用户名可见名称:你在web端看到的多监控主机的名称,这里我用的是ip,可以方便我知道是哪个主机出现了问题,也可以选择sys... 查看详情

zabbix实战-简易教程--低层次发现(lld)

...不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项。(LLD)此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的... 查看详情

zabbix监控系统系列之二十一:监控海康威视摄像头

...-SNMP启用SNMPv2c设置读团体名设置写团体名设置trap地址为zabbix地址保存创建主机1配置主机主机名称:输入摄像头主机名可见名称:别名群组:选择群组Interfaces:使用SNMPIP地址摄像头地址端口默认161versionSNMPv2团体名使用宏2切换到... 查看详情