Продолжение к прошлому посту:

✅ Всё спокойно, шеф

📍 API: 200 OK (142ms) 📍 Frontend: 200 OK (89ms) 📍 DB: подключение стабильное 💾 Диск: 67% (свободно 12.3 GB) 🧠 RAM: 54% | CPU: 12%

Следующий отчёт через 1 час 🫡 Мелочь? Нет. Это разница между ботом, которого мутят через день, и ботом, который реально помогает. Шаг 5. Добавили умную эскалацию Не каждая ошибка — повод будить всю команду. Сделали три уровня: 🟡 WARNING — время ответа выросло, CPU поднялся выше 80%, диск заполнен на 85%+. Пишем в общий чат, никого не тегаем. Просто heads-up. 🔴 CRITICAL — сервис не отвечает, 500-ки посыпались, panic в логах. Пишем в чат + тегаем дежурного. Повторяем каждые 5 минут, пока не починят или не подтвердят.

⚫ FATAL — всё упало. Даже бот еле дышит. Шлём в личку каждому из команды + звук уведомления на максимум (да, Telegram API это позволяет — disable_notification=False). async def escalate(level: str, message: str): if level == “warning”: await bot.send_message(CHAT_ID, f"🟡 {message}“) elif level == “critical”: await bot.send_message(CHAT_ID, f"🔴 {message} @{ON_DUTY}”, disable_notification=False) schedule_repeat(message, interval=300) # повтор каждые 5 мин elif level == “fatal”: for user_id in TEAM_IDS: await bot.send_message(user_id, f"⚫ {message}", disable_notification=False) Шаг 6. Прикрутили команды для бота Бот не только кричит о проблемах — он ещё и отвечает на вопросы: → /status — текущее состояние всех сервисов → /logs N — последние N ошибок из логов → /uptime — аптайм каждого сервиса за последние 24ч / 7д / 30д → /mute 30m — замьютить некритичные алерты на 30 минут (для деплоев) → /report — полный отчёт в формате, который не стыдно скинуть менеджеру Команда /mute — отдельная история. Без неё во время деплоя бот сходит с ума и спамит алертами. Теперь перед деплоем пишем /mute 15m и спокойно катим.

Шаг 7. Docker + автозапуск 128 мегабайт, четверть ядра. Бот жрёт меньше ресурсов, чем вкладка с Twitter-ом. Результаты за первую неделю: → Поймали 3 инцидента до того, как их заметили пользователи → Среднее время реакции на проблему: с 47 минут до 3 минут → Обнаружили утечку памяти, которая медленно росла 2 недели — бот заметил тренд по RAM → Количество сообщений “а у нас сайт не работает?” в чате: 0 Ноль. Зиро. Null. Что планируем добавить: → Интеграция с Sentry — автоматический парсинг новых issues → Метрики в InfluxDB + мини-графики прямо в сообщениях (Telegram поддерживает фото) → AI-анализ логов — чтобы бот не просто кидал ошибки, а говорил “похоже, проблема в коннекте к Redis, вот похожий случай с прошлой недели” → Пульс-дашборд — веб-страница со статусами для внешних пользователей TL;DR Перестаньте узнавать о падениях от пользователей. Потратьте день, соберите бота, спите спокойно. Технологии буквально: Python, aiogram, aiohttp, psutil, Docker. Всё. Никаких SaaS за $500/мес, никаких enterprise-решений для команды из 3 человек. Если дошли до конца — вы либо реально задумались сделать такого бота, либо прокрастинируете (мы не осуждаем, мы сами такие). В любом случае — подписывайтесь.

Если кому то нужна реализация подобного в своём проекте - пишите, обсудим детали😀