среда, 1 июня 2011 г.

Мониторинг температуры серверной с помощью digitemp.

В серверной имеется старенький датчик температуры DS9097U. Года полтора назад надо было настроить мониторинг температуры в серверной. Собственно, это небольшая заметка о проделанной ранее работе. В организации, где я работаю, активно используется Nagios для мониторинга серверов/стоек/активного оборудования и т.п. Далее я кратко опишу, как прикрутить digitemp к nagios. DigiTemp - это простая программа, используемая для чтения данных из датчиков температур, в моем случае подключенных к COM-порту сервера под RHEL 6 (ранее RHEL 5).

1. Скачать digitemp можно отсюда:
wget -c http://www.digitemp.com/software/linux/digitemp-3.6.0.tar.gz

2. Распаковать
tar xzf digitemp-3.6.0.tar.gz
cd digitemp-3.6.0


3. прочитать README
less README

4. Компилирование исходников
make ds9097u

5. Инициализация датчика (ищет доступные устройства, если не указать явно, и записывает их ROM-параметры в .digitemprc)
./digitemp_DS9097U -i -s /dev/ttyS0

6. Копирование файлов в нужные папки
cp digitemp_DS9097U /usr/local/bin
ln -s /usr/local/bin/digitemp_DS9097U /usr/local/bin/digitemp
mv .digitemprc /etc/nagios/digitemp.conf


7. Установить необходимые права на устройство, либо добавить пользователя nagios в группу, которой принадлежит файл /dev/ttyS0
chmod 666 /dev/ttyS0 (подключенное устройство)
Обязательно добавить в правила udev соответствующие разрешения.

8. Скачать плагин для nagios под названием check_digitemp.pl. Например, отсюда http://oss.teamix.org/projects/nagiosplug/repository/revisions/master/changes/contrib/check_digitemp.pl

Проверка
/usr/local/nagios/libexec/check_digitemp.pl -t 0 -f /etc/nagios/digitemp.conf -w 30 -c 35 -C
добавить в /etc/nagios/nrpe.conf на стороне сервера, к которому подключен датчик.
echo “command[check_temperature]=/usr/local/nagios/libexec/check_digitemp.pl -t 0 -f /etc/nagios/digitemp.conf -w 30 -c 35 -C” >> /etc/nagios/nrpe.conf

Описать сервис на хосте с Nagios
define service{
use linux-service
host_name dbtest01
service_description Current temperature
check_command check_nrpe!check_temperature
}


Объявить команду check_temperature в файле /etc/nagios/commands.cfg на хосте с Nagios
*****
#DigiTemp temperature check command
define command{
command_name check_temperature
command_line $USER1$/check_digitemp.pl -w $ARG1$ -c $ARG2$ -t $ARG3$ -f $ARG4$ -C
}

*****

Комментариев нет:

Отправить комментарий