PingTower — система мониторинга доступности сайтов и сервисов c удобным веб-дашбордом и гибкой системой уведомлений. Проект помогает вовремя узнавать о сбоях, быстро реагировать и собирать статистику надёжности (аптайм, инциденты, тренды).
Сервис доступен по адресу: http://203.81.208.67/
Swagger OpenAPI документация доступна по адресу: http://203.81.208.67:8080/v1/swagger.html
- Прозрачность: единый дашборд со статусами сервисов в реальном времени.
- Скорость реакции: мгновенные уведомления при сбоях — команда узнаёт первой.
- Контроль качества: отчёты и история инцидентов помогают держать SLA.
- Простота: разворачивается в контейнерах и понятен с первых минут.
- Веб‑дашборд с текущим состоянием сервисов.
- Мониторинг сайтов и API (регулярные проверки).
- Настраиваемые расписания и правила срабатывания.
- Уведомления через Email, Telegram и Webhooks.
- История инцидентов, метрики аптайма и отчёты.
- Разработчики и DevOps — контроль доступности и стабильности сервисов.
- Команды поддержки — ранние сигналы о проблемах и журнал инцидентов.
- Менеджеры проектов — прозрачные отчёты по SLA/SLO.
- frontend/ — веб‑дашборд и пользовательский интерфейс.
- backend/ — сервис мониторинга и оповещений.
- docker/ — контейнеризация и быстрый запуск окружения.
- docs/ — документация и вспомогательные материалы.
- utils/ — вспомогательные инструменты и скрипты.
- Фреймворк: Spring Boot
- Язык: Java 21
- Библиотека: React
- Библиотека для графиков: ECharts
- Реляционная база данных: PostgreSQL
- Аналитическая база данных: ClickHouse
- Контейнеризация: Docker
- Веб-сервер: Nginx
Подробное техническое описание и навигация по документации
- Разверните проект в контейнерах (Docker Compose).
- Откройте веб‑дашборд и добавьте первый сервис (URL сайта или API).
- Подключите уведомления (Email/Telegram/Webhook) — получайте алёрты о сбоях.
Руководство по быстрому запуску
Ниже приведены примеры сценариев использования PingTower.
Ситуация: компания запускает публичный веб-сервис.
Задача: убедиться, что сайт всегда доступен.
Как решает PingTower:
- создаётся проверка по URL
https://example.com - при сбое приходит уведомление в Telegram
- в дашборде видна история инцидентов
Ситуация: микросервисная архитектура, десятки API.
Задача: следить за доступностью внутренних сервисов.
Как решает PingTower:
- проверки создаются для каждого API эндпоинта
- алёрты отправляются в Slack/Webhook для CI/CD системы
- SLA отчёты показывают стабильность каждого микросервиса
Ситуация: SaaS-компания обещает 99.9% аптайм.
Задача: формировать отчёты для клиентов.
Как решает PingTower:
- собирает статистику аптайма по сервисам
- строит отчёты за неделю/месяц
- менеджеры могут делиться отчётами с клиентами
Ситуация: сайт иногда «падает» ночью.
Задача: чтобы дежурный инженер узнавал сразу.
Как решает PingTower:
- оповещения настраиваются на Email/Telegram
- приходит сообщение о падении
- после восстановления сервиса приходит сообщение о закрытии инцидента
Ситуация: пользователи жалуются «сервис не работает».
Задача: показать прозрачный статус для клиентов.
Как решает PingTower:
- генерируется статус-страница с аптаймом
- пользователи видят официальную информацию о сбое
- меньше обращений в поддержку
- Разработано командой taxisty