Телеграм бот важных уведомлений
Задача
Создать инструмент быстрого оповещения при изменениях на сайтах и серверах в едином месте.
Важные составляющие
- Нагрузка серверов
- Дисковое пространство на серверах
- Поддержка (тикеты и gmail)
- Доступность сайтов (сверка заголовков и IP адресов)
- Проверка на бан Роскомнадзора
- Проверка баланса аккаунтов в используемых сервисах
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