Перейти к основному содержимому
CodeAlive

От алерта до корневой причины — минуты, а не часы

Подключите CodeAlive к investigation-агенту через MCP. Он связывает код с метриками и трейсами — LLM проходит инцидент с обеих сторон.

Почему сложные баги разбираются так долго

  • Сложные баги растягиваются на несколько сервисов — нужно соотносить логи, метрики, трейсы и код.
  • Инженеры часами скачут между Grafana, логами и IDE, пытаясь соединить точки.
  • Тот, кто расследует, обычно не писал этот код — контекста нет.
  • Observability показывает, что происходит, — но не почему на уровне кода.
  • AI-агенты разбирают либо метрики, либо код — но редко то и другое вместе.
  • Post-mortem получается неполным, потому что вся картина разбросана по разным инструментам.

Метрики и код — в одном агенте

Подключите к investigation-агенту два MCP — CodeAlive и Grafana. Grafana покажет всплеск, CodeAlive — функцию, из-за которой он случился. К моменту, когда дежурный открывает Slack, черновик RCA уже готов.

MCP-нативный набор инструментов для расследования

Агентский пайплайн из нескольких MCP

Соединяйте несколько MCP-инструментов в одном расследовании: CodeAlive — для понимания кода, Grafana — для метрик, логов и трейсов.

Расследование с привязкой к коду

Спросите, почему сервис уходит в таймаут — получите точную цепочку вызовов, значения таймаутов и где они выставлены.

Корреляция метрик и кода

Связывайте аномалии observability с конкретными местами в коде — от всплеска на метрике до сервиса и точной функции.

Видимость недавних изменений

Выводит PR и деплои, время которых совпадает с окном инцидента, — с уже разобранными диффами.

Черновик post-mortem

Генерирует таймлайн, корневую причину, доказательства, фикс и blast radius — отформатировано и готово к ревью.

Помощь дежурному

Постит сводку в Slack или Teams в момент алерта — дежурный сразу видит контекст, а не голый алерт.

От алерта до черновика RCA

  1. 1

    Срабатывает алерт

    Алерт из PagerDuty или Grafana запускает investigation-агента, передавая содержимое алерта и временное окно.

  2. 2

    Grafana MCP подтягивает контекст

    Агент собирает с дашбордов error rate, латентность, паттерны в логах и затронутые эндпоинты.

  3. 3

    CodeAlive MCP объясняет код

    Агент прослеживает падающий путь, тянет конфиги таймаутов и находит недавние изменения в тех же файлах.

  4. 4

    Сверка по времени

    Оба MCP опрашиваются вместе — чтобы соотнести аномалии метрик с деплоями и переключениями конфигов.

  5. 5

    Черновик отчёта о причине

    Агент собирает markdown-сводку: таймлайн, доказательства, фикс и blast radius — на ревью человека.

Что меняется при инцидентах

  • Меньше времени от алерта до корневой причины.
  • Первая гипотеза о причине готова ещё до того, как дежурный открывает ноутбук.
  • Конец дебагу «на глаз».
  • Регрессии, привязанные к конкретным деплоям, ловятся быстрее.
  • Post-mortem получается полным с первого черновика.

Как выглядит агентское расследование

Диаграмма агентского расследования с двумя MCP-серверами, ведущими к одному investigation-агенту
Агентский поток расследования с CodeAlive MCP и Grafana MCP.
Метрики Grafana и контекст кода CodeAlive показаны рядом для инцидента с платежами
Метрики Grafana и контекст кода CodeAlive — рядом.
Канал Slack с автоматическим отчётом расследования, отправленным агентом по алерту
Интеграция со Slack доставляет автоматический отчёт расследования.

Сокращайте время каждого инцидента

Подключите CodeAlive к investigation-агенту — пусть он объясняет код, а Grafana объясняет метрики.

CodeAlive MCP плюс Grafana MCP в деле

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

1

Шаг 1 — Соберите контекст observability (Grafana MCP)

Промпт для агента

Подними метрики payment-сервиса за последние 2 часа. Покажи error rate, P99 латентность и любые аномалии.

Всплеск error rate в 08:45 UTC (2,3% → 8,7%). Латентность P99 в норме. Затронутый эндпоинт /api/v2/payments/process. 87% ошибок — CONVERSION_FAILED. 94% — из EU-региона. Связанный лог: «Currency conversion timeout after 5000ms».

2

Шаг 2 — Разберитесь в коде (CodeAlive MCP)

Промпт для агента

Объясни путь кода для /api/v2/payments/process при валютной конверсии. Включи обработку таймаутов.

Вход PaymentController.processPayment(). Поток: PaymentService → CurrencyConverter → ExternalRateAPI. Таймаут 5000ms хардкодом в CurrencyConverter.java:142. Fallback на таймаут отсутствует. Недавнее изменение PR #4521 (3 дня назад) тронуло rate caching. Находка: инвалидация кеша на miss идёт синхронно.

3

Шаг 3 — Сверьте по времени (оба MCP)

Промпт для агента

Покажи cache hit rate для currency-rate-cache и наложи на таймлайн error rate. Дальше — разбери PR #4521.

Cache hit rate упал с 95% до 23% в 08:42 UTC. Всплеск ошибок отстаёт на ~3 минуты; паттерн повторяется каждые 4 часа (TTL кеша). PR #4521 уменьшил TTL с 24ч до 4ч, не обновив batch size прогрева — thundering herd бьёт в rate-limited ExternalRateAPI.

4

Шаг 4 — Сгенерируйте рекомендации по фиксу

Промпт для агента

Предложи фикс для thundering herd в CurrencyRateCache. Покажи похожие паттерны в кодовой базе, на которые можно опереться.

Рекомендация: поэтапное обновление кеша (см. InventoryCache.java:156), circuit breaker (паттерн в AuthService), fallback на last-known-good rate на таймауте. Похожий баг решался в InventoryService в Q2 через PR #3892. Быстрая митигация: вернуть TTL к 24ч (одна строка в CurrencyRateCache.java:89).

Архитектура интеграции
         ┌────────────────────────────────────────────┐
         │      AI Investigation Agent (MCP client)    │
         └────────────────────────────────────────────┘
                 │                          │
                 ▼                          ▼
       ┌──────────────────┐       ┌──────────────────┐
       │  CodeAlive MCP   │       │   Grafana MCP    │
       │  code, deps, PRs │       │ metrics, logs    │
       └──────────────────┘       └──────────────────┘
                 │                          │
                 ▼                          ▼
       ┌──────────────────┐       ┌──────────────────┐
       │   Your Codebase  │       │  Grafana Stack   │
       └──────────────────┘       └──────────────────┘

Один AI investigation-агент, два MCP-сервера, обе стороны картинки.

Пример настройки
// Investigation agent with dual MCP integration
const investigationAgent = new Agent({
  model: "claude-sonnet-4-6",
  mcpServers: [
    { name: "codealive", url: "https://mcp.codealive.ai/api/",
      auth: { token: process.env.CODEALIVE_API_KEY } },
    { name: "grafana", url: "http://localhost:3001/mcp",
      auth: { token: process.env.GRAFANA_API_KEY } },
  ],
  systemPrompt: `You are an incident investigation agent.
    Use Grafana MCP to gather observability data.
    Use CodeAlive MCP to understand code context.
    Combine both to identify root causes.`,
});

await investigationAgent.investigate({
  alert: "Payment failure rate exceeded threshold",
  timeRange: "last 2 hours",
  service: "payment-service",
});

Подключите оба MCP-сервера к одному агенту — пусть расследует.