[[Мониторинг параметров IOSTAT в Zabbix]]

Zabbix

Мониторинг параметров IOSTAT в Zabbix

>=app-admin/sysstat-10.*
net-analyzer/zabbix-2.0.4

Установка скрипта

Создание папки для скриптов:

mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/

Создадим сам скрипт:

Листинг

Скрипт поддерживает обнаружение (discovery) дисков.
Скрипт предусматривает кеш, что позволяет сократить количество реальных обращений к серверу.
Время действия кеша в секундах должно устанавливается чуть меньше чем период опроса элементов.

Установка прав

chown root:zabbix /etc/zabbix/scripts/iostat.sh
chmod 550 /etc/zabbix/scripts/iostat.sh

Проверить работу скрипта для zabbix:

sudo -u zabbix /etc/zabbix/scripts/iostat.sh none read sda

Вы должны получить данные, если этого не произошло, то конфигурация выполнена не правильно.

В Gentoo Hardened в параметрах ядра grsec может быть запрещен доступ пользователям получать данные, тогда необходимо разрешить запускать iostat через sudo для пользователя zabbix или отключить опцию

kernel

Security options  --->
    Grsecurity  --->
        Customize Configuration  --->
            Filesystem Protections  --->
                [ ] Sysfs/debugfs restriction
Если для проверки скрипт запускался с правами root, то он будет владельцем кэш файла - удалите кеш файл после проверок.

Настройка Zabbix сервера

Вызов скрипта через zabbix-agent

Настройка

/etc/zabbix/zabbix_agentd.conf

...

UserParameter=iostat[*],/etc/zabbix/scripts/iostat.sh "none" "$1" "$2"

Перезапустить

/etc/init.d/zabbix-agentd restart

Проверка

zabbix_get -s HOST -k "iostat[read,sda]"

Для контролируемых данных в Zabbix нужно создать соответствующее элементы с типом "Zabbix агент" и ключом типа:

iostat[key,dev]

где key - контролируемая метрика, dev - имя устройства.

Готовый Шаблон для мониторинга iostat (agent) с уже настроенными элементами и графиками.

Вызов скрипта внешней проверкой

Основная концепция: мониторинг iostat производиться на одном хосте с сервером zabbix, с помощью специального скрипта вызываемого внешней проверкой.
На сервере zabbix в конфиге необходимо определить место размещения скриптов для внешней проверки:

/etc/zabbix/zabbix_server.conf

...
# Location of external scripts
ExternalScripts=/etc/zabbix/scripts

Для контролируемых данных в zabbix нужно создать соответствующее элементы с типом "Внешняя проверка" и ключом типа:

iostat.sh[key,dev]

где key - контролируемая метрика, dev - имя устройства.

Результат

Пример графиков:

Обсуждение

gfif, 2014/01/17 12:56

Что-то не взлетело. После импорта появился только шаблон. ни элементов, ни графиков

Aleksey, 2014/01/17 19:04

В шаблоне нет элементов, только прототипы в "Обнаружение"

Загляните в раздел обнаружение - там обновление 3600сек. - либо ждите час либо поменяйте временно на 60, затем когда элементы появятся верните

Вы делали проверку скрипта?

Anton, 2014/01/31 12:20

Да, такая же ошибка, графиков нет, вызов zabbix_get -s host -k "iostat[read,sda]" работает. В правилах обнаружения красный крест с надписью - Value should be a JSON object, версия заббикса 2.2.1

Aleksey, 2014/01/31 14:11

:!: Исправил, должно работать

Anton, 2014/02/01 12:50

Спасибо

kyle, 2015/02/17 16:32

а зачем вообще этот скрипт если есть встроенная функция с версии 2.0

sach3000, 2016/07/07 16:14

tail -n 1 выводит последнее значение из всех найденных, что не верно.

если есть sdd sdd1 sdd2 sdd3 и указать

iostat -x | grep sdd | tail -n 1 | awk '{print $12}' - то выведется значение для sdd3.
Aleksey, 2016/07/08 13:44

У вас iostat вдруг начал выдавать данные еще и по каждому разделу диска ?

dagtk007, 2017/02/12 18:44

ошибся OS CentOS

команда

iostat -d | awk '{print $1}' | sed -e '/^\([hsv]d[a-z]\)$/!d'

нечего не выводит, хотя на ubuntu все работает !

Aleksey, 2017/02/15 14:12

сделайте такую команду - что бы выводила, и как у вас диски именуются, может там вообще рейд контроллер

Тимур, 2017/05/18 17:41

версия Zabbix 2.4.8. аналогично Anton, 2014/01/31 12:20. вызов zabbix_get -s host -k "iostat[read,sda]" работает. В правилах обнаружения красный крест с надписью - Value should be a JSON object обнаружение не работает. подскажите кто решил в чем загвоздка. заранее благодарю!

Aleksey, 2017/05/19 12:59
sudo -u zabbix /etc/zabbix/scripts/iostat.sh

что выдает

Ваш комментарий. Вики-синтаксис разрешён:
79 -13 = ?
 
howto/zabbix/zabbix_iostat_monitoring.txt · Последние изменения: 2014/04/25 12:07 (внешнее изменение)
Gentoo Linux Driven by DokuWiki