Skip to content

PingTower — API-сервис для мониторинга доступности сайтов. Отслеживает ваши веб-ресурсы 24/7, мгновенно оповещает о простоях и помогает бизнесу не терять клиентов.

Notifications You must be signed in to change notification settings

Walkerino/PingTower

 
 

Repository files navigation

PingTower

PingTower — система мониторинга доступности сайтов и сервисов c удобным веб-дашбордом и гибкой системой уведомлений. Проект помогает вовремя узнавать о сбоях, быстро реагировать и собирать статистику надёжности (аптайм, инциденты, тренды).


Сервис доступен по адресу: http://203.81.208.67/

Swagger OpenAPI документация доступна по адресу: http://203.81.208.67:8080/v1/swagger.html


Ключевая ценность

  • Прозрачность: единый дашборд со статусами сервисов в реальном времени.
  • Скорость реакции: мгновенные уведомления при сбоях — команда узнаёт первой.
  • Контроль качества: отчёты и история инцидентов помогают держать SLA.
  • Простота: разворачивается в контейнерах и понятен с первых минут.

Что умеет PingTower

  • Веб‑дашборд с текущим состоянием сервисов.
  • Мониторинг сайтов и API (регулярные проверки).
  • Настраиваемые расписания и правила срабатывания.
  • Уведомления через Email, Telegram и Webhooks.
  • История инцидентов, метрики аптайма и отчёты.

Для кого это полезно

  • Разработчики и DevOps — контроль доступности и стабильности сервисов.
  • Команды поддержки — ранние сигналы о проблемах и журнал инцидентов.
  • Менеджеры проектов — прозрачные отчёты по SLA/SLO.

Структура репозитория

  • frontend/ — веб‑дашборд и пользовательский интерфейс.
  • backend/ — сервис мониторинга и оповещений.
  • docker/ — контейнеризация и быстрый запуск окружения.
  • docs/ — документация и вспомогательные материалы.
  • utils/ — вспомогательные инструменты и скрипты.

Обзор стека технологий

Backend

  • Фреймворк: Spring Boot
  • Язык: Java 21

Frontend

  • Библиотека: React
  • Библиотека для графиков: ECharts

База данных

  • Реляционная база данных: PostgreSQL
  • Аналитическая база данных: ClickHouse

DevOps

  • Контейнеризация: Docker
  • Веб-сервер: Nginx

Подробное техническое описание и навигация по документации


Начало работы

  1. Разверните проект в контейнерах (Docker Compose).
  2. Откройте веб‑дашборд и добавьте первый сервис (URL сайта или API).
  3. Подключите уведомления (Email/Telegram/Webhook) — получайте алёрты о сбоях.

Руководство по быстрому запуску


Архитектура системы

Схема архитектуры системы

PingTowerC4Diagram drawio (2)

Схема базы данных

Схема базы данных системы

PingTower-DB-Diagram

Use Cases — PingTower

Ниже приведены примеры сценариев использования PingTower.


1. Мониторинг продакшн-сайта

Ситуация: компания запускает публичный веб-сервис.
Задача: убедиться, что сайт всегда доступен.
Как решает PingTower:

  • создаётся проверка по URL https://example.com
  • при сбое приходит уведомление в Telegram
  • в дашборде видна история инцидентов

2. Контроль внутренних API

Ситуация: микросервисная архитектура, десятки API.
Задача: следить за доступностью внутренних сервисов.
Как решает PingTower:

  • проверки создаются для каждого API эндпоинта
  • алёрты отправляются в Slack/Webhook для CI/CD системы
  • SLA отчёты показывают стабильность каждого микросервиса

3. Поддержка SLA для клиентов

Ситуация: SaaS-компания обещает 99.9% аптайм.
Задача: формировать отчёты для клиентов.
Как решает PingTower:

  • собирает статистику аптайма по сервисам
  • строит отчёты за неделю/месяц
  • менеджеры могут делиться отчётами с клиентами

4. Быстрая реакция службы поддержки

Ситуация: сайт иногда «падает» ночью.
Задача: чтобы дежурный инженер узнавал сразу.
Как решает PingTower:

  • оповещения настраиваются на Email/Telegram
  • приходит сообщение о падении
  • после восстановления сервиса приходит сообщение о закрытии инцидента

5. Публичная статус-страница (будущая функция)

Ситуация: пользователи жалуются «сервис не работает».
Задача: показать прозрачный статус для клиентов.
Как решает PingTower:

  • генерируется статус-страница с аптаймом
  • пользователи видят официальную информацию о сбое
  • меньше обращений в поддержку

Авторы и вклад

  • Разработано командой taxisty

About

PingTower — API-сервис для мониторинга доступности сайтов. Отслеживает ваши веб-ресурсы 24/7, мгновенно оповещает о простоях и помогает бизнесу не терять клиентов.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 60.2%
  • Python 36.0%
  • Dockerfile 1.7%
  • HTML 1.2%
  • Shell 0.9%