- Add disk utilization (in %, like iostat)
- Add average queue size (like iostat)
- Add average read/write time (in ms) (zabbix calculated item)
- Add a screen template for all disks in host
- Ignore partitions (sda1, sda2) and keep only whole disks (sda, sdb)
- Changes in item names and units
Zabbix template for collecting IO statistics
With this template you can collect different disk statistics.
To install, copy userparameter_diskstats.conf
to /etc/zabbix/zabbix_agentd.d/userparameter_diskstats.conf
and lld-disks.py
to /usr/local/bin/lld-disks.py
.
Do not forget to mark it executable.
# diskstats user parameters config
sudo mkdir -p /etc/zabbix/zabbix_agentd.d/
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/userparameter_diskstats.conf -O /etc/zabbix/zabbix_agentd.d/userparameter_diskstats.conf
# low level discovery script
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/lld-disks.py -O /usr/local/bin/lld-disks.py
sudo chmod +x /usr/local/bin/lld-disks.py
userparameter_diskstats.conf
is user parameters for Zabbix.
lld-disks.py
is low level discovery script for enumerating disks of your system.
After that restart zabbix-agent
sudo service zabbix-agent restart
Go to Zabbix's web interface, Configuration->Templates and import Template Disk Performance.xml
.
After that you should be able to monitor disk activity for all your disks.
Please note, that items and graphs are created for each disk/partition individually using discovery script, so do not expect to
find them under usual configuration -- they would be in Discovery rules
section:
Low level discovery will list your RAID devices, and LVM volumes, but LVM volumes will be mapped with their device-mapper ID, not the pretty names.
Zabbix have standard parameters for monitoring disk io: vfs.dev.read
and vfs.dev.write
with several types:
- sectors
- operations
- sps
- ops
Template have this values configured, but disabled by default.
To test that everything work use zabbix_get
(from some time this is in it's own package, so do apt-get/yum install zabbix-get
):
# view result of low level discovery
zabbix_get -s 127.0.0.1 -k "custom.vfs.discover_disks"
# view statistics for 'sda' disk
zabbix_get -s 127.0.0.1 -k "custom.vfs.dev.write.sectors[sda]"