Как стать автором
Обновить

Комментарии 12

Можно исключить одно звено из Вашей цепочки, убрав нетривиальную настройку HTTPS и сертификата, а именно:
При наступлении какого-либо события вызывать URL:
https://api.telegram.org/botBOT_ID:BOT_TOKEN/sendmessage?chat_id=CHAT_ID&text=test *test* test&parse_mode=Markdown

Некоторые сервисы мониторинга позволяют в случае «алерта» «дёргать» произваольный URL.
Спасибо, об этом не знал — очень пригодится. Однако с установкой SSL сертификата я бы не советовал затягивать? т.к. в скором времени поисковые роботы будут применять санкции к сайтам не поддерживающим протокол https
А на тот случай если урлы дергать возможности нет, можно гонять это все через почту используя procmail и немного смекалки.

 $ cat .procmailrc                                                                                                                                                                                                                                                   [14:20:32]
# send message to telegram
#
:0b:
| $HOME/telegram

chemist@monitoring: /opt/prometheus
 $ cat telegram                                                                                                                                                                                                                                                      [14:20:40]
#!/bin/zsh
#
#
DEVOPS="GROUPID"
BOT=BOTID
BOT_TOKEN=bot token here

BODY=$(< /dev/stdin)

alias urlencode='python -c "import sys, urllib as ul; print ul.quote(sys.argv[1])"'

URL="https://api.telegram.org/${BOTID}:${BOT_TOKEN}/sendMessage?chat_id=${DEVOPS}&text=$(urlencode ${BODY})"

/usr/bin/curl -i -X GET ${URL}
спасибо, буду пробовать!
zsh — интересная оболочка
Про procmail поясните пожалуйста подробнее
Ну отправил письмо на почту, сработало прерывание, выполнился скрипт telegram, в котором отработал запрос на url sendMessage…
В файле procmailrc указано, какие действия надо предпринять после получения сообщения.
Как-то так.
Есть замечательный https://github.com/ableev/Zabbix-in-Telegram от ableev, пишущий сообщения заббикса в Телеграм. Нужд изобретать какие-то еще велосипеды не вижу.
Мой телеграм бот анализирует прогноз погоды на 24 часа, состоящий из 9 показателей. После этого он формирует прогноз клева рыбы на основе состояния этих показателей, нетрудных математических операций и собственного опыта, а следом отправляет этот прогноз всем, кто прежде отправил ему команду /forecast
Что касается zabbix — я не сторонник аналогичных решений и это все же несколько иной функционал, нежели описан в статье. Те, кто отправил команду /requests боту @born2fishBot, начнут получать от него сообщения о каждом запросе на сайте born2fish.ru. Это не требует установки стороннего софта на сервер — достаточно создать бота и добавить отправку сообщения в context processor, как бы он у вас не выглядел. Это позволяет в режиме реального времени следить за индексацией сайта роботами, за брутфорсом http форм, за процессом регистрации пользователей, а так же еще много всего. По сути это аналог tail -f /var/log/nginx/access.log, который приходит вам в телеграм.
Если кому-то нужен мониторинг на основе телеграм бота, то я для себя и всех желающих сделал https://trafficrobot.tk/
Классный бот у вас! Удобно использовать как обвязку для email уведомлений.
А исходники, случаем, не открыты?
Хмм. Может открыть, действительно.
А почему-бы и нет :) Если вам кода «не жалко» и/или не преследуете коммерческих целей почему бы не сделать вклад в сообщество.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации