Налаштування моніторингу температури в серверній

Настав момент коли захотілося віддалено моніторити температуру в серверній, а також стежити за тим як холодить кондиціонер.
Стежити за температурою ми будемо з Linux-хоста в якому є COM (RS-232)-порт. Якщо такий відсутній, то можна придбати перехідник USB-> RS232
Для вимірювання температури використовуються датчики температури DS1820 від Dallas

Схема підключення датчика DS1820

На цій схемі:
Два діода Шотки 1N5818
Стабілітрон 1N5228 3.9 V
Стабілітрон 1N5234 6.2 V
Резистор 1.5 кОм.
9 -pin'овий роз'єм (для підключення до Com - порту материнської плати)
При даній реалізації схеми ми використовуємо всього 2 дроти для підключення датчика (земля і харчування закорочені), що зменшує кількість використовуваних датчиків і максимальну довжину кабелю, за даними з інтернету - така схема може витягати 10датчіков на довжині 60м. Власне мені більше і не потрібно 🙂

Схема в зборі

Схему я спаяв на платі і помістив в корпус RS232 роз'єму.
фото:

Налаштування моніторингу температури в серверній
Деталей не багато тому все вийшло компактно
Налаштування моніторингу температури в серверній
Схемка в зборі

Установка і настройка Digitemp

Для збору інформації з датчиків використовується програма Digitemp
Установка програми в Gentoo:

USE = "ds9097" emerge digitemp

Установка програми в Ubuntu:

apt-get install digitemp

Тепер спробуємо форматувати датчики:

digitemp_DS9097 -i -s / dev / ttyS0 У відповідь нам видасть. Searching the 1-Wire LAN 10FBF32C020800C2. DS1820 / DS18S20 / DS1920 Temperature Sensor ROM # 0. 10FBF32C020800C2 Wrote .digitemprc

Власне все чудово.
Примітка: Якщо підключати схему через USB-перехідник. то необхідно в системі встановити libusb і включити в ядрі

а так-же вибрати правильний драйвер. Я не мучився і включив підтримку для майже всіх USB-контролерів.
При цьому ініціалізація датчиків відбувається десь так:

Власне в останньому рядку і є наша температура в серверній.
Тепер навчимо Cacti брати цю температуру і будувати графік.
Заходимо в настройки нашого хоста і додаємо Add Graph Template: SNMP - Generic OID Template

SNMP - Generic OID Template

Переходимо в розділ "Create Graphs for this Host". створюємо графік на основі шаблону

Налаштування моніторингу температури в серверній
Create: SNMP - Generic OID Template

З'явиться вікно налаштувань нового графіка:

Налаштування SNMP - Generic OID Template

У розділі Custom Data потрібно ввести значення oid в якому зберігається наша температура.
Його повний запис:

Воть так ось 🙂
Але і це не все! ))))
А якщо приватним підприємцем? Адміни уві сні графіки не бачать .... і потрібно їх якось повідомити про те, що відбувається.
Простіше простого.

Голосове сповіщення про температуру в серверній

Пишемо-с скрипт:
cat temp_warn.sh

#! / Bin / bash cd / scripts TEMP = `/ bin / bash checktemp | cut -b1-2` echo $ TEMP if [$ TEMP -gt 33] then echo "Temperature in DataCenter is" $ TEMP cp / scripts / callfile / var / spool / asterisk / outgoing / sendEmail -f [email protected] - t [email protected] -u "Message from DataCenter №1" -m "Temperature in DataCenter is critical" $ TEMP -s smtp.corp.ua:25 -xu [email protected] -xp password fi

Channel: DAHDI / g1 / Se0501113355 Application: Playback Data: temp-warning

temp-warning - це підготовлений звуковий файл який лежить в / var / lib / asterisk / sounds / en /

[Code] USE = "ds9097" emerge digitemp [/ code]
Краще заздалегідь створити /etc/portage/package.use/digitemp з вмістом
[Code] app-misc / digitemp ds9097 [/ code]
Якщо використовувати USE прямо під час складання, при оновленні системи будуть проблеми 🙂

Схожі статті