Управление сервером с помощью UPS ippon back basic 650 с отправкой сообщений в Telegramm

Решил настроить уведомления в telegramm о выключении и включении сервера (с контролем разных параметров с датчиками автоматизации умного дома). Идея пришла когда заметил что в какой-то момент сервер оказывается выключенным. Да, предварительно я настроил ИБП на выключение сервера при отсутствии питания, но хотелось понять как часто это происходит и оперативно получать информацию в telegramm. Постараюсь сделать полное описание, тем более это я делаю для того чтобы потом вспомнить, когда что-то сломается ….

Настройки проводил все на Debian.
Скрипт /usr/local/bin/ups_server_start.sh (при запуске системы отправляет сообщение в telegramm):
#!/bin/bash
curl -s -X POST —connect-timeout 10 https://api.telegram.org/bot11111111:AAkKhGKhgikgS9IbyCgw6n
RZS-j_UHff0DhMU/sendMessage -d chat_id=-2452457247 -d parse_mode=»HTML» -d text=»<b>`date ‘+Дата:
%m/%d/%y;Время:%H:%M:%S’`</b> <pre>Система на сервере запущена</pre>»root@ipnetcat:~#

Управление с помощью systemd (/etc/systemd/system/after_system_start.service) :
[Unit]
Description=Start MSG
Wants=network-online.target
After=network.target network-online.target

[Service]
ExecStart=/usr/local/bin/ups_server_start.sh
Type=oneshot

[Install]
WantedBy=multi-user.target network-online.target

Настройки NUT (/etc/nut/upsmon.conf)
MONITOR ippon@192.168.1.2 1 upsmon 12345 master
MINSUPPLIES 1
SHUTDOWNCMD «/sbin/shutdown -h +0»
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYMSG ONLINE        «UPS %s on line power»
NOTIFYMSG ONBATT        «UPS %s on battery»
NOTIFYFLAG ONLINE       SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT       SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT     SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

Настройки NUT (/etc/nut/upssched.conf)
CMDSCRIPT /usr/local/bin/upssched.sh
PIPEFN /var/run/nut/upssched/upssched.pipe
LOCKFN /var/run/nut/upssched/upssched.lock
AT ONLINE * EXECUTE online
AT ONBATT * EXECUTE onbatt
AT LOWBATT * EXECUTE lowbatt
AT REPLBATT * EXECUTE replbatt

Настройки NUT (/usr/local/bin/upssched.sh):
case $1 in
       onbatt)
                       curl -s -X POST —connect-timeout 10 https://api.telegram.org/bot{IDBOT}/sendMessage -d chat_id={IDCHAT} -d parse_mode=»HTML» —
d text=»<b>`date ‘+Дата:%m/%d/%y;Время:%H:%M:%S’`</b> <pre>Отсутствует электричество, сервер работает от батареи, ларь отключен.</pre>»
               ;;
       online)
                       curl -s -X POST —connect-timeout 10 https://api.telegram.org/bot{IDBOT}/sendMessage -d chat_id={IDCHAT} -d parse_mode=»HTML» —
d text=»<b>`date ‘+Дата:%m/%d/%y;Время:%H:%M:%S’`</b> <pre>Электричество восстановлено, сервер работает в обычном режиме.</pre>»
               ;;
       lowbatt)
                       curl -s -X POST —connect-timeout 10 https://api.telegram.org/bot{IDBOT}/sendMessage -d chat_id={IDCHAT} -d parse_mode=»HTML» —
d text=»<b>`date ‘+Дата:%m/%d/%y;Время:%H:%M:%S’`</b> <pre>Батарея низкой зарядки или не заряжается.</pre>»
               ;;
       replbatt)
                       curl -s -X POST —connect-timeout 10 https://api.telegram.org/bot{IDBOT}/sendMessage -d chat_id={IDCHAT} -d parse_mode=»HTML» —
d text=»<b>`date ‘+Дата:%m/%d/%y;Время:%H:%M:%S’`</b> <pre>Требуется замена батареи</pre>»
               ;;
esac

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

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

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