Задача
При росте числа сервисов и доменов команда узнаёт о проблемах слишком поздно: сертификат истёк, сайт недоступен, сервер перегружен или изменение после деплоя не замечено. Нужен простой независимый контур наблюдаемости без привязки к сторонней SaaS-платформе.
Решение
Создано web-приложение с React-дашбордом, FastAPI API и лёгким Python-агентом. Оно объединяет проверки доступности, показатели CPU/RAM/Disk, uptime-историю, SSL и даты окончания регистрации доменов. Планировщик запускает проверки, а Telegram-бот мгновенно сообщает о падении и восстановлении.
Ключевые функции
- мониторинг URL и инфраструктурных ресурсов;
- метрики CPU, RAM и диска через агент;
- realtime-статистика и история uptime;
- контроль истечения SSL-сертификатов и доменов;
- Telegram-уведомления о сбоях, восстановлении и сроках действия;
- группы, теги, фильтры и поиск по ресурсам;
- maintenance mode для подавления уведомлений во время работ;
- JWT-аутентификация, bcrypt и rate limit для входа;
- Docker-развёртывание и сценарий установки в Proxmox LXC.
Результат
Готовая self-hosted система, которую можно развернуть на своей инфраструктуре. Она закрывает базовый операционный цикл: обнаружить проблему, сообщить о ней, показать контекст в дашборде и зафиксировать восстановление.
Стек
React 18 · Tailwind CSS · FastAPI · SQLite · SQLAlchemy · APScheduler · Python agent · Telegram Bot API · Docker · Caddy