
Есть у меня один прекрасный сервер, который имеет характерную особенность — зависать. В данной статье мы не будем рассматривать очевидные идеи по типу того, что не плохо бы найти причину этого зависания …
Я подумал, что было бы очень хорошо иметь оперативное уведомление о том что сервер более не доступен. Поехали!
Создаем в телеграмме нового бота. Отправляем контакту BotFather команду /newbot (кстати там можно и другие настройки делать, менять имя, устанавливать аватару и т.д.)
Задаем отображаемое имя бота в произвольном формате. Затем, задаем юзернейм для бота. Он должен быть без пробелов и содержать _bot в конце.
После этого BotFather отрапортует об успешном создании бота, и выдаст уникальный идентификатор (токен) для работы с ботом по API.
Выглядит он примерно вот так
111111111:AAEqbGdOUtAA7GK1TJSAEdy3vIUFAuE68vk
Открываем браузер, и заходим по адресу
https://api.telegram.org/botТОКЕН/getMe
В ответ получаем информацию в JSON формате
{«ok»:true,»result»:{«id»:111111111,»is_bot»:true,»first_name»:»vium»,»username»:»vium_bot»}}
Отлично! Двигаемся далее
Пишем нашему созданному боту команду /start. После любое сообщение, например test.
Открываем в браузере адрес
https://api.telegram.org/botТОКЕН/getUpdates
{«ok»:true,»result»:[{«update_id»:31449293,
«message»:{«message_id»:2,»from»:{«id»:311840248,»is_bot»:false,»first_name»:»Aleksey»,»last_name»:»Bear»,»username»:»bearscience»,»language_code»:»ru»},»chat»:{«id»:311840248,»first_name»:»Aleksey»,»last_name»:»Bear»,»username»:»bear»,»type»:»private»},»date»:1559536164,»text»:»\u0432\u0430″}}]}
Из этого ответа берем ID, я выделил их …
Теперь если вы в браузере откроете строку
https://api.telegram.org/botТОКЕН/sendMessage?chat_id=ID&text=MESSAGE то сообщение будет доставлено в ваш бот. (Я надеюсь понятно что нужно вставить свой токен, ID и текст сообщения).
Касаемо уведомления с mikrotik, то тут все просто:
Заходим в Tools>Netwatch. Добавляем там цель для пинга.
Там же можем видеть две вкладки Up & Down. Это скрипты, которые исполняются при событии когда хост поднялся или упал.
Вставляем уже полученную строку для отправки сообщения туда в виде
tool fetch url=» https://api.telegram.org/botТОКЕН/sendMessage?chat_id=ID&text=Server alive!» dst-path=log.txt
Вот собственно и всё. Вместо того чтобы отремонтировать сервер, я просто сделал костыль и подставил под сервер. Следующим этапом будет автоматическая перезагрузка при зависании :-DDD
p.s. данная информация документирована на сайте телеграмм, и я потратил всего 10-15 минут для реализации данной задачи.
Будьте здоровы!

3 комментария к “Отправка уведомлений в Telegram с mikrotik”