Open Source

Настроил один раз. Дальше смотрит агент.

kb-monitor наблюдает за сервисами, которые раскатал kb-deploy. У всех команд есть --json со стабильной схемой — агент сам гоняет health, читает логи и реагирует. Вы перестаёте думать о мониторинге как о задаче.

curl -fsSL https://kblabs.ru/kb-monitor/install.sh | sh
ДокументацияGitHub Releases

Знакомо?

Что-то сломалось в проде. SSH на хост, docker ps, grep контейнера, docker logs, прокрутка стены текста, забыли флаг tail, пробуете снова. Десять минут — и вы ещё не увидели ни одной релевантной строки.

kb-monitor logs <target> --follow. Логи едут к вам на ноутбук, без SSH-сессий и без запоминания имени контейнера.

Сервис упал в три ночи. Вопрос: он живой сейчас? Когда встал обратно? На каком SHA образа? Вы гоняете три разные команды на хост, чтобы собрать картинку.

kb-monitor status показывает все цели одной таблицей: состояние, uptime, SHA — готово для вставки в чат инцидента.

Агент написал хотфикс и задеплоил его. Теперь ему нужно убедиться что деплой прошёл и сервис здоров. Без структурированного вывода ему приходится парсить docker ps глазами.

У всех команд есть --json со стабильной схемой. Агент получает чистые данные, а не скрипит по экрану.


Мониторинг как то, что делает ваш агент.

Все команды kb-monitor отдают JSON со стабильной задокументированной схемой. Прицепите к ним агента по расписанию — и мониторинг перестаёт быть человеческой задачей. Становится петлёй, которая сама себя гоняет.

Тот же паттерн работает с любым агентом — Claude, Codex, свой plugin-агент внутри KB Labs. Контракт — это стабильная схема JSON.

agent-watchdog.sh
# раз в пять минут, через cron или kb-dev schedule
kb-monitor status --json > /tmp/state.json

# агент читает состояние, думает, реагирует:
#   - health упал на kb-labs-web → kb-deploy run kb-labs-web
#   - в проде новый SHA → запостить в #releases
#   - контейнер перезапускается → вытянуть логи и завести issue
#
# правила вы написали один раз. в терминал больше не заходите.

Тот же файл, что у kb-deploy.

kb-monitor читает .kb/deploy.yaml — тот же, из которого раскатываются сервисы. Никаких вторых источников правды и параллельных инвентарей.

Деплой и наблюдение по дизайну идут в паре. Если kb-deploy знает про цель, kb-monitor знает про неё тоже.

.kb/deploy.yaml
registry: ghcr.io/your-org

targets:
  api:
    path: apps/api
    host: prod-1
    compose: infra/compose/api.yml
    health: http://localhost:3000/health

  web:
    path: apps/web
    host: prod-1
    compose: infra/compose/web.yml

infrastructure:
  postgres:
    host: prod-1
    image: postgres:16

  redis:
    host: prod-1
    image: redis:7

Как это работает

То, что важно когда сервисы уже работают.

Health по всем целям одной командой

health гоняет HTTP или TCP-пробы по каждой цели из deploy.yaml. Pass или fail, с задержкой ответа.

Состояние, uptime и SHA образа

status показывает три вещи, которые всегда нужны во время инцидента — что сейчас, сколько уже так и какой образ крутится.

Удалённые логи без SSH

logs стримит docker logs с хоста. --lines для tail, --follow для live. Никаких заходов на хост ради одного файла логов.

exec в контейнер по SSH

exec запускает команду внутри работающего контейнера. Полезно для разовых проверок: df -h, ps, прочитать конфиг, запустить миграцию.

Stateful-инфра лежит там же

Базы, кеши, брокеры из deploy.yaml появляются в status и health рядом с приложениями. Один взгляд — на всё.

Все команды удобны для скриптов

У каждой команды есть --json со стабильной и задокументированной схемой. CI и агенты получают чистый слой данных.


Команды

Все команды поддерживают --json — для скриптов и агентных workflow.

kb-monitor health

Прогнать health-пробы по всем целям. Pass или fail для каждой, с задержкой.

kb-monitor health kb-labs-web

Проверить одну цель. Удобно для пост-деплойной верификации в CI или агентном workflow.

kb-monitor status

Состояние, uptime и SHA образа для каждой цели. Три вещи, которые нужны во время инцидента.

kb-monitor status --json

Структурированный вывод для агентов и дашбордов. Стабильная схема, все поля задокументированы.

kb-monitor logs kb-labs-web --lines 100

Последние 100 строк логов для цели. Без SSH, без docker ps.

kb-monitor logs kb-labs-web --follow

Live-логи с хоста прямо в терминал. Ctrl-C и всё, ничего не надо чистить.

kb-monitor exec kb-labs-web -- df -h

Выполнить команду внутри работающего контейнера. Всё после -- уходит как есть.

kb-monitor infra

Состояние stateful-сервисов из deploy.yaml.


Скачать

Готовые бинарники для macOS, Linux и Windows. SHA-256 есть в каждом релизе.

ПлатформаБинарникСкачать
macOS (Apple Silicon)kb-monitor-darwin-arm64Скачать
macOS (Intel)kb-monitor-darwin-amd64Скачать
Linux (x86_64)kb-monitor-linux-amd64Скачать
Linux (ARM64)kb-monitor-linux-arm64Скачать
Windows (x86_64)kb-monitor-windows-amd64.exeСкачать

Часть KB Labs

kb-monitor есть как отдельный бинарь и как часть платформы KB Labs. Ставите KB Labs — kb-monitor уже внутри.

Установить KB Labs →