Jump to content
Калькуляторы

MikroTik — мониторинг (оповещение в телеграмм)

 

Есть у меня один прекрасный сервер, который имеет характерную особенность – зависать. В данной статье мы не будем рассматривать очевидные идеи по типу того, что не плохо бы найти причину этого зависания …

Я подумал, что было бы очень хорошо иметь оперативное уведомление о том что сервер более не доступен. Поехали!

Создаем в телеграмме нового бота. Отправляем контакту 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 минут для реализации данной задачи. Будьте здоровы!

Share this post


Link to post
Share on other sites

тоесть это нужно иметь и "висявый" сервер и ещё микротик для его мониторинга? а если висявый сервер повесит именно http-сервер, но по пингу будет доступен, что тогда?

Share this post


Link to post
Share on other sites

У нормального сервера есть система удаленного управления, и через нее можно получать всю необходимую информацию. Как и перезагрузить или включить сервер снова.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.