ELXSoftware

ELX-HealthMonitor

Документация

Установить агента, выбрать, за чем он следит, и сделать письма такими, чтобы их читали.

Установка

Установка
sudo install -m 755 elx-healthmonitor-linux-amd64 /usr/local/bin/elx-healthmonitor
sudo /usr/local/bin/elx-healthmonitor --install-service
sudo systemctl enable --now elx-healthmonitor
# веб-интерфейс: http://<сервер>:8555
Рекомендуется, но необязательно
sudo apt-get install -y smartmontools
ПутьЧто это
/usr/local/bin/elx-healthmonitorИсполняемый файл
/etc/elx-healthmonitor/config.jsonНастройки, права 0600
/var/lib/elx-healthmonitor/history.dbИстория метрик и журнал событий
/etc/systemd/system/elx-healthmonitor.serviceЮнит автозапуска
Ключи командной строки
--config <путь>        файл конфигурации
--listen <адрес>       адрес веб-интерфейса, напр. :8555
--log-level <уровень>  debug | info | warn | error
--version              версия и дата сборки

Что собирать

Раздел «Настройки» решает, что опрашивается, как часто и что исключить; раздел «Оповещения» — когда вы об этом узнаете. Изменения применяются сразу, без перезапуска. Правка config.json с перезапуском службы даёт тот же результат.

Что стоит исключить первымLoop- и виртуальные устройства в разделе файловых систем. Оставленные, они забивают таблицу строками, в которые ещё никому не требовалось заглядывать.

Оповещения

Правило — это условие, порог и выдержка. Выдержка и есть самое важное: без неё мониторинг сообщает о каждом мгновенном всплеске, и через неделю его письма перестают читать.

За чем следитьПорог, который работает
Заполнение файловой системы85 процентов — успеть среагировать, не торопясь
Загрузка процессораВыше 90 процентов, удерживаемых десять минут, а не десять секунд
Температура дискаВыше 50 °C устойчиво; кратковременный пик во время резервного копирования нормален
SMARTЛюбое изменение переназначенных или нестабильных секторов — без выдержки, сообщать сразу
RAIDМассив деградировал или ненулевое число расхождений — всегда
СлужбаЮнит, который должен работать и не работает

Почта поддерживает три режима шифрования: SMTPS, где TLS устанавливается сразу при подключении (обычно порт 465); STARTTLS, где оно включается командой (обычно 587); и без шифрования — уместное только для почтового ретранслятора внутри своей сети.

История

  • raw_retention_days — сколько показания хранятся ровно такими, какими измерены; по умолчанию трое суток.
  • rollup_interval_sec — размер интервала после этого; пять минут, со средним, минимумом и максимумом в каждой точке.
  • retention_days — когда всё удаляется; по умолчанию месяц.

Прореживание идёт окнами по шесть часов, чтобы база ни разу не оказалась занятой достаточно долго, чтобы это заметили.

Зачем хранить минимум и максимумОдно среднее скрывает как раз то событие, которое вы искали: диск, нагревшийся до 60 °C на минуту внутри пятиминутного интервала, в среднем выглядит ничем не примечательным.

Когда что-то не так

СимптомКуда смотреть
Интерфейс не открываетсяsystemctl status elx-healthmonitor и не занят ли порт
Раздел SMART пустНе поставлен smartmontools или диски за контроллером, который не пропускает SMART
Температур нет совсемВиртуальная машина — физических датчиков там просто нет
Почта не доходитНе тот режим шифрования для порта: 465 — это SMTPS, 587 — STARTTLS
Оповещения идут непрерывноСлишком короткая выдержка или порог внутри обычного для этой машины диапазона
История обрывается через несколько днейСрок хранения меньше, чем вам кажется, или переполнен диск с базой

Частые вопросы

Где журнал самого агента?
journalctl -u elx-healthmonitor -f.
Стоит ли выставлять интерфейс в интернет?
Нет. Он умеет перезапускать службы и перезагружать машину. Ходите к нему по частной сети или через туннель.
Как убрать кнопки выключения?
Снимите server.allow_power_control в конфигурации, и перезагрузка с выключением исчезнут из шапки.