Инструменты пользователя

Инструменты сайта


zabbix_iostat

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
zabbix_iostat [2014/02/14 13:01]
metallic [Подготовка хоста]
zabbix_iostat [2022/03/25 17:00] (текущий)
Строка 141: Строка 141:
 ===== Настройка zabbix-агента ===== ===== Настройка zabbix-агента =====
  
 +В конфиге агента ничего не обычного, главное прописать свои параметры, один для поиска устройств(с помощью скрипта devs_discovery.py), второй для получения показаний по нужной метрике(с помощью скрипта iostat_parse.sh):
 +
 +  UserParameter=custom.disks.discovery_python,/opt/zabbix/devs_discovery.py
 +  UserParameter=custom.disks.iostat[*],/opt/zabbix/iostat_parse.sh $1 $2
 +  
 +Первый параметр без аргументов, второй принимает два аргумента - блочное устройство и имя интересующей нас метрики.
 +
 +Теперь перезапускаем агента и тестируем:
 +
 +  # zabbix_agentd -t custom.disks.discovery_python
 +  custom.disks.discovery_python[/opt/zabbix/devs_discovery.py] [t|{
 +  "data":[
 +  
 +  {"{#DEV}": "dm-0", "{#MOUNTPOINT}": "/"},
 +  {"{#DEV}": "sda", "{#MOUNTPOINT}": ""},
 +  {"{#DEV}": "dm-2", "{#MOUNTPOINT}": "/home"},
 +  {"{#DEV}": "sdb", "{#MOUNTPOINT}": ""}
 +  
 +  ]
 +  }]
 +  
 +  # zabbix_agentd -t custom.disks.iostat[sdb,util]
 +  custom.disks.iostat[/opt/zabbix/iostat_parse.sh sdb util] [t|0.00]
 +
 +Если все в порядке, настройка на этом завершена.
 ===== Настройка zabbix-сервера ===== ===== Настройка zabbix-сервера =====
 +
 +Все настройки на стороне сервера проводятся через веб-интерфейс. Вначале создаем шаблон(Configuration -> Templates -> Create template), при добавлении которого хосту, на этом хосте будет производиться мониторинг дисковой активности. Ниже представлен скриншот с параметрами, задаем имя шаблона и добавляем его в группу templates.
 +
 +{{ :zabbix:iostat:step1.png?direct&300 |}}
 +
 +Далее создаем приложение iostat (Configuration -> Templates -> Template IOstat Linux -> Applications):
 +
 +{{ :zabbix:iostat:step2.png?direct&300 |}}
 +
 +Теперь создадим регулярное выражение для фильтрации малоинтересных разделов, таких как /boot, /boot/efi и т.д. Назовем его Linux disk filter(Administration -> General -> Regulat expressions -> New regular expression):
 +
 +{{ :zabbix:iostat:step3.png?direct&300 |}}
 +
 +<note important>Zabbix поддерживает только posix регулярные выражения, при этом веб-интерфейс поддерживает как posix, так и perl регулярные выражения, что может привести к путанице. Например при составлении рег. выражения оно проходит тестирование в веб-интерфейсе, но по факту не работает, в этом случае надо проверить, соответствует ли оно стандарту posix.</note>
 +
 +Следующий шаг - создание discovery rule, т.е. правила, которое будет автоматически определять устройства и создавать для них указанные элементы(Configuration -> Templates -> Template IOstat Linux -> Discovery):
 +
 +{{ :zabbix:iostat:step3_2.png?direct&300 |}}
 +
 +Здесь важными параметры:
 +
 +  * Key - наш собственный ключ, который указали в конфиге агента
 +  * Filter - параметры фильтрации объектов, в данном случае в качестве параметра по которому фильтруем - точка монтирования, если она известена, то она отдается агентом с именем параметра MOUNTPOINT, ну и соответственно указывается ранее созданное рег. выражение, которым фильтровать этот параметр.
 +
 +Теперь создаем прототипы источников данных, т.е. на каждое устройство будет создан такой прототип и будет выполнятся коллекционирование данных, ниже приведен пример для метрики await(Configuration -> Templates -> Template IOstat Linux -> Item prototypes -> Create item prototype):
 +
 +{{ :zabbix:iostat:step4.png?direct&300 |}}
 +
 +  * Key - тут опять же указывается ранее созданный пользовательский параметр и ему передаются два аргумента: имя блочного устройства(DEV)и имя интересующей нас метрики(await)
 +
 +<note important>Параметры rsec/s и wsec/s возвращаются в кбайт, поэтому в прототипе для них нужно задать custom multiplier равный 1024</note>
 +
 +Таким образом создается нужное кол-во прототипов данных для интересующих метрик. Поддерживаются следующие метрики: rrqm/s, wrqm/s, r/s, w/s, rsec/s, wsec/s, avgrq-sz, avgqu-sz, await, svctm, util. Что они означают можно поглядеть в мануале по iostat. У меня получились следующие прототипы данных:
 +
 +{{ :zabbix:iostat:step5.png?direct&300 |}}
 +
 +И в заключении создаются прототипы графиков. В примере ниже создается график, который отображается скорочть чтения/записи устройства(Configuration -> Templates -> Template IOstat Linux -> Graph prototypes -> Create graph prototype):
 +
 +{{ :zabbix:iostat:step6.png?direct&300 |}}
 +
 +В итоге у меня получилось четыре прототипа графиков:
 +
 +{{ :zabbix:iostat:step7.png?direct&300 |}}
 +
 +===== Заключение =====
 +
 +Полученный результат можно увидеть на скриншотах ниже.
 +
 +{{:zabbix:iostat:result1.png?direct&300|}} {{:zabbix:iostat:result2.png?direct&300|}} {{:zabbix:iostat:result3.png?direct&300|}} {{:zabbix:iostat:result4.png?direct&300|}}
 +
 +===== Использованная литература =====
 +
 +  - [[http://michael.nomanlab.org/2012/09/zabbix-iostat.html|ZABBIX & IOSTAT. Мониторим диски]]
 +  - [[http://virtuallyhyper.com/2013/06/monitor-disk-io-stats-with-zabbix/|Monitor Disk IO Stats with Zabbix]]
 +  - [[https://www.zabbix.com/documentation/2.2/manual/discovery/low_level_discovery|Low-level discovery]]
 +
  
zabbix_iostat.1392368505.txt.gz · Последнее изменение: 2022/03/25 17:04 (внешнее изменение)