Перейти к содержимому
Калькуляторы

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.