Отслеживание электропитания через ACPI на ноутбуке

Автор: | 20.09.2016

На ноутбуке стоит система мониторинга Zabbix, которая обучена отсылке SMS-сообщений.
Необходимо знать из первых уст, так сказать, что пропало внешнее питание.

Если ядро собрано с поддержкой ACPI и запущен демон devd, то при подключении/отключении внешнего питания будет генерироваться событие типа notify от подсистемы ACAD, системы ACPI. По умолчанию на это событие назначен скрипт, изменяющий профиль питания, но ничего не мешает добавить дополнительное действие:

/etc/rc.d/power_profile — это дефолтовый скрипт, /usr/local/etc/acpi_power_mon.sh — наш сцеарий. Амперсанд нужен для того, чтобы скрипт оставался запущенным и не мешал devd.

В самом скрипте, при пропадении питания создаём pid-файл, сообщаем по SMS куда следует, пишем в лог и запускаем цикл проверки заряда батареи. В случае падения заряда ниже min_cap, шлём смску, ждем 2 минуты и выключаемся.
Если питание появится до отключения сервера, убиваем процесс ранее запущенного скрипта и отсылаем SMS.

SMS отправляются по номерам, указанным через пробел в переменной numbers, но т.к. в Zabbix уже есть список номеров, логичней воспользоваться им.
В запросе выбираются номера пользователей, состоящих в группе «Zabbix Super Admin» и имеющих возможность уведомления по SMS.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *