Чтобы мониторить uptime и состояние серверов, достаточно развернуть один self-hosted инструмент для проверки доступности, один для метрик хоста и, при необходимости, систему алертов. Ниже описан порядок действий: от одного VPS до небольшого парка серверов. Все инструменты перечислены в каталоге Stackora, их лицензии и публикаторы указаны в карточках.
Шаг 1. Определите, что именно вы мониторите
Разделите задачу на три слоя:
- Доступность снаружи: отвечает ли сайт или API, валиден ли SSL-сертификат.
- Состояние хоста: CPU, память, диск, сеть, контейнеры.
- Реакция на инциденты: кто получает уведомление и где публикуется статус.
Для каждого слоя выберите отдельный инструмент. Один универсальный сервис обычно закрывает только часть задач.
Шаг 2. Настройте проверку доступности
Для внешней проверки подойдет Uptime Kuma, self-hosted инструмент с лицензией MIT и большим числом звезд на GitHub. Разверните его на отдельной машине, чтобы мониторинг не падал вместе с сервисом, который он проверяет.
Если нужны еще и мониторинг SSL и публичная страница статуса, посмотрите Kuvasz, который описывает uptime и SSL-мониторинг, уведомления, status pages, настройку через YAML и REST API. Его лицензия AGPL-3.0.
Что добавить в первую очередь
- HTTP-проверку главной страницы и ключевого эндпоинта API.
- Проверку срока действия SSL-сертификата.
- Один канал уведомлений, который вы реально читаете.
Шаг 3. Добавьте метрики хоста
На каждом сервере поставьте Beszel: легковесный self-hosted инструмент с историческими метриками, статистикой Docker-контейнеров и настраиваемыми алертами, лицензия MIT. Он подходит для одного VPS и остается простым при росте числа машин.
Для разового разбора ситуации на сервере удобен Glances: CLI-инструмент с веб-интерфейсом и REST API, показывающий CPU, память, диск, сеть и контейнеры. Его описание в каталоге называет его альтернативой top и htop.
Шаг 4. Выберите способ статуса для пользователей
Если клиентам нужна страница статуса и история инцидентов, рассмотрите OpenStatus: open-source статус-страница, управление инцидентами и uptime-мониторинг, лицензия AGPL-3.0. Он закрывает задачу коммуникации, а не замеров сервера.
Шаг 5. Масштабируйтесь на небольшой парк
Когда серверов становится несколько, проверки и метрики нужно собирать централизованно. Здесь помогает Nightingale: self-hosted алертинг для метрик, логов и баз данных, с лицензией Apache-2.0. В описании указаны встроенный AI-агент и MCP-сервер.
Для диагностики узких мест в коде, когда метрики хоста уже показали проблему, используйте Pyroscope: платформа непрерывного профилирования с лицензией AGPL-3.0, которая помогает найти проблему вплоть до строки кода.
Порядок расширения
- Один VPS: Uptime Kuma плюс Beszel.
- Несколько серверов: добавляется центральный алертинг, например Nightingale.
- Публичные сервисы: добавляется статус-страница, например OpenStatus или status pages Kuvasz.
- Проблемы производительности приложения: добавляется профилирование.
Шаг 6. Проверьте алерты
После настройки вызовите искусственный сбой: остановите тестовый контейнер или закройте порт. Убедитесь, что уведомление пришло в нужный канал и что после восстановления приходит сигнал о возврате в норму. Без этой проверки мониторинг часто оказывается тихим там, где он нужнее всего.
Шаг 7. Дополнительные инструменты
Если нужна общая картина происшествий, посмотрите worldmonitor: дашборд ситуационной осведомленности с агрегацией новостей и отслеживанием инфраструктуры, лицензия AGPL-3.0. Это инструмент другого класса, поэтому для мониторинга собственных серверов он обычно не заменяет перечисленные выше.
Категории для поиска альтернатив: Observability, Web Apps, Developer Tools. Инструменты для агентов с доступом к метрикам собраны в разделе MCP servers.
Рекомендация
Для одного VPS начните с Uptime Kuma и Beszel: это минимальный набор, который закрывает доступность и состояние хоста. Когда появляется парк серверов, добавьте централизованный алертинг через Nightingale и статус-страницу через OpenStatus или Kuvasz. Перед выбором сверьте лицензию и активность проекта на странице каждого продукта.