为了实现对服务器磁盘性能的全面监控,我们可以通过编辑Zabbix代理配置文件来添加自定义参数,具体步骤如下:

1. 编辑/etc/zabbix/zabbix_agentd.conf文件,添加以下自定义参数:

UserParameter=custom.disk.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $4}'
UserParameter=custom.disk.read.time[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $7}'
UserParameter=custom.disk.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $8}'
UserParameter=custom.disk.write.time[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $11}'
UserParameter=custom.disk.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $12}'
UserParameter=custom.disk.total.time[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $13}'
UserParameter=custom.disk.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $6}'
UserParameter=custom.disk.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $10}'

2. 保存更改并重启Zabbix代理服务以使新配置生效:

[root@localhost ~]# systemctl restart zabbix-agent

3. 在Zabbix Server上验证是否能够成功获取数据,使用zabbix_get工具测试,例如查询名为sda的磁盘的写入操作次数:

[root@zabbix-server ~]# zabbix_get -s 192.168.209.251 -p 10050 -k custom.disk.write.ops[sda]
50184

如果返回值为ZBX_NOTSUPPORTED,则需要检查配置是否正确无误,并确保Zabbix代理服务已重启且防火墙未阻止相关端口。

4. 下载并导入适用于文件服务器的Zabbix模板,以便更好地管理和展示磁盘性能数据。模板下载链接:http://www.muck.net/pub/zabbix_FileServer_template.xml。导入模板的方法是:进入Zabbix Web界面,依次选择“Configuration” -> “Templates” -> “Import”,上传下载的XML文件。导入完成后,记得将此模板关联至需要监控的主机。

141940782.png