03:12 сработал алерт. Никто не проснулся.

AI-дежурный
инженер

Агент сам разбирает алерты: идёт в логи и метрики, находит причину и присылает в Telegram готовый диагноз с командой для исправления. Утром вы читаете разбор — а не 40 сработок.

Read-only: агент только читает. Разворачивается в вашем контуре. Каждая команда — в аудит-логе.

Дежурный · AI-DevOpsбот · имя агента задаёте сами
FIRING · InstanceDown

api-gateway (prod) не отвечает

Диагноз: api-gateway упал — на node-2 закончилось место на диске.

Проверил:

  • Prometheus node_filesystem_avail: 0 B (node-2)
  • Loki «no space left on device» в логах, 03:11
  • SSH docker ps: api-gateway — Exited (1)
  • SSH df -h: /dev/vda1 — 100%
  • SSH du -sh /var/log/* → billing-worker: 41 GB
  • SSH lsof: app.log держит процесс billing-worker

Причина: billing-worker пишет логи без ротации — 41 GB за три дня.

Что сделать:

truncate -s 0 /var/log/billing-worker/app.log
docker restart api-gateway

Решение провалидировано: файл держит процесс — rm место не освободит, truncate освободит сразу. Логи уже собраны в Loki, потерь нет.

Чтобы не повторилось:

6 read-команд · весь ход разбора — в аудит-логе

концепт интерфейса

Одна ночь с агентом

  1. Сработал алерт

    Alertmanager или vmalert шлёт вебхук агенту. Телефон дежурного молчит — дежурного может вообще не быть.

  2. Агент собирает контекст

    Запросы к вашему мониторингу — Prometheus и Loki, df -h и docker logs по SSH. Только чтение, каждая команда — в аудит-логе.

  3. Диагноз в Telegram

    Причина, доказательства из логов и метрик, команда для исправления. В общий чат и в личку ответственному. Команду агент только рекомендует — выполнять или нет, решаете вы.

  4. Вы читаете разбор за кофе

    Вместо ленты сработок — одно резюме и готовый план. Если случай серьёзный — вы узнали о нём ночью, уже с контекстом.

Подключается к тому, что у вас уже есть

Метрики

  • Prometheus
  • VictoriaMetrics

Логи

  • Loki
  • VictoriaLogs
  • OpenSearch / Elasticsearch

Алерты

  • Alertmanager
  • vmalert

Серверы по SSH

  • docker logs
  • файлы логов на VM

Kubernetes

  • kubectl logs
  • kubectl get / describe / top

Мозг — любая LLM с OpenAI-совместимым API: ваш ключ (напрямую, OpenRouter, LiteLLM) или наш в составе подписки. По умолчанию можно использовать модель проще, а сложные случаи эскалировать на более сильную (например, DeepSeek V4 Pro с эскалацией на Claude Sonnet 5). Возможен self-hosted вариант.

Zabbix — обсудим на пилоте: подключим индивидуально или поможем с переходом на современный стек мониторинга.

Read-only по построению

Агент ничего не меняет на серверах — он только читает и рекомендует. «Только чтение» — это свойство системы, а не обещание в промпте.

Никакого свободного shell

Модель не пишет команды сама — она выбирает инструмент из фиксированного набора, а параметры проверяет код: список разрешённых путей, лимиты объёма, таймауты.

Аудит каждой команды

Полный журнал того, что агент читал на ваших серверах, доступен вам в любой момент.

В вашем контуре

Разворачивается у вас: docker-compose или helm-чарт. Наружу уходят только запросы к LLM и диагнозы в Telegram; с self-hosted моделью — только Telegram.

Ограниченные учётки

На серверы агент ходит под отдельным SSH-пользователем, в Kubernetes — под ServiceAccount с read-only правами. Обе учётки создаёте и контролируете вы.

Что уходит в LLM

Только фрагменты логов и метрик, собранные для конкретного разбора, — ровно то, что вы видите в аудит-логе. Фильтр секретов вычищает токены и пароли до отправки в модель.

Инструменты агента:journalctltailgrepdffreepssystemctl statusdocker logskubectl logs / get / describe / top…расширяется добавлением инструментов, не снятием ограничений

Фиксы агент не выполняет — только рекомендует команду. Выполнение по вашему апруву появится позже, когда вы сами решите, что готовы его доверить.

Для кого

Маленькая ops-команда

Инженеров мало, дежурств нет — ночные алерты ждут утра, и иногда не доживают до него без последствий. Агент становится первой линией: ночь он разбирает сам.

Команда с дежурными

Дежурный получает не голый алерт, а собранный контекст и гипотезу. Разбор инцидента начинается не с нуля — и не в пяти вкладках Grafana.

Частые вопросы

Что, если агент ошибётся в диагнозе?

Диагноз всегда приходит с доказательствами: выдержки из логов и метрик, полный список выполненных read-команд. Вы проверяете разбор так же, как проверили бы разбор коллеги, — и агент ничего не выполняет сам. Ошибочная гипотеза стоит вам пары минут чтения, а не сломанного прода.

Что из наших данных уходит в LLM?

В модель попадают только те фрагменты логов и метрик, которые агент собрал по конкретному инциденту, — каждый из них виден в аудит-логе. Полностью закрытый контур тоже возможен: агент умеет работать с self-hosted моделью.

У нас Zabbix. Нам не подойдёт?

Подойдёт. На пилоте посмотрим на вашу установку и решим вместе: подключим Zabbix индивидуально или поможем перейти на Prometheus/VictoriaMetrics.

Сколько это стоит?

Цены объявим после первых пилотов. Для пилотных команд условия индивидуальные и заведомо щадящие: сейчас нам важнее ваша инфраструктура и обратная связь, чем выручка.

Как это разворачивается?

Одним docker-compose или helm-чартом в вашем контуре. Понадобится отдельный SSH-пользователь с ограниченными правами, а если есть Kubernetes — read-only ServiceAccount. Учётки создаёте и контролируете вы.

Что нужно, чтобы запустить пилот?

Read-only доступ к вашему стеку мониторинга и инфраструктуре (учётки создаёте и контролируете вы) и около часа вашего времени на подключение. Дальше агент разбирает боевые алерты — первые разборы в течение недели.

Открываем пилоты

Подключим агента к вашему стеку, поможем с установкой и вместе посмотрим на первые разборы инцидентов. Напишите пару слов о вашей инфраструктуре — расскажем, что агент сможет взять на себя. Условия пилота — индивидуальные: для первых команд это про совместную настройку, а не про деньги.

Обсудить пилот в Telegram

Отвечает основатель — Денис Иванов (@dendw), практикующий DevOps-инженер с 8+ лет опыта