Мониторинг ZFS [zabbix22]

Примеры из жизни как развернуть и настроить систему мониторинга zabbix
Ответить
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

Мониторинг ZFS [zabbix22]

Сообщение RomA »

Не так давно я писал статью о том, как перейти на современную и удобную систему ZFS и вот настало время мониторить это всё дело. делается оно всё привычно, потому много не разглагольствуя сразу к делу.
Для работы нам понадобится "линуксовый" sed - установим его

Код: Выделить всё

stat# cd /usr/ports/textproc/gsed
stat# make install clean
Ответим на вопросы
┌──────────────────────────────── gsed-4.2.2 ──────────────────────────────────┐
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │+[x] DOCS Build and/or install documentation │ │
│ │+[x] NLS Native Language Support │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
├──────────────────────────────────────────────────────────────────────────────┤
│ < OK > <Cancel> │
└──────────────────────────────────────────────────────────────────────────────┘
Обновим пути ну и глянем где наш герой

Код: Выделить всё

stat# rehash
stat# whereis gsed
gsed: /usr/local/bin/gsed
Заодно проверим установлен ли sudo - он нам понадобится. У меня он был уже установлен - если у вас нет, то поставьте его из портов

Код: Выделить всё

stat# whereis sudo
sudo: /usr/local/bin/sudo
Итак, приступаем.
Идём в /usr/local/etc/zabbix22/zabbix_agentd.conf.d где создаём файл userparameter_zfs.conf

Код: Выделить всё

cd /usr/local/etc/zabbix22/zabbix_agentd.conf.d
touch userparameter_zfs.conf
Сам файл имеет следующее содержание

Код: Выделить всё

#####
# ZFS Pool
#####
UserParameter=zfs.pool.discovery,/usr/local/bin/sudo /sbin/zpool list -H -o name | /usr/local/bin/gsed -e '$ ! s/\(.*\)/{"{#POOLNAME}":"\1"},/' -e '$  s/\(.*\)/{"{#POOLNAME}":"\1"}
UserParameter=zfs.fileset.discovery,/usr/local/bin/sudo /sbin/zfs list -H -o name | /usr/local/bin/gsed -e '$ ! s/\(.*\)/{"{#FILESETNAME}":"\1"},/' -e '$  s/\(.*\)/{"{#FILESETNAME}
UserParameter=zfs.zpool.health[*],/usr/local/bin/sudo /sbin/zpool list -H -o health $1
UserParameter=zfs.get.fsinfo[*],/usr/local/bin/sudo /sbin/zfs get -o value -Hp $2 $1
#####
Обратите внимание - тут много путей, вдруг прийдётся что нить править :-)
Ну а мы идём дальше - давайте порправим конфиг sudo

Код: Выделить всё

Defaults:zabbix	!requiretty
zabbix	ALL=(root)	NOPASSWD:	/sbin/zpool
zabbix	ALL=(root)	NOPASSWD:	/sbin/zfs
Ну и как итог - перезапустим агента

Код: Выделить всё

stat# /usr/local/etc/rc.d/zabbix_agentd stop
Stopping zabbix_agentd.
Waiting for PIDS: 2317 2336 2337 2338 2339 2340.

stat# /usr/local/etc/rc.d/zabbix_agentd start
Starting zabbix_agentd.
Теперь импортируем шаблон в zabbix - как это делать мы уже разбирали, потому останавливаться не буду. Шаблон:
zbx_zfs.xml
(19.64 КБ) 865 скачиваний
После чего прицепляем шаблон к хосту и ждём (я просто ушёл на обед)

Ну и по традиции на последок скриншоты, что мы получили
5.jpg
5.jpg (25.96 КБ) 6516 просмотров
1.jpg
1.jpg (40.41 КБ) 6516 просмотров
2.jpg
2.jpg (133.17 КБ) 6516 просмотров
3.jpg
3.jpg (157.31 КБ) 6516 просмотров
По мотивам:
https://www.zabbix.com/forum/showthread.php?t=43347
http://unix-heaven.org/node/89
Ответить