思路:首先创建Discovery rules,在agent端配置对应的UserParameter,调用编写好的shell脚本,动态查找出已经挂载的磁盘分区;然后创建Item prototypes,使用vfs.dev.read[device,,]和vfs.dev.write[device,,]来监控磁盘分区的IO,包括磁盘读写速率、每秒读写扇区数、每秒读写操作数;然后创建Graph prototypes,生成磁盘IO图表。
具体监控步骤如下:
一、编写脚本查找已挂载的磁盘分区
1)在zabbix客户端创建查找磁盘分区的脚本mount_disk_discovery.sh放到/etc/zabbix/monitor_scripts目录下,内容如下:
vim mount_disk_discovery.sh
#!/bin/bash
#Function: low-level discovery mounted disk
#Script_name: mount_disk_discovery.sh
mount_disk_discovery()
{
local regexp="b(btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|ntfs|fat32|zfs)b"
local tmpfile="/tmp/mounts.tmp"
:> "$tmpfile"
# 过滤所有已挂载的文件系统
egrep "$regexp" /proc/mounts > &#