Телеграм бот важных уведомлений

Задача

Создать инструмент быстрого оповещения при изменениях на сайтах и серверах в едином месте.

Важные составляющие

  1. Нагрузка серверов
  2. Дисковое пространство на серверах
  3. Поддержка (тикеты и gmail)
  4. Доступность сайтов (сверка заголовков и IP адресов)
  5. Проверка на бан Роскомнадзора
  6. Проверка баланса аккаунтов в используемых сервисах

1. Нагрузка серверов

В кампании 5 серверов, периодически бывают DDOS атаки, повисшие скрипты или иные аномалии. Мониторить состояние и нагрузку серверов в реальном времени нет возможности. При обращении к модулю отдаются данные по нагрузке за 1, 5 и 15 минут.

2. Дисковое пространство на серверах

Модуль отдает информацию о дисковом пространстве на текущем сервере.

3. Поддержка

Сообщения приходят в тикеты и на почту. Модуль отдает информацию о количестве сообщений на всех площадках.

4. Доступность сайтов

Модуль опрашивает все сайты, если в ответ приходит не тот заголовок или IP отличается от ожидаемого, то формируется лог. В логе хранится информация о сайте и типе ошибке. Данный лог отдается при запросе.

5. Проверка на бан Роскомнадзора

Модуль отдает информацию о сайтах, которые попали в бан.

6. Проверка баланса аккаунтов в используемых сервисах

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

Реализация

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

Периодичность вызовов

  • Нагрузка — 15 мин
  • Дисковое пространство — 30 мин
  • Поддержка — 15 мин
  • Доступность сайтов — 1 день
  • Проверка на бан — 1 день
  • Баланс — 1 день

Под капотом

  • PHP
  • Системные вызовы
  • CURL
  • API Google
  • Граббер информации по банам
  • API сторонних сервисов

Благодарю за внимание!

Если вам нужен телеграм бот или есть гениальная идея, напишите мне.

Контакты

Telegram @anstag
VK anstag
Instagram anstag_one

--

--

Web developer, PHP programmer

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store