Kervax

Open source · AGPL-3.0 · self-hosted

Мониторинг корпоративного уровня — из коробки

Сайты, серверы, контейнеры, базы данных и бэкапы — в одной панели. Установка выполняется одной командой: агент сам определяет, что работает на машине, дашборды заполняются с первой проверки, алерты уходят в Telegram или webhook.

Docker Compose хватает 2 ГБ памяти агент для Linux Telegram и webhook RU / EN
kervax.example.comувеличить
Главный экран панели Kervax

Возможности

Вся инфраструктура на одном экране

Внешние проверки, метрики хостов и состояние бэкапов обычно разнесены по разным системам. Здесь они в одной базе и на одной шкале времени: от упавшего монитора до метрик машины за ним — два клика.

Сайты

Код ответа, ключевое слово в теле, время отклика, срок TLS-сертификата и регистрации домена. Дополнительно сайт проверяется через прокси в других сетях: если он отвечает вам, но недоступен оттуда, панель показывает это отдельным состоянием, а не общим «работает».

Серверы

Статический бинарь передаёт загрузку CPU по ядрам, память, разделы дисков, сеть, температуру, троттлинг, OOM и процессы по нагрузке. Соединение только исходящее: на ноде не открывается ни один порт.

Что работает на машине

Контейнеры Docker, узлы и поды Kubernetes, веб-серверы с их доменами, СУБД с размерами баз, очереди RabbitMQ. Агент определяет всё это сам; найденные домены панель предлагает добавить в мониторинг.

Бэкапы

Состояние restic по каждой ноде: время последнего снимка, результат, попадание в заданное окно. Бэкап-сервер и клиентов можно развернуть из панели. Доступы для восстановления хранятся в сейфе, который шифруется в браузере — сервер получает только шифротекст.

Алерты

Telegram и webhook, свой текст для каждого типа. Порог срабатывает только после заданного времени удержания, поэтому одиночные всплески не создают инцидентов. Есть снуз, заглушение по типам и адресация по ролям и группам.

Самоконтроль

Устаревший агент или helper, недоступная точка проверки, расхождение часов с нодой, бэкап вне окна — всё это собирается в раздел «Требует действий» вместе с командой, которая устраняет проблему.

Из коробки

Готово к работе без сборки стека

Обычный стек мониторинга нужно собрать: экспортер под каждую задачу, scrape-конфиг, правила, маршруты алертов и дашборд под каждую сущность. Kervax отдаёт те же данные уже связанными между собой.

ЗадачаKervaxКлассический стек
Метрики нового сервера одна команда на ноде, данные через секунды node_exporter, цель в scrape-конфиге, перечитывание конфигурации, импорт дашборда
Проверка сайта снаружи адрес монитора — схема, сертификат и домен определяются автоматически blackbox_exporter, job с relabeling, правило, отдельная панель
Срок сертификата и домена считается автоматически, напоминания за 14 / 7 / 1 день проба, PromQL-правило; для домена — свой экспортер
Аптайм за 30 дней цифра на карточке монитора recording rule и запрос на PromQL
Инциденты открываются и закрываются автоматически, с историей маршруты, группировка, подавления и silence в конфигах
Контейнеры, поды, СУБД, очереди определяются агентом cAdvisor, kube-state-metrics, postgres_exporter, rabbitmq_exporter…
Состояние бэкапов статус restic по каждой ноде, прямо в панели решается отдельно
Кто что видит роли и группы, проверяются в API организации в Grafana и отдельный доступ к хранилищу
Дашборды заполнены при первом входе собрать или импортировать

Prometheus остаётся лучшим выбором для прикладных метрик и произвольных запросов на PromQL и работает рядом без конфликтов. Kervax закрывает инфраструктурный слой: хост, сайт, сертификат, контейнер, бэкап.

Интерфейс

Как это выглядит

Скриншоты сняты с работающей панели на демонстрационных данных: интерфейс после установки выглядит так же.

Установка

Установка одной командой

Выполняется на чистом сервере с Linux. Команда устанавливает Docker, поднимает Caddy с сертификатом Let's Encrypt, генерирует секреты и выводит адрес панели с паролем администратора.

$ curl -fsSL https://raw.githubusercontent.com/mihsergeev/Kervax/main/ops/quickstart.sh | sudo sh
Свой домен по желанию

Без своего домена панель работает на <IP-сервера>.sslip.io с обычным сертификатом Let's Encrypt по https.

Сервер под наблюдение

Кнопка «Добавить сервер» выдаёт готовую команду. После её выполнения на ноде метрики появляются в панели в течение нескольких секунд.

Сайт под наблюдение

Достаточно указать адрес: схема, сертификат, домен и история заполняются с первой проверки.

Свой домен, ограничение доступа по IP, работа за существующим nginx и установка по шагам описаны в подробной инструкции.

Безопасность

Как устроен доступ