ИИ-расследования инцидентов на Linux-парке — под вашим контролем
LLM предлагает следующий шаг — вы аппрувите. Каждый коллектор read-only по конструкции: инструмент физически не может выполнить команду, которой нет в системе.
Дебаг инцидента — это либо страшно, либо долго
kubectl exec на свой страх и риск
Подключение к pod, ручной cat, tail, journalctl. Каждая команда — потенциальный rm.
Ansible playbook’и для диагностики
Долго писать, страшно запускать, версионируется отдельно от ситуации.
sosreport и must-gather
Тонна данных, разбираешь сам ночью, половина не нужна.
reconops — расследование под вашим контролем
LLM (Claude или любая OpenAI-совместимая модель) ходит по парку через read-only коллекторы. Каждый шаг — карточка для оператора, которую он аппрувит. На выходе — структурированный post-mortem с findings и ссылками на реальные наблюдения. Read-only гарантирован конструктивно, не «политикой».
Один цикл расследования
Вы вводите цель
Свободным текстом: «почему упал nginx на edge-03»
LLM предлагает шаг
Один tool_use за раз с понятным rationale
Вы аппрувите
Approve, edit JSON, skip или end — решение за вами
Агент собирает данные
Read-only коллектор на целевом хосте
LLM анализирует
Новый шаг или finding с доказательствами, цикл
Шаги 2–5 повторяются до mark_done. Оператор может в любой момент закончить расследование или подсказать гипотезу.
Что внутри
11 read-only коллекторов
Сетка, DNS, systemd, journal, файлы, процессы, диски. Расширяется релизом агента.
Step-by-step approval
Approval card: approve, edit params, skip, end, inject hypothesis.
Findings с доказательствами
Каждый finding ссылается на task_id. Pin / ignore. Экспорт в Markdown.
Парк хостов
Enroll через bootstrap token, mTLS из коробки, labels, статусы.
Audit-лог
Каждое действие оператора и каждое решение модели — в журнале.
Любой OpenAI-совместимый LLM
OpenRouter по умолчанию. vLLM, LiteLLM, raw OpenAI — всё подойдёт.
Read-only по конструкции, не по политике
Пять слоёв enforcement. Если один пропустит destructive команду — она упрётся в следующий.
ИИ не может выполнить команду, которой нет в системе.
Один бинарник на хост, один на хаб
- Single Go binary (~28 MB, без CGO, без зависимостей).
- SQLite хранилище в хабе. Никакого Postgres-кластера.
- mTLS между хабом и агентом обязателен. Сертификаты выдаёт хаб.
- Self-hosted: ваши данные не покидают периметра, только сжатые рассуждения уходят в LLM-провайдера.
- Systemd-юниты, nginx config, install runbook — в комплекте.
# 1. поднять хаб и фронт-nginx
$ git clone https://github.com/reconops/reconops.git
$ cd reconops && docker compose up -d
# 2. выпустить bootstrap-токен для хоста
$ docker compose exec hub recon-hub gen-token \
--agent-id edge-03
# 3. установить агента на целевой хост
$ curl -sSL https://reconops.ru/install.sh | sh
# 4. открыть UI
$ open https://localhost/investigations/newКогда это полезно
Cron на k8s падает по ночам
Натравите reconops на namespace и получите причину к утру.
Prometheus-агент отвалился на 3 хостах
Найти, что у них общего — быстрее, чем читать три journalctl руками.
DNS «иногда» не резолвится
Пройти стек resolv → systemd-resolved → network.
Onboarding нового SRE
Investigation превращается в пошаговый туториал «как мы дебажим».
Post-mortem после инцидента
Финальный экспорт в Markdown — готовый раздел отчёта.
Частые вопросы
Можно ли запретить ИИ некоторые коллекторы?
Да, через config whitelist на хабе.
Какие LLM поддерживаются?
Любой OpenAI-совместимый chat/completions с function calling. По умолчанию OpenRouter с claude-sonnet-4.5.
Что уходит во внешний LLM?
Только сжатые описания результатов (~500–2000 токенов). Сырые артефакты остаются в хабе.
Можно ли работать с air-gapped инфрой?
Да — поднимите локальный vLLM или LiteLLM как backend.
А Windows?
Нет. Только Linux.
Как обновить агента?
Через пакетный менеджер или замена бинарника + restart unit.
Заинтересовало? Напишите: hello@reconops.ru