Powrót do strony głównej

AI-agent do analizy alertów DevOps z MCP

Artykuł opisuje PoC AI-agenta do zautomatyzowanej analizy alertów w infrastrukturze DevOps na n8n z serwerami MCP. Agent integruje vmetrics, loki, K8s i chmurowe toolkit, dostarczając diagnozę i fix-kroki. Nadaje się dla middle/senior specjalistów.

SherlockOps: AI pokonuje chaos alertów w DevOps
Advertisement 728x90

Automatyzacja analizy alertów w DevOps z pomocą AI i protokołu MCP

Specjaliści DevOps często spędzają godziny na ręcznym rozkładaniu alertów z Slacka, Grafany i Alertmanagera, szczególnie w złożonej infrastrukturze z Kubernetesem, VictoriaMetrics, Loki i wieloma chmurami. Ręczna analiza wymaga trzymania w głowie szczegółów 10+ środowisk, baz danych i stosu monitoringu. Rozwiązanie — agent PoC oparty na n8n, zintegrowany z AI poprzez serwery MCP (Model Control Protocol), dostarczający pełny kontekst alertu, gotowe komendy i rekomendacje.

Agent otrzymuje dostęp read-only do infrastruktury: vmetrics do zapytań PromQL, loki do logów, k8s-mcp do zasobów Kubernetes, yandex-cloud-toolkit, argocd-mcp i alertmanager-mcp. Dzięki temu może analizować metryki, logi, stany podów i wyciszenia bez ryzyka zmian.

Realizacja PoC na n8n z integracjami MCP

Do prototypu wybrano n8n jako platformę low-code do workflowów. Uruchomiono serwery MCP: alertmanager-mcp, vmetrics-mcp, yandex-tool-kit, k8s-mcp. Workflow jest generowany przez AI, z uwzględnieniem specyfiki środowisk (Yandex Cloud, AWS, DigitalOcean).

Google AdInline article slot

Pierwsze testy z Gemini ujawniły problemy: błędne podpisy, wielokrotne wywołania MCP. Przejście na Claude z trybem thinking rozwiązało kwestie halucynacji i pętli. Ostateczny prompt określa środowisko, datę, narzędzia i ścisłą sekwencję działań.

Kluczowe elementy promptu:

  • Aktualne środowisko z cloud_id, folder_id, etykietą klastra.
  • Narzędzia: vmetrics (zapytania instant/range z -30m..now), loki (-30m/-1h), k8s_mcp (kontekst z tabeli), yandex-cloud-toolkit (tylko Compute/VPC/IAM/YDB/S3).
  • Alertmanager: get_silences, post_silence (JSON z matcherami, daty ISO), delete_silence.

Standardowy protokół badania alertów

Agent stosuje typowy plan:

Google AdInline article slot
  • vmetrics — metryki (restarty, pamięć, CPU, wolne serwery).
  • Tabela danych — kubeconfig_context dla K8s.
  • k8s_mcp — pods_log (previous=true) lub pods_get.
  • argocd_mcp — get_application po etykietach.
  • loki — tylko jeśli brak przyczyny w logach podów.

Ograniczenia wywołań:

  • Nie więcej niż 2 powtórne wywołania tego samego narzędzia.
  • Pusty wynik 2 razy — przerwać.
  • Błąd 422 (zbyt wiele punktów) — przełączyć na zapytanie instant.
  • Kryteria stopu: OOMKilled/Killed/Error w logach, restarty >0 z powodem, 5+ wywołań.

Etykiety z alertu (labelsRaw) używane dokładnie: project/cluster tylko jeśli obecne, bez wymyślania.

Obsługa komend i wyciszeń

Komendy @bot po polsku/angielsku:

Google AdInline article slot
  • "silence 2h" / "wycisz na 4 godziny" — post_silence (domyślnie 2h, matcher po alertname).
  • "unsilence" / "odwycisz" — delete_silences po alertname.
  • "reanalyze" — pełna analiza.

Kolejność dla wyciszenia:

  • get_silences() — sprawdzić istniejące.
  • Jeśli są — podać ID/endsAt.
  • Brak — post_silence (startsAt=now, endsAt=+duration, ISO Z).

Format odpowiedzi w Slack mrkdwn:

  • Severity: 🔴/🟡/🟢 (po etykiecie, nie obniżać).
  • _Diagnoza:_ przyczyna.
  • _Co znaleziono:_ liczby (restarty | exitCode | limit | log).
  • _Zrób:_ numerowana lista kroków.

Co ważne

  • Protokół MCP zapewnia bezpieczny dostęp read-only AI do infrastruktury bez niestandardowych API.
  • Tryb thinking w Claude zapobiega pętlom i halucynacjom przy pracy z narzędziami.
  • Ścisłe kryteria stopu minimalizują wywołania, skupiając się na root cause (OOM, CrashLoopBackOff).
  • Integracja z n8n pozwala generować workflowy AI, przyspieszając rozwój.
  • Obsługa wielu chmur i środowisk K8s poprzez mapowanie kontekstu.

— Editorial Team

Advertisement 728x90

Czytaj dalej