Добавить в корзинуПозвонить
Найти в Дзене
ServLesson

Мониторинг компьютеров или серверов с отправкой сообщений на Telegram

Рассмотрим, возможность реализации бота на Telegram, позволяющего выполнять мониторинг компьютеров или сайтов с помощью команды ping и последующей отправкой уведомлений при отсутствии связи с хостом. Рассмотрим такое решение на примере операционной системы Windows 10. Безусловно, прежде всего, нужно будет установить мессенджер Telegram. Зайдя в него в поисковой строке следует ввести название канала @BotFather, позволяющего создавать ботов. Выбрав его нажимаем старт. Здесь приведен список команд, среди которых я кликаю по /newbot. Согласно появившейся подсказки, следует написать название бота. Я пишу PING вы можете указать любое удобное для вас. Нажав энтер теперь придумываем уникальное имя пользователя, заканчивающееся на bot и, если таковое будет уже зарегистрировано следует указать другое. Далее предоставляется информация о созданном боте, а именно ссылка на него и токен который понадобится в дальнейшем. Также потребуется идентификатор (ID), на который в дальнейшем будут приходить

Рассмотрим, возможность реализации бота на Telegram, позволяющего выполнять мониторинг компьютеров или сайтов с помощью команды ping и последующей отправкой уведомлений при отсутствии связи с хостом.

Рассмотрим такое решение на примере операционной системы Windows 10. Безусловно, прежде всего, нужно будет установить мессенджер Telegram. Зайдя в него в поисковой строке следует ввести название канала @BotFather, позволяющего создавать ботов. Выбрав его нажимаем старт.

-2

Здесь приведен список команд, среди которых я кликаю по /newbot. Согласно появившейся подсказки, следует написать название бота. Я пишу PING вы можете указать любое удобное для вас. Нажав энтер теперь придумываем уникальное имя пользователя, заканчивающееся на bot и, если таковое будет уже зарегистрировано следует указать другое.

-3

Далее предоставляется информация о созданном боте, а именно ссылка на него и токен который понадобится в дальнейшем. Также потребуется идентификатор (ID), на который в дальнейшем будут приходить уведомления. Чтобы его узнать, в поисковой строке набираю @IDBot и подключаюсь к каналу где сразу выводится персональный айдишник.

-4

Но как вариант его можно узнать, переадресовав сюда свое сообщение из какого-любого другого чата. Вернувшись в канал @BotFather, копирую имя бота, затем вставив его в поисковую строку указав впереди собачку подключаю его и он сразу запускается.

Что касается скрипта, выполняющего команду ping и отправляющего сообщение в телеграмм при отсутствии доступа к хосту, то его я сформировал с помощью autoit. В нем следует указать API-ключ бота (причем фразу bot в начале оставляем). Таким же способом вводим свой идентификатор. Работу приведенного выше кода я протестирую в локальной сети на IP-адресе 192.168.1.71, прописанном в двух строчках кода.

-5

В моем случае текущий айпишник присвоен лэптопу. В программе autoit, где прописан скрипт, запускаю его нажатием на клавишу F5. В результате он отработал, но оповещения нет т.к. связь с ноутбуком имеется.

-6

Теперь отключив на лэптопе соединение от локальной сети.

-7

Вновь в autoit нажимаю F5. В этот раз в телеграмм, моментально пришло уведомление о том, что связь с данным адресом отсутствует.

-8

Причем в сообщении приводится код ошибки 2, который информирует о том, что хост недоступен. Благодаря указанной функции ping в скрипте, значение может быть одним из представленных.

-9

Проверив работу написанного кода остается его скомпилировать в .exe файл.

Для автоматизации запуска exe-файла на рабочем столе вызвав окно выполнить и написав taskschd.msc открываю планировщик заданий.

-10

Затем зайдя в библиотеку, в правой части меню «Действия» кликаем «Создать задачу». В появившемся окне вводим ее имя, а чуть ниже активируем функцию «Выполнить с наивысшими правами». Переходим на вкладку «Триггеры» и нажимаем на кнопку «Создать». В параметрах оставляем выполнение задачи «Однократно», а чуть ниже активируем "Повторять задачу каждые" и указываем запуск каждые 5 мин. Затем из выпадающего списка в течении какого временного промежутка ее нужно выполнять устанавливаем «Бесконечно». Нажав ОК и перейдя на вкладку «Действия». Здесь снова кликаем «Создать», и указаем путь к .exe файлику скрипта, который следует запустить. Дополнительно рекомендую прописать путь к рабочей папке. Создав таким образом задачу можно проверить ее работу путем нажатия «Выполнить» расположенной в правой части меню. Далее проверим разорвав вновь сетевое соединение на ноутбуке. В результате после ожидания 5 мин. от начала настройки задачи в планировщике, приходит сообщение о том, что хост недоступен.

-11

Если требуется мониторить состояние нескольких компьютеров, серверов или сайтов, а возможно и в совокупности, то представленный блок скрипта,

-12

отвечающий одному хосту можно скопировать и вставить ниже, изменив его название. Безусловно в нем указываем IP-адрес или домен другого сетевого устройства.

Подробнее в данном видео:

Фото- и видеоматериалы взяты с канала ServLesson на YouTube.