Для простого мониторинга доступности ресурса нет смысла подымать Zabbix или Nagios, сегодня мы напишем простого бота который пингует ресурс/сайт и если ресурс не доступен то отправляет сообщение в Telegram.
[spoiler]
Регистрируем бота, получаем токен, создаем канал как это описано в начале статьи
Также нам понадобиться библиотека для Python pyTelegramBotAPI
Устанавливаем библиотеку:
|
Бот достаточно простой и незамысловатый, если у вас возникнут сложности то напишите в комментарии статьи, я обязательно отвечу.
|
Запускаем по Cron в linux или Диспетчеру заданий в windows.
Github
import os import telebot hostname = ["google.com", yandex.ru] channel = '@test' token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' response = os.system('ping ' + hostname) bot = telebot.TeleBot(token) for domain in hostname: if response == 0: print(hostname + ' is up!') else: print(hostname + ' is down!') bot.send_message(channel, hostname + ' is down!')ожидал что он будет в цикле чтобы запустил и висит пока не закроешь
странно говорит ,что я в сети ,хотя эхо не доходит(смотри смд)
нет связи с ботом,хотя токен рабочий
Создаешь пустой хендлер и туда прописываешь присвоение переменной хостнейм значение текста сообщения потом выполняешь тот же скрипт, но у тебя все сообщения в группе будут попадать в этот хендлер поэтому нужно либо как-то определять что это именно ip либо завернуть всё в try except
А отправил одно оповещение и при появлении ping'а другое?