Мониторинг сервера FreeBSD

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

Мониторинг сервера FreeBSD

Сообщение RomA »

Не забывайте что после обновления системы у вас слетят права, которые вы выставили, в следствии чего перестанут собираться данные. для предотвращения этого можно воспользоваться sudo по примеру того как это сделано в этой статье viewtopic.php?f=16&t=57&p=309#p309

Задача:
В этой статье мы рассмотрим постановку на мониторинг параметров нашего FreeBSD сервера. Так как сервера у нас у всех одинаковые, то статья подойдет под все сервера компании.

Реализация:
Мониторить будем при помощи агента, так как только таким способом мы сможем снять максимальное кол-во параметров. Итак, заводим новый узел сети, и прикрепляем к нему шаблон Template_FreeBSD - как это все делать я повторяться не буду, а вот на шаблоне остановлюсь подробно. Тот шаблон, что есть по умолчанию нас не устраивает по ряду причин, потому на основе его мы будем делать свой. То есть когда вы заводите новый узел, то прикрепить шаблон вы должны с этого форума, который надо импортировать в ваш zabbix.

Шаблон:
Какие то изменения я уже сделал в этом шаблоне... это мелочные изменения, в виде корректировки значения тригеров или ния имени сетевой карты на bge - я не буду описывать эти изменения - они не столь значительны, как то, что будет идти дальше. Вам достаточно просто загрузить себе мой темплейт, и эти изменения появятся и у вас. А вот дальше я начинаю по пунктам описывать параметры, которые не были учтены в стандартном шаблоне, но нужны нам.

Мониторинг райда
Перво-наперво нам надо знать как живут наши жёские диски. На всех наших серверах поднят RAID, который мы и начнем мониторить. Идем на сервере в файл /usr/local/etc/zabbix/zabbix_agentd.conf в конец которого добавляем следующие строки

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

#####
# RAID status
#####
UserParameter=raid.0,/sbin/atacontrol status ar0 | grep 'status' | cut -f5 -d" " | grep DEGRADED | wc -l
UserParameter=raid.1,/sbin/atacontrol status ar1 | grep 'status' | cut -f5 -d" " | grep DEGRADED | wc -l
#####
перезапускам агент. Пока еще на сервере даем права доступа заббиксу к утилитке мониторинга райда

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

stat# chown root:zabbix /sbin/atacontrol
stat# chmod 710 /sbin/atacontrol
stat# chmod ug+s /sbin/atacontrol
Вот и все, теперь загружаем в вебуправление zabbix'ом новый темплейт, и мониторим состояние райда. Что, значит, мы делаем:
1) получаем стостояние райда (не важно какого) и ищем там слово "DEGRADED" как признак что он развалился
2) если не развалился, или пересобирается - у нас будет 0 если слово найдено - будет 1
3) когда найдем слово - сработает тригер, который сообщит нам что райд развален
4) шаблон мониторит два дисковых массива ar0 и ar1
templates_freebsd_v1.xml
Темплейт FreeBSD v1
(167.04 КБ) 815 скачиваний
Мониторинг температур и скоростей вентиляторов
Внимание, мониторинг температуры частично переработан в статье http://corp.stniva.ru/forum/viewtopic.p ... p=289#p289
Следующий критичный параметр - это охлаждение сервера. Не буду описывать для чего это надо - тут итак все понятно, потому переходим сразу к настройки мониторинга. для начала ставим из портов программку, которая нам будет помогать

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

# cd /usr/ports/sysutils/mbmon
# make install clean
и смотрим что она умеет

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

stat# /usr/local/bin/mbmon -c 1 -r -I
TEMP0 : 29.0
TEMP1 : 41.0
TEMP2 :  0.0
FAN0  : 10384
FAN1  : 10384
FAN2  : 10384
VC0   :  +2.16
VC1   :  +3.58
V33   :  +3.30
V50P  :  +5.54
V12P  : +10.64
V12N  :  +1.54
V50N  :  +1.09
stat# 
Мониторить напряжение я не вижу смысла - оно у нас на входе мониторится (переубедите меня), а вот температура и вращение кулеров - это нужное... Не теряя времени добавляем в /usr/local/etc/zabbix/zabbix_agentd.conf следующие строки

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

#####
# Parametry MatPlaty
#####
UserParameter=mb.t1,/usr/local/bin/mbmon -T 1 -c 1 -I
UserParameter=mb.t2,/usr/local/bin/mbmon -T 2 -c 1 -I
UserParameter=mb.f1,/usr/local/bin/mbmon -F 1 -c 1 -I
UserParameter=mb.f2,/usr/local/bin/mbmon -F 2 -c 1 -I
UserParameter=mb.f3,/usr/local/bin/mbmon -F 3 -c 1 -I
Перезапускаем агента. Загружаем новый шаблон.
Что, значит, мы создали:
1) поставили на мониторинг 5 параметров - 2 температуры и 3 вращения
2) создали 5 тригеров
3) создали 2 графика
templates_freebsd_v2.xml
Темплейт FreeBSD v2
(177.99 КБ) 762 скачивания
Мониторинг HDD
Для мониторинга состояния жеских дисков мы будем использовать утилитку smartctl. Устанавливаем из портов

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

cd /usr/ports/sysutils/smartmontools
make install clean
И сразу же даём права доступа

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

stat# chown root:zabbix /usr/local/sbin/smartctl 
stat# chmod 710 /usr/local/sbin/smartctl
stat# chmod ug+s /usr/local/sbin/smartctl
в файл /usr/local/etc/zabbix/zabbix_agentd.conf добавляем

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

#####
# Parametry HDD
#####
UserParameter=hdd1.t1,/usr/local/sbin/smartctl -a /dev/ad4 | grep "Temperature_Celsius" | cut -f37 -d" "
UserParameter=hdd2.t1,/usr/local/sbin/smartctl -a /dev/ad6 | grep "Temperature_Celsius" | cut -f37 -d" "
UserParameter=hdd3.t1,/usr/local/sbin/smartctl -a /dev/ad8 | grep "Temperature_Celsius" | cut -f37 -d" "
UserParameter=hdd4.t1,/usr/local/sbin/smartctl -a /dev/ad10 | grep "Temperature_Celsius" | cut -f37 -d" "
Перезапускам агента, импортируем шаблон и проверяем новые параметры.
На этом этапе мы сделали следующее:
1) замониторили температуру всех жеских дисков
2) создали 4 тригера
3) добавили в предыдущий график температур новые значения
templates_freebsd_v3.xml
Темплейт FreeBSD v3
(185.28 КБ) 785 скачиваний
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

Мониторинг gmirror raid массива

Сообщение RomA »

Все постепено переходим на gmirror - его тоже надо мониторить. я просто

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

UserParameter=raid.0,/sbin/atacontrol status ar0 | grep 'status' | cut -f5 -d" " | grep DEGRADED | wc -l
заменил на

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

UserParameter=raid.0,/sbin/gmirror status gm0 | grep "DEGRADED" | wc -l
проверял я это так:

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

stat# /sbin/gmirror status gm0 | grep "COMPLETE" | wc -l
       1
stat# /sbin/gmirror status gm0 | grep "DEGRADED" | wc -l
       0
Ответить