Przejdź do głównej zawartości

Reagowanie na incydenty wspomagane przez AI

Jest 02:47. PagerDuty wrzeszczy o błędach płatności, masz otwartych sześć dashboardów rozsianych po Datadog, Grafana i Sentry, a Twój PM już pyta o ETA. Wąskim gardłem nigdy nie jest sama naprawa — to te dziesięć minut zbierania kontekstu, zanim w ogóle wiesz, co się zepsuło. Dokładnie tę pracę może wykonać asystent AI podłączony do Twojego stosu obserwowalności, gdy Ty jeszcze szukasz laptopa.

  • Wielokrotnego użytku prompt do korelacji alertów, który ściąga sygnały z Datadog, Grafana i Sentry na jedną oś czasu
  • Prompt do bezpiecznej automatycznej naprawy z bramami pewności i twardymi ograniczeniami bezpieczeństwa
  • Generator post-mortemów, który rekonstruuje oś czasu z danych monitoringu
  • Poprawne, zweryfikowane polecenia instalacji MCP dla Sentry, Datadog, Grafana i PagerDuty w Cursor, Claude Code i Codex
  • Etapowy plan wdrożenia, dzięki któremu najpierw automatyzujesz diagnozę, a naprawę na końcu

Wszystko poniżej opiera się na serwerach MCP, które łączą Twojego asystenta AI z narzędziami monitoringu. Konfiguracja MCP jest identyczna w Cursor, Claude Code i Codex — wszystkie trzy czytają tę samą konfigurację serwera, więc każdy serwer konfigurujesz raz. Najszybsza ścieżka w 2026 to oficjalne zdalne (hostowane) serwery: uwierzytelniają się przez OAuth w przeglądarce, więc nie ma długowiecznych tokenów API do wklejania ani rotowania.

Dodaj do projektowego .cursor/mcp.json (lub globalnego ~/.cursor/mcp.json):

{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp"
}
}
}

Cursor otwiera okno OAuth przy pierwszym użyciu — token nie jest potrzebny.

Serwer Sentry udostępnia zgłoszenia błędów, ślady stosu, wydania oraz analyze_issue_with_seer do analizy przyczyny źródłowej wspieranej przez AI.

Datadog udostępnia teraz oficjalny zdalny serwer MCP (już nie w wersji Preview). Użyj endpointu US poniżej lub https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp dla witryny EU.

{
"mcpServers": {
"datadog": {
"url": "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp"
}
}
}

Grafana (self-hosted przez npm @leval/mcp-grafana) i PagerDuty (oficjalny zdalny) w jednej konfiguracji:

{
"mcpServers": {
"grafana": {
"command": "npx",
"args": ["-y", "@leval/mcp-grafana"],
"env": {
"GRAFANA_URL": "https://your-org.grafana.net",
"GRAFANA_API_KEY": "YOUR_SERVICE_ACCOUNT_TOKEN"
}
},
"pagerduty": {
"url": "https://mcp.pagerduty.com/mcp"
}
}
}

Pierwsze zadanie w każdym incydencie to przebicie się przez szum. Zamiast wpatrywać się w sześć dashboardów, niech AI skoreluje sygnały według usługi i znacznika czasu w jedną oś czasu. Ta część przepływu pracy jest w zasadzie identyczna we wszystkich trzech narzędziach — różni się tylko punkt wejścia.

Otwórz panel Agenta w Cursorze (Cmd/Ctrl+I) i wklej poniższy prompt korelacyjny. Agent po kolei odpytuje każdy serwer MCP i renderuje ujednoliconą oś czasu w miejscu.

Skorelowana odpowiedź jest zwięzła — oś czasu plus hipoteza, a nie ściana dashboardów. Na przykład (poglądowo):

Probable root cause: payment-service DB connection pool exhaustion (confidence: high)
02:30 payment-service v2.3.1 deployed (pool size 100 -> 10)
02:45 DB connection timeouts +400% (Grafana); error rate 0.2% -> 15% (Datadog)
02:47 User-facing checkout errors spike (Sentry, ConnectionTimeoutError 67%)
Recommendation: roll back v2.3.1; verify pool size before re-deploy.

Ten krok korelacji normalnie pochłania dziesięć minut ręcznego przeskakiwania między dashboardami.

Gdy masz już hipotezę, popchnij AI do potwierdzenia jej względem baselinów, ostatnich zmian i stanu zależności, zanim ktokolwiek tknie produkcję. To jest identyczne we wszystkich narzędziach — wklej prompt do tego agenta, w którym korelowałeś alerty.

Wartość tkwi tu w orkiestracji: jeden prompt rozchodzi się po metrykach, błędach i kontroli wersji, zamiast żebyś ręcznie odpalał kilkanaście zapytań. Z podłączonym serwerem Sentry możesz też poprosić go o uruchomienie Seer („Use Sentry’s Seer to analyze issue PROJECT-1234 and propose a fix”), aby uzyskać analizę przyczyny źródłowej wspieraną przez AI dla konkretnego błędu.

Dla dobrze rozpoznanych, wielokrotnie widzianych awarii AI może przejść od diagnozy do działania — ale wyłącznie za jawnymi bramami pewności i krokiem zatwierdzenia przez człowieka. Tutaj narzędzia naprawdę się rozchodzą, bo każde inaczej wymusza zatwierdzenia.

Tryb Agenta w Cursorze proponuje edycje (np. PR z wycofaniem albo zmianę wartości Helm) i pokazuje diff, który zatwierdzasz, zanim cokolwiek się wykona. Dla serwerów z prawem zapisu trzymaj automatyczne uruchamianie narzędzi MCP wyłączone, żeby każde modyfikujące wywołanie wymagało kliknięcia. Załóż checkpoint przed startem, żeby móc cofnąć całą sesję jednym ruchem.

Jeśli zamiast działania wolisz pasywny nadzór, podmień cel na samo monitorowanie:

Codex naturalnie pasuje do warstwy komunikacji ze względu na integracje ze Slackiem i GitHubem na różnych powierzchniach — możesz prowadzić aktualizacje z aplikacji lub z Cloud, podczas gdy w terminalu wciąż skupiasz się na naprawie.

Cursor zostaje w IDE, więc komunikację trzymaj ręcznie albo ją deleguj: sam wklejaj podsumowanie statusu od AI na swój kanał incydentu. Cursor sprawdza się najlepiej przy naprawie z rękami na klawiaturze, a nie w pętli z interesariuszami.

Prawdziwą wypłatą jest nauka. AI rekonstruuje oś czasu z tych samych danych monitoringu, które odpytywało na żywo, więc post-mortem pisze się sam z faktów, a nie z mglistych wspomnień. Ten krok jest identyczny we wszystkich narzędziach — użyj tego, które masz akurat otwarte.

Ten sam wzorzec możesz uruchomić na danych z wielu miesięcy („analyze incident patterns over the last 90 days and rank prevention opportunities by incidents-prevented per dev-day”), aby znaleźć powracające przyczyny źródłowe warte wyeliminowania inżynieryjnie.

  • Serwer MCP nie chce się połączyć. Przy serwerach zdalnych okno OAuth mogło zostać zablokowane albo token wygasł — ponów połączenie. Wylistuj skonfigurowane serwery poleceniem claude mcp list (lub sprawdź panel ustawień MCP w Cursorze) i potwierdź status. Większość awarii to wygasły token albo brakujący zakres uprawnień, a nie zepsuty serwer. Pełny triage znajdziesz w Problemy z połączeniem MCP.
  • Niezgodność npx i uvx. Serwery oparte na Pythonie (jak lokalny serwer PagerDuty) nie wystartują pod npx. Jeśli serwer stdio błyskawicznie zwraca błąd, sprawdź, czy jest publikowany na npm czy na PyPI, i użyj pasującego runnera.
  • Agent działa za bardzo. Podczas incydentu uruchamiaj Claude Code interaktywnie (nie -p), trzymaj Codex na zatwierdzeniach on-request, a w Cursorze zostaw automatyczne uruchamianie wyłączone dla serwerów z prawem zapisu. Jeśli mimo to działa za szybko, zawęź --allowedTools do narzędzi tylko do odczytu i dodaj do promptu jawną linijkę „require confirmation before any production change”.
  • Za dużo szumu w aktualizacjach. Każ promptowi komunikacyjnemu grupować powiązane alerty w jedno powiadomienie i publikować tylko przy zmianach stanu, a nie przy każdym tiknięciu metryki.

Zacznij od jednego serwera i jednego przepływu pracy: podłącz Sentry, uruchom prompt korelacyjny przy następnym prawdziwym wezwaniu i trzymaj każdą naprawę ręcznie, dopóki diagnoza nie będzie niezawodnie trafna. Stąd automatyzuj na zewnątrz.