Рассказываю про отличный сервис, который позволит выводить у | ServerAdmin.ru
Рассказываю про отличный сервис, который позволит выводить уведомления, к примеру, от системы мониторинга в пуши смартфона или приложение на десктопе. При этом всё бесплатно и можно поднять у себя.
Речь пойдёт про сервис ntfy.sh. Сразу покажу, как им пользоваться, чтобы было понятно, о чём идёт речь. Идёте по ссылке в веб приложение: https://ntfy.sh/app. Разрешаете ему отправлять уведомления. Подписываетесь на новую тему. После этого получаете ссылку вида: ntfy.sh/Stkclnoid6pLCpqU
Теперь идёте в любую консоль и отправляете с помощью curl себе уведомление:
# curl -d "Test Message" ntfy.sh/Stkclnoid6pLCpqU
Получаете оповещение от веб приложения. То же самое можно сделать, установив на смартфон приложение. Сервис бесплатный. При этом серверная часть open source. Вы можете развернуть сервер у себя и отправлять уведомления через него. Есть репозитории под все популярные системы. Инструкция прилагается.
Таким образом любой сервис, умеющий выполнять вебхуки, может без проблем отправлять уведомления вам на смартфон или десктоп. Например, в Zabbix достаточно в способах оповещений добавить новый с типом Webhook, в качестве скрипта использовать примерно следующее:
var response,
payload,
params = JSON.parse(value),
wurl = params.URL,
msg = params.Message,
request = new CurlHttpRequest();
request.AddHeader('Content-Type: text/plain');
response = request.Post(wurl, msg);
В качестве URL укажите свою подписку в ntfy. Теперь это оповещение можно добавлять пользователям. Им будет приходить уведомление с текстом, который передаёт макрос {ALERT.MESSAGE}.
Либо совсем простой пример для какой-то операции в консоли:
# rsync -a /mnt/data user_backup@10.20.1.1:/backups/srv01 \
&& curl -H prio:low -d "SRV01 backup succeeded" ntfy.sh/Stkclnoid \
|| curl -H tags:warning -H prio:high -d "SRV01 backup failed" ntfy.sh/Stkclnoid
Если бэкап успешен, отправляем одно уведомление, если нет, то другое.
Такой вот простой и удобный сервис.
⇨ Сайт / Исходники
#мониоринг #zabbix #devops