Наблюдаемость своей инфраструктуры
Видеть, что происходит с вашими серверами, сайтами и безопасностью на всех уровнях сразу, без SaaS и без выноса данных в чужое облако. Четыре open-source-компонента, собранные в один рабочий контур на вашем железе: доступность, метрики хостов, алерты и аудит безопасности в одном хабе уведомлений.
Что вы получаете
- внешний контроль доступности: сайты, API, порты, DNS и срок TLS-сертификата (Uptime Kuma)
- метрики каждого хоста: CPU, RAM, диск, сеть, состояние контейнеров (Beszel)
- аудит безопасности: логи, целостность файлов, детект CVE, MITRE ATT&CK, комплаенс (Wazuh)
- единый хаб уведомлений: любой алерт из любого компонента прилетает в один канал (ntfy)
- трейсинга запросов внутри приложения (это APM, отдельная тема)
- долгого хранения метрик с дашбордами Grafana на годы (это связка Prometheus + Grafana)
- мониторинга из нескольких географических точек одновременно
Слепые зоны, которые закрывает решение
Инфра ломается на разных уровнях, и каждый уровень требует своего инструмента.
Сайт может отвечать 200, пока диск под ним забит на 98%. Сервер может быть жив по метрикам, пока в его логах кто-то перебирает пароли по SSH. TLS-сертификат тихо протухает за выходные. Ни один из этих сбоев не виден с одной точки: нужен и внешний взгляд на доступность, и внутренние метрики хоста, и разбор событий безопасности.
Обычный путь закрыть это - SaaS: Datadog, Grafana Cloud, Statuspage.io, облачный SIEM. Быстро, но с двумя минусами: счет растет с объемом (число проверок, гигабайты логов, число хостов), а события вашей инфраструктуры и безопасности уезжают в чужое облако. Для 152-ФЗ и просто здравого смысла это не всегда приемлемо.
Решение: собрать наблюдаемость из четырех зрелых open-source-инструментов на своих серверах. Каждый закрывает свой уровень, а вместе они дают полную картину, которая не покидает ваш контур.
Два сервера, четыре компонента, один хаб
Легкие мониторы и хаб уведомлений на одной VM, тяжелый SIEM на второй.
VM-1, «вышка» (CPU2-RAM4, ~500 руб/мес). Три легких сервиса: Uptime Kuma дергает ваши сайты и порты снаружи, Beszel собирает метрики с агентов на хостах, ntfy принимает и раздает уведомления. Все это помещается на младший тариф с запасом.
VM-2, «аудит» (CPU4-RAM8, ~1100 руб/мес). Wazuh - это SIEM класса замены Splunk: manager, индексатор на базе OpenSearch и дашборд. Индексатор на JVM требует памяти, поэтому SIEM живет на отдельной машине и не мешает легким мониторам.
Четыре инструмента, каждый на своем уровне
Роли не пересекаются: доступность, ресурсы, безопасность, доставка.
| Компонент | Уровень | Что закрывает | Тариф |
|---|---|---|---|
| Uptime Kuma | Доступность | HTTP/TCP/DNS-проверки, keyword, срок SSL, статус-страница | CPU2-RAM4 |
| Beszel | Ресурсы хостов | CPU, RAM, диск, сеть, температура, Docker-контейнеры | CPU2-RAM4 |
| Wazuh | Безопасность | Логи, FIM, детект CVE и вредоносов, MITRE ATT&CK, комплаенс | CPU4-RAM8 |
| ntfy | Доставка | Хаб уведомлений: push на телефон, webhook, шлюз для всех алертов | на VM-1 |
Один хаб уведомлений на весь стек
Это то, что превращает четыре отдельных инструмента в одну систему.
Четыре дашборда - это еще не наблюдаемость, если за каждым надо следить отдельно. Смысл решения в том, что алерт из любого компонента приходит в один канал. Мы подняли ntfy отдельным хабом и завели один топик infra-alerts, в который шлют все три источника - каждый своим механизмом:
- Uptime Kuma - через встроенный тип уведомления ntfy;
- Beszel - через shoutrrr-URL
ntfy://хаб/infra-alerts; - Wazuh - через кастомный integrator: alert-события SIEM постятся в тот же топик.
Почему это важно. ntfy ставит на телефон бесплатное приложение с push, умеет webhook и приоритеты. Вы получаете один экран, куда сходятся падение сайта, забитый диск и попытка взлома. Не надо держать в голове четыре вкладки и не надо платить SaaS за агрегацию алертов.
Что меняется по сравнению с SaaS
Сравнение по тому, что реально влияет на выбор.
| Этот стек (self-hosted) | Облачный мониторинг | |
|---|---|---|
| Стоимость | фикс ~1600 руб/мес за оба сервера | растет с числом хостов, проверок и гигабайтами логов |
| Где данные | целиком на вашем железе, 152-ФЗ | события и логи в чужом облаке |
| Лимиты | нет лимита на число проверок и агентов | тарифные лимиты и переплаты за превышение |
| Алерты | свой хаб ntfy, push и webhook бесплатно | часто отдельная платная опция |
| Владение | полный контроль, ничего не отключат снаружи | зависимость от вендора и его тарифов |
Рекомендуемая конфигурация
Проверенный расклад по двум серверам.
| VM-1 «вышка» | CPU2-RAM4-DISK50 - Uptime Kuma + Beszel + ntfy, ~500 руб/мес |
|---|---|
| VM-2 «аудит» | CPU4-RAM8-DISK100 - Wazuh (manager + indexer + dashboard), ~1100 руб/мес |
| ОС | Ubuntu 24.04 LTS, Docker, Caddy с авто-TLS перед каждым сервисом |
| Итого | ~1600 руб/мес за полную наблюдаемость без потолка по объему |
Почему две машины. Три легких сервиса спокойно живут вместе на младшем тарифе. Wazuh тяжелый: индексатор на JVM в простое ест около 2 ГиБ, поэтому ему нужна отдельная VM с 8 ГБ, иначе индексатор уходит в OOM.
На что смотреть при сборке
Грабли, которые лучше обойти сразу.
Смените дефолтные пароли. У Wazuh дефолт admin / SecretPassword - общеизвестный. Меняйте сразу после установки. У Uptime Kuma первого админа заводит тот, кто первым открыл URL: откройте и создайте админа сами.
Уведомления надо привязать. Хаб ntfy сам по себе молчит: в каждом компоненте укажите его как канал и в Uptime Kuma привяжите уведомление к мониторам, иначе о сбое узнаете, только зайдя в интерфейс.
Не жалейте памяти под Wazuh. На тарифе меньше 8 ГБ индексатор падает по OOM в первые минуты. Это не жадность образа, а JVM: закладывайте RAM с запасом.
Соберем это под вас
Все четыре компонента есть в маркетплейсе Fatmetal с готовыми образами, доменом и TLS. Разверните сами по разборам или закажите готовые серверы и получите рабочую наблюдаемость за час.
Собрано и проверено на живых стендах Fatmetal Cloud, июль 2026. Скриншот хаба - реальные алерты трех компонентов в одном топике. На новых версиях детали интерфейсов могут отличаться.