Привет! Достаточно часто разработчики и системные администраторы сталкиваются с необходимостью присылать уведомления, например об ошибках или отчёт о работе таска, а у кого-то это финансовый отчёт за день. Тут всё ограничено фантазией и поставленными задачами. Каждый сам выбирает удобный инструмент или пишет что-то своё.
Мне подобная задача встречается практически на всех проектах, с которыми работаю в последние годы. Решил упростить себе жизнь — найти или сделать удобный инструмент для уведомлений.
Определил требования:
- бесплатно (плату за трафик не учитываем)
- работает на большинстве популярных платформ
- групповые и индивидуальные уведомления
- простая реализация отправки
Первое, что пришло в голову — SMS, но это не бесплатно, а на больших объёмах очень даже дорого. Второе — pushover, но он тоже платный, хотя и достаточно приятный. И тогда я решил посмотреть в сторону чего-то готового, что уже есть на современных телефонах, а именно на мессенджеры. Боты в Telegram полностью покрыли мои задачи!
Так появился бот Alarmer.
Принцип работы крайне прост:
- добавляете его в контакт-лист или в чат
- получаете ключ
- обычным https-запросом отправляете сообщение и ключ
- получаете это сообщение у себя в Telegram
Если бот добавлен в чат, то уведомление получат все участники этого чата. Давайте рассмотрим простой пример:
Получен ключ: 21dd13-b6486d-8ba16b
Отправляем запрос (CURL, wget, file_get_contents, ...):
И получаем уведомление:
Вот так всё просто! Вы и сами можете реализовать нечто подобное, но если просто требуется инструмент и нет желания переписывать уже готовое, то пользуйтесь алармером.
Важно: бот принимает только сообщения, начинающиеся с символа "/". Это будет интересно тем, кто добавил бота в чат и обсуждает там что-то секретное. И да, запросы не логируются, ни на стороне NGINX, ни самим скриптом.
Хорошего вам дня и, надеюсь, статья была полезна!
Автор: All4DK