Мониторинг доступности веб-сервисов Uptime Kuma
Проект представляет собой веб-приложение для мониторинга доступности (uptime) различных интернет-ресурсов и сервисов. Система позволяет отслеживать состояние серверов, веб-сайтов, API-эндпоинтов и других сетевых служб в режиме реального времени. Основная цель — своевременное обнаружение сбоев и предоставление детальной статистики о времени безотказной работы.
Назначение и ключевые функции
- Мониторинг доступности: Автоматическая проверка состояния отслеживаемых ресурсов с заданным интервалом (от 30 секунд до нескольких часов).
- Мгновенные уведомления: Настройка оповещений через Telegram, Email, Slack, Discord, Webhook и другие каналы при изменении статуса сервиса.
- Статистика uptime: Визуализация времени безотказной работы за различные периоды (24 часа, 7 дней, 30 дней, 90 дней) с детализацией по дням.
- История инцидентов: Логирование всех событий с указанием времени начала и окончания сбоя, длительности простоя.
- Поддержка различных протоколов: Проверка через HTTP/HTTPS, TCP, ICMP (Ping), DNS, а также мониторинг SSL-сертификатов.
- Публичные страницы статуса: Возможность создания публичных дашбордов для отображения статуса сервисов конечным пользователям.
Технологический стек
Приложение построено на современном стеке технологий с открытым исходным кодом:
- Backend: Node.js с использованием фреймворка Express.js для обработки запросов и управления мониторингом.
- Frontend: Vue.js 3 с Composition API для построения реактивного пользовательского интерфейса.
- База данных: SQLite (по умолчанию) или MySQL/MariaDB для хранения конфигураций, истории проверок и статистики.
- Уведомления: Интеграция с популярными сервисами через REST API и WebSocket для мгновенной доставки оповещений.
- Контейнеризация: Поддержка Docker для быстрого развертывания в любой среде.
Особенности интерфейса
Пользовательский интерфейс разработан с акцентом на информативность и удобство использования:
- Дашборд: Главная страница отображает все отслеживаемые сервисы в виде карточек с цветовой индикацией (зелёный — работает, красный — сбой, жёлтый — предупреждение).
- Детальная статистика: Каждый монитор имеет собственную страницу с графиками uptime, историей проверок и логами инцидентов.
- Настраиваемые панели: Возможность группировки мониторов по тегам, создания пользовательских представлений и фильтрации по статусу.
- Адаптивный дизайн: Интерфейс корректно отображается на всех устройствах — от настольных ПК до мобильных телефонов.
- Тёмная тема: Встроенная поддержка светлой и тёмной цветовых схем для комфортной работы в любое время суток.
- Интерактивные графики: Визуализация данных с возможностью масштабирования и просмотра деталей по конкретным временным отрезкам.
Проект является полностью самостоятельным решением для мониторинга, не требующим внешних сервисов или подписок. Благодаря открытому исходному коду и активному сообществу, система постоянно развивается и получает новые функции. Интерфейс интуитивно понятен даже для начинающих пользователей, при этом предоставляет достаточно гибкости для опытных администраторов.