ИТ

OpenClaw Logs: AI-мониторинг инфраструктуры Proxmox

Домашняя лаборатория с 18 LXC-контейнерами на Proxmox — это тысячи строк логов в час, где критические ошибки тонут в шуме. OpenClaw Logs — это система мониторинга инфраструктуры, которую я построил для сбора, обогащения и анализа логов с каждого контейнера и хоста с алертингом аномалий в Telegram. Стек объединяет Fluent Bit для сбора, кастомный Lua-фильтр обогащения, VictoriaLogs для хранения и AI-агента, непрерывно отслеживающего ошибки и паттерны.

OpenClaw Logs: проблема

Proxmox-хост с 18 контейнерами (DNS-фильтрация, MQTT-брокер, Zigbee-мост, менеджер паролей, reverse proxy, движки автоматизации, инструменты мониторинга) генерирует постоянный поток логов. Без централизованного сбора приходится SSH-иться в каждый контейнер и проверять journalctl, когда что-то ломается. OpenClaw Logs централизует всё в единое хранилище с интеллектуальным алертингом.

Обзор архитектуры

  • Сбор: агенты Fluent Bit на каждом хосте, читающие записи systemd journal и пересылающие в центральное хранилище
  • Обогащение: кастомный Lua-фильтр, классифицирующий уровни логов, извлекающий структурированные данные из JSON (Pino, Bunyan, Rocket.Chat) и дропающий шум
  • Хранение: VictoriaLogs v1.48.0 — специализированная БД для логов с 90-дневным хранением, лимитом 5 ГБ и языком запросов LogsQL
  • Визуализация: дашборды Grafana для мониторинга в реальном времени
  • Алертинг: AI-агент, запрашивающий логи ошибок каждый heartbeat и отправляющий Telegram-алерты при аномалиях
  • Доступ: Cloudflare Tunnel для безопасного удалённого доступа без открытых портов

Это та же архитектура дата-пайплайнов, которую я внедряю для корпоративных систем — собрать, трансформировать, сохранить, проанализировать.

Пайплайн сбора Fluent Bit

Fluent Bit работает на Proxmox-хосте и читает записи systemd journal из всех контейнеров. Кастомный Lua-фильтр обогащения обрабатывает слой трансформации:

  • Фильтрация шума: дропает известные шумные приложения (sd-pam, systemd-logind, sshd-session), генерирующие тысячи бесполезных записей
  • Классификация уровней: маппинг syslog PRIORITY (0-7) в уровни error/warn/info/debug
  • Парсинг JSON-логов: обнаружение JSON-форматированных сообщений и извлечение структурированных полей (msg, level, name, errmsg)
  • Поддержка Pino/Bunyan: числовые уровни логов (10=debug, 30=info, 40=warn, 50=error) маппятся автоматически
  • Эвристическое повышение: если сообщение содержит ключевые слова «error» или «fatal», но классифицировано как info — уровень повышается
  • Обогащение метаданными: каждая запись получает hostname, имя приложения, нормализованный уровень и тип job

Развёртывание одной командой

Добавление нового сервера в мониторинг занимает одну команду:

curl -fsSL https://RAW_URL/install.sh | sudo bash

Скрипт установки автоматически:

  • Устанавливает Fluent Bit если отсутствует
  • Определяет тип окружения (LXC-контейнер или bare metal сервер)
  • Генерирует Lua-фильтр обогащения с правильным hostname и типом job
  • Настраивает вывод в VictoriaLogs (HTTPS через Cloudflare или прямое локальное подключение)
  • Включает и запускает сервис

Без ручной конфигурации, без редактирования файлов. Это автоматизация развёртывания — тот подход, который масштабируется от одного сервера до десятков.

Покрытие инфраструктуры

Система мониторит 18 LXC-контейнеров плюс Proxmox-хост:

  • Сеть: AdGuard DNS, Nginx Proxy Manager, Cloudflare Tunnel, Smokeping
  • IoT/Умный дом: Zigbee2MQTT, EMQX MQTT-брокер, ioBroker, HyperHDR
  • Безопасность: Vaultwarden менеджер паролей
  • Автоматизация: n8n workflow-движок
  • Медиа: TorrServer, qBittorrent
  • Мониторинг: Grafana, PiAlert сетевой сканер, Homepage дашборд
  • AI-агенты: инстансы OpenClaw (маркетинг-агент, агент анализа логов)
  • Хранение: Samba файловая синхронизация

VictoriaLogs и LogsQL

VictoriaLogs — хранилище логов, специализированная БД, достаточно экономная для домашней лаборатории, но с возможностями запросов для серьёзного анализа:

  • LogsQL: SQL-подобный язык запросов для фильтрации, агрегации и анализа логов
  • Агрегация статистики: группировка ошибок по hostname, app, level с операциями count/sort
  • Политика хранения: 90 дней, максимум 5 ГБ — оптимизировано для масштаба домашней лаборатории
  • Веб-интерфейс: встроенный интерфейс запросов по адресу /select/vmui

AI-анализ

AI-агент анализа логов работает непрерывно:

  • Мониторинг ошибок: проверка записей level:error каждые 30 минут
  • Обнаружение аномалий: выявление резких всплесков ошибок, новых типов ошибок или пропавших хостов
  • Отчёты по инфраструктуре: сводки здоровья по всем 18 контейнерам по запросу
  • Верификация покрытия: контроль, что все контейнеры отправляют логи (нет «тихих» сбоев)
  • Telegram-алерты: мгновенные уведомления о критических проблемах

Это сочетание проактивного мониторинга рисков с AI-анализом — тот же паттерн, который я рекомендую для корпоративной инфраструктуры.

Результаты

  • Централизованный сбор логов с 18 контейнеров с развёртыванием одной командой
  • Интеллектуальная фильтрация шума с сохранением критических событий
  • Парсинг структурированных логов для JSON-приложений (Pino, Bunyan, Rocket.Chat)
  • AI-мониторинг в непрерывном режиме с Telegram-алертингом
  • Экономное хранение с 90-дневной ретенцией
  • Безопасный удалённый доступ через Cloudflare Tunnel

Нужен централизованный мониторинг инфраструктуры? Обсудим архитектуру →

Часто задаваемые вопросы

Почему VictoriaLogs, а не Elasticsearch?

VictoriaLogs создан специально для хранения логов с минимальным потреблением ресурсов — идеально для домашней лаборатории и малой инфраструктуры. Elasticsearch требует значительно больше RAM и CPU для сопоставимых нагрузок. LogsQL даёт нужную мощность запросов без операционных накладных расходов.

Как Lua-фильтр обрабатывает разные форматы логов?

Фильтр сначала пробует парсинг JSON. Если сообщение начинается с «{», извлекаются структурированные поля (msg, level, name). Для не-JSON сообщений используется маппинг syslog PRIORITY. Эвристический слой ловит ключевые слова ошибок в info-классифицированных сообщениях. Это обрабатывает всё — от сырого syslog до Pino JSON и Rocket.Chat.

Может ли это масштабироваться за пределы домашней лаборатории?

Безусловно. VictoriaLogs поддерживает горизонтальное масштабирование. Паттерн сбора Fluent Bit работает идентично для облачных VM. Установщик одной командой работает на любом Debian/Ubuntu сервере. Архитектура построена на корпоративных паттернах, переносимых в продакшн.

Что триггерит Telegram-алерт?

Записи уровня error, резкие всплески количества ошибок, новые типы ошибок и «замолчавшие» хосты (отсутствующие в ожидаемом потоке логов). AI-агент анализирует паттерны, а не просто ключевые слова.

Офис: Dubai Airport Free Zone (DAFZ), Dubai, UAE. Республика Казахстан, г. Алматы, ул. Зенкова 59.
Оцените статью