Gotify – open source проект по доставке уведомлений. Это небольшой одиночный бинарник на Go, который собран даже под Windows. Он состоит из:
▪️API для приёма сообщений;
▪️веб интерфейса для управления и просмотра сообщений;
▪️Android клиента для получения сообщений и пушей на смартфоне.
То есть схема работы такая. Вы поднимаете свой сервер Gotify. Добавляете туда приложение, получаете для него токен. Идёте в тот же Proxmox, добавляете в качестве получения уведомлений Gotify сервер. Для этого нужно будет указать его URL и токен приложения. И всё. Теперь все уведомления от этого Proxmox будут в отдельном канале уведомлений в Gotify, где их можно будет просматривать. Если Gotify открыт в браузере, будете получать уведомления от браузера, если на смартфоне – от смартфона. Только надо не забыть его настроить, чтобы система позволяла работать приложению в фоне, чтобы приходили пуши.
Это почти то же самое, что и ntfy.sh, про который я когда-то рассказывал. Хотел дальше написать, что Gotify более популярный, но глянул звёзды на github, а у ntfy их 19.7k, против 11.9k у Gotify. Так что о популярности трудно так сказать. Тем не менее, не припоминаю, чтобы где-то видел явное указание поддержки ntfy, а вот Gotify встречал много раз.
Даже если в каком-то софте не заявлена поддержка Gotify, отправлять туда сообщения можно обычными веб хуками примерно так:
# curl "https://gotify.example.com/message?token=<apptoken>" -F "title=my title" -F "message=my message" -F "priority=5"Из консоли или скриптов можно прямо бинарником Gotify-CLI отправлять уведомления:
# gotify push -t "my title" -p 10 "my message"# echo my message | gotify pushПараметры URL и token указываются в конфигурационном файле, который формируется с помощью команды
gotify init. Запустить сервер можно в Docker:
# docker run -p 80:80 -v /var/gotify/data:/app/data gotify/serverПо умолчанию состояние хранится в sqlite3 базе. Можно настроить хранение в mysql или postgres. Параметры задаются в файле конфигурации сервера. Он небольшой, все значения описаны в документации. В проде сервер имеет смысл ставить за обратным прокси. Примеры настроек всех популярных веб серверов тоже есть в документации.
Пример того, как отправлять уведомления от Zabbix в Gotify через alertscripts. Задача скрипта преобразовать уровни значимости формата Zabbix в приоритеты Gotify. А дальше просто через curl отправка уведомлений.
Продукт простой и полезный. Позволяет с минимумом усилий навести порядок с уведомлениями от различных сервисов, выделив их в отдельный поток, не перемешивая с остальными уведомлениями на смартфоне или почте. Отлично изолирует работу от личной жизни. Не хватает только пересылки в какие-то другие системы. Gotify все уведомления замыкает на себя. Хотелось бы их ещё куда-то дублировать, если появится такая необходимость.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#мониоринг #zabbix


