anyfix Опубликовано 19 января, 2023 Есть у меня один прекрасный сервер, который имеет характерную особенность – зависать. В данной статье мы не будем рассматривать очевидные идеи по типу того, что не плохо бы найти причину этого зависания … Я подумал, что было бы очень хорошо иметь оперативное уведомление о том что сервер более не доступен. Поехали! Создаем в телеграмме нового бота. Отправляем контакту 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 минут для реализации данной задачи. Будьте здоровы! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sheft Опубликовано 19 января, 2023 тоесть это нужно иметь и "висявый" сервер и ещё микротик для его мониторинга? а если висявый сервер повесит именно http-сервер, но по пингу будет доступен, что тогда? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 19 января, 2023 У нормального сервера есть система удаленного управления, и через нее можно получать всю необходимую информацию. Как и перезагрузить или включить сервер снова. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...