Эффективный мониторинг температуры серверных с Raspberry Pi и Nagios
За последние пару месяцев я внедрял и наращивал решение мониторинга для наших девелоперских и продакшн систем. Поскольку Nagios — самое любимое/ненавидимое решение мониторинга, я чувствовал себя обязанным научиться, как оно работает. После битв с правами пользователей, правилами файрвола, сломанными зависимостями и практически любой другой проблемой, которую оно могло бросить, у меня наконец получилась рабочая система Nagios. Поскольку я люблю Bootstrap и делаю конфигурацию максимально безболезненной, я потратил время на установку Adagios поверх Nagios. Очень рекомендую — это делает работу с Nagios гораздо более приятной и выглядит чертовски лучше.
Теперь к веселому: как тренд продолжается, я люблю использовать Raspberry Pi везде, где могу. Они малы, потребляют мало энергии и имеют достаточно входов для подключения датчиков. Недавно я листал r/sysadmin, когда наткнулся на пост «На прошлом месяце уборщицы повредили мои любимые серверы». Это заставило меня думать… теперь, когда я мониторю дисковое пространство, память, CPU нагрузку, может, мне стоит начать мониторить температуру серверной.
Необходимые инструменты
- Raspberry Pi
- 4.7 кОм резистор
- DS18B20
Проводка
Сначала я тестировал сетап на макетной плате с перемычками перед пайкой. Если это не вариант для вас — вперед, припаяйте 4.7 кОм резистор между 3.3V (красный провод) и линией данных (желтый провод).
Ниже диаграмма того, как всё должно быть подключено, взята из туториала Adafruit.
Настройка NRPE
Чтобы Nagios мог мониторить температуру, ему понадобится NRPE агент на Raspberry Pi. Вот быстрый гайд по установке NRPE.
- Скачайте и распакуйте NRPE-2.x с: sourceforge.net
- Распакуйте:
tar -zxvf nrpe-2.15.tar.gz - Перейдите в директорию:
cd nrpe-2.15/ - Создайте симлинк для SSL библиотеки ARM:
sudo rm /usr/lib/libssl.so; sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so /usr/lib/libssl.so - Запустите конфигурацию:
./configure(если не хватает зависимостей — решите их) - Создайте пользователя и группу nagios, соберите и установите от root:
sudo useradd nagios
sudo make all
sudo make install
sudo make install-plugin
sudo make install-daemon - Скопируйте пример конфига:
sudo mkdir /usr/local/nagios/etc
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/ - Скопируйте init скрипт Debian и дайте права:
sudo cp init-script.debian /etc/init.d/nrpe
sudo chmod 700 /etc/init.d/nrpe - Отредактируйте nrpe.cfg: добавьте Nagios сервер в allowed_hosts и команду check_temp:
sudo vim /usr/local/nagios/etc/nrpe.cfg
> allowed_hosts=127.0.0.1,YOUR_NAGIOS_SERVER_IP_HERE
> command[check_temp]=/usr/local/nagios/libexec/check_temp.sh -w 30 -c 40
Убедитесь, что порт 5666 открыт:nrpe 5666/tcp #nrpe - Запустите NRPE:
sudo service nrpe start - Проверьте работу:
ps aux | grep nrpe— должен показать процесс nrpe. - Автозапуск при ребуте:
sudo update-rc.d nrpe defaults
Теперь NRPE агент установлен на Raspberry Pi — время поставить скрипт check_temp.
Код
Сохраните следующий скрипт как check_temp.sh внутри /usr/local/nagios/libexec/
Дайте права на выполнение: chmod +x /usr/local/nagios/libexec/check_temp.sh
Для подробностей: Monitoring Room Temperatures with a Raspberry Pi and Nagios
Производственный процесс
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Как считывать температуру с DS18B20 на Raspberry Pi 2
- Домашний монитор температуры и влажности на Raspberry Pi с веб-дашбордом — удаленный трекинг в реальном времени
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- Домашний энергетический центр: мониторинг солнечных панелей, тепловых коллекторов и температуры комнат на Ra…
- Точный мониторинг температуры в серверной на Raspberry Pi
- Удалённый мониторинг погоды на Raspberry Pi 3 с PubNub
- Мониторинг температуры помещения на Raspberry Pi с графиками Gnuplot и email-алертами
- Создание умного домашнего контроллера 433 МГц с Sensorflare и Raspberry Pi