Свою первую статью на Хабре интересно написать по материалу, основанному на личном опыте и действиях. Для этот как раз подходит раздел DIY или Сделай сам.
Нижеописанная система уже работает больше года практически без перерыва.
Задача:
Собрать бюджетную (с минимальными затратами) стабильную систему для простого удаленного мониторинга температуры в Серверной комнате.
В Серверной установлены два кондиционера (сплит-системы), две 19” стойки с оборудованием (коммутационное оборудование + сервера + ИБП).
Решение собиралось из имеющихся под рукой устройств (некоторым более 10 лет уже было) и бесплатного ПО.
Список оборудования и ПО:
- цифровой USB-термометр MP707 (диапазон измеряемых температур, -55...+125);
- 10-летний неттоп с МП MSI A9830IMS, Intel Atom N270 (1 Сore1.60 GHz), 1GB ОЗУ, 80GB HDD;
- ОС и ПО для неттопа: Linux Mint 17.1 Cinnamon 32-bit + ПО BMcontrol + служба SNMP + bash-script;
- ПО для мониторинга: PRTG Network Monitor 17.1.28.1341 x64 на 100 сенсоров (бесплатное), установлено на внешнем ПК с Windows 7.
Устанавливаем в Серверной комнате датчик температуры (красным показано место установки):
Вот датчик закреплен на стойке:
Настройка Неттопа:
— устанавливаем Linux Mint, обновляем;
— подключаем к неттопу по USB-кабелю USB-термометр MP707;
— получаем id температурного датчика с помощью BMcontrol;
— проверяем работу датчика: «sudo /var/www/bmcontrol1 temp b0000002c6dded28»
— пишем простой скриптик на 10+ лет работы системы:
#!/bin/bash
count=0
sensor=`sudo /var/www/bmcontrol temp b0000002c6dded28`
while [ $count -lt 9000000 ]
do
(( count++ ))
echo $count
#echo $sensor
echo `sudo /var/www/bmcontrol1 temp b0000002c6dded28`
sudo /var/www/bmcontrol1 temp b0000002c6dded28 > /tmp/1.txt
sleep 60
done
— теперь у нас есть работающий и выдающий данные датчик, осталось передать эти данные в систему мониторинга – поднимаем службу SNMP и в конфиге snmpd.conf добавляем событие для передачи данных с датчика температуры, записанных в файл «extend .1.3.6.1.4.1.2021.51 ipmitemp /bin/cat /tmp/1.txt».
Настройка PRTG (это уже для данных с датчика)
(Главное, правильно интерпретировать данные с помощью регулярных выражений, путем экспериментов только получилось сделать как нужно эти настройки, внизу подсказка как они должны быть).
БАЗОВЫЕ НАСТРОЙКИ ДАТЧИКА Имя датчика SNMP Серверная Температура
Значение OID 1.3.6.1.4.1.2021.51.3.1.1.8.105.112.109.105.116.101.109.112
РАСШИРЕННАЯ ОБРАБОТКА
Интерпретировать результат как Строка (по умолчанию)
Извлекать числовое значение с помощью регулярного выражения
Регулярное выражение ([1-2][0-9].[0-9][0-9])
Теперь в ПО PRTG мы получаем данные по температуре из Серверной от датчика.
Не совсем простая система получилась, но очень дешевая (пришлось только датчик купить), да и как лабораторный вариант и потренироваться для настройки и понимания работы разных компонент – очень полезно.
В данный момент система работает более года (на этой неделе как раз проверил ее и перезапустил скрипт для профилактики) и далее будет еще развиваться, но это совсем другая история.
Автор: denis-19