Презентация "Мониторинг серверов при помощи бота для мессенджера TELEGRAM"

Подписи к слайдам:
Мониторинг серверов при помощи бота для мессенджера telegram

Выполнила: Верховодко А.И

Научный руководитель: Дирвук Е.В.

Цель курсового проекта: Разработать бота для мессенджера Telegram для мониторинга серверов. Основные задачи:
  • Провести обзор существующих для Telegram ботов.
  • Организовать сеть из нескольких серверов, которые необходимо мониторить.
  • Реализовать бота для Telegram.
  • Протестировать бота на организованной сети.
Telegram и существующие боты
  • Telegram – бесплатный мессенджер, предназначенный для общения и обмена медиафайлами.
  • При помощи специального Telegram API сторонние разработчики могут создавать ботов.
  • Робот, или бот - специальная программа, выполняющая автоматически или по заданному расписанию какие-либо действия, что и обычный пользователь.

Wolfram Bot

Store Bot Bot Father Мониторинг серверов Термином мониторинг серверов описывают использование системы, которая следит (мониторит) за компьютерной сетью, выявляя неисправность или уменьшение быстродействия сервисов. Системы для мониторинга сети
  • Monit
  • Munin
  • Nagios
  • OpenNMS
  • Zabbix
Разработка бота Последовательность действий:
  • Зарегистрировать бота через @BotFather
  • Получить его уникальный id (token)
  • Реализовать программу управления созданным ботом
  • Настроить SSH соединение между серверами
  • Для успешного запуска на сервере, где расположена программа, должен быть установлен Python и его библиотека Fabric
Разработанные классы:
  • TelegramBot – каркас приложения
  • TelegramApi – обработка команд и ответов через Telegram Bot API
  • ServerModule – выполнение нужных команд на серверах

Список имеющихся серверов:

Обновление, полученное после отправки сообщения “help”

Вывод сообщения пользователя и ответа бота в терминале

Через интерфейс Telegram

Справка для ввода команд Использование SSH для мониторинга
  • Установить на каждом сервере OpenSSH
  • На каждом из серверов создать пользователя inspector с домашним каталогом и паролем пользователя
  • На главном сервере сгенерировать пару private/public rsa keys
  • С помощью ssh-copy-id отправить публичные ключи пользователю inspector на каждом сервере
  • Проверить подключение по SSH через сгенерированные ключи.
  • Усилить защиту SSH-серверов: установить нестандартный порт, указать конкретный интерфейс, ограничить время авторизации.