Мониторинг параметров I/O Stat в Zabbix
Мониторинг осуществляется скриптом iostat_v<VERSION>.py из набора Zabbix Data Mining.
Там же есть готовые шаблоны для Zabbix Server'a.
Настройка
Настройка осуществляется через Ansible.
Необходимо указать модуль iostat в переменой zdm_modules_enabled, в этом случае будет:
- установлен пакет sysstat с утилитой iostat
Переменные defaults для роли:
- zdm_cnf_iostat_version - одна из доступных версий скрипта, подходящая к версии утилиты.
- zdm_cnf_iostat_discovery_cmd - bash команда, для получения списка дисков.
- zdm_cnf_iostat_stat_cmd - bash команда для утилиты iostat: Display statistics in megabytes per second.
- zdm_cnf_iostat_util_cmd - bash команда для утилиты iostat: Display the device utilization report.
- zdm_cnf_iostat_cache_ttl - время хранения результата в кэше.
Скрипт предусматривает кэш, что позволяет сократить количество запусков утилиты, а так же снимать элементы данных в одном временном срезе.
Время действия кэша в секундах должно устанавливается чуть меньше чем период опроса элементов.
В Gentoo Hardened, в параметрах ядра grsec может быть запрещен доступ пользователям получать данные, тогда необходимо разрешить запускать iostat через sudo для пользователя zabbix или отключить опцию в ядре:
kernel
Security options ---> Grsecurity ---> Customize Configuration ---> Filesystem Protections ---> [ ] Sysfs/debugfs restriction
Элементы данных
Zabbix Agent UserParameter
UserParameter=iostat.py[*],/opt/zdm3/iostat_v11.6.1.py "$1" "$2"
Дополнительную информацию по аргументам скрипта можно получит:
/opt/zdm3/iostat_v11.6.1.py -h
Пример данных:
$ zabbix_get -s 127.0.0.1 -k 'iostat.py[discovery]' {"data": [{"{#DEVNAME}": "sda"}]}
$ zabbix_get -s 127.0.0.1 -k 'iostat.py[sda,util]' 1.20
Пример графиков:
Обсуждение