Настроил один раз. Дальше смотрит агент.
kb-monitor наблюдает за сервисами, которые раскатал kb-deploy. У всех команд есть --json со стабильной схемой — агент сам гоняет health, читает логи и реагирует. Вы перестаёте думать о мониторинге как о задаче.
Знакомо?
Что-то сломалось в проде. 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.
# раз в пять минут, через 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 знает про неё тоже.
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 --followLive-логи с хоста прямо в терминал. Ctrl-C и всё, ничего не надо чистить.
kb-monitor exec kb-labs-web -- df -hВыполнить команду внутри работающего контейнера. Всё после -- уходит как есть.
kb-monitor infraСостояние stateful-сервисов из deploy.yaml.
Скачать
Готовые бинарники для macOS, Linux и Windows. SHA-256 есть в каждом релизе.
Часть KB Labs
kb-monitor есть как отдельный бинарь и как часть платформы KB Labs. Ставите KB Labs — kb-monitor уже внутри.
Установить KB Labs →