AI와 MCP 프로토콜로 DevOps 알림 분석 자동화
DevOps 팀은 종종 Slack, Grafana, Alertmanager에서 발생하는 알림을 분석하느라 몇 시간씩 소비합니다. 특히 Kubernetes, VictoriaMetrics, Loki, 여러 클라우드 환경이 복잡하게 얽힌 설정에서요. 수동으로 트리아지(triage)를 하면 10개 이상의 환경, 데이터베이스, 모니터링 스택의 세부 사항을 머릿속에 다 기억해야 합니다. 해결책은? n8n 기반의 프로토타입(PoC) 에이전트를 MCP 서버(Model Control Protocol)를 통해 AI와 연동해 구축하는 것입니다. 이 에이전트는 알림의 전체 맥락을 제공하고, 바로 실행 가능한 명령어와 실질적인 권장 조치를 제시합니다.
에이전트는 인프라에 읽기 전용 접근 권한만 부여받습니다: PromQL 쿼리를 위한 vmetrics, 로그를 위한 Loki, Kubernetes 리소스를 위한 k8s-mcp, Yandex Cloud Toolkit, ArgoCD-mcp, Alertmanager-mcp 등입니다. 이를 통해 메트릭, 로그, 파드 상태, 억제(silences)를 변경 없이 안전하게 분석할 수 있습니다.
n8n과 MCP 통합으로 PoC 구축하기
프로토타입을 위해 저코드 워크플로 플랫폼인 n8n을 선택했습니다. MCP 서버를 띄웠습니다: alertmanager-mcp, vmetrics-mcp, Yandex Toolkit, k8s-mcp. AI가 사용자의 환경(Yandex Cloud, AWS, DigitalOcean)에 맞춰 워크플로를 생성합니다.
초기 Gemini 테스트에서 문제가 발생했습니다: 잘못된 억제 설정과 과도한 MCP 호출. Claude로 전환하고 단계별 사고 모드를 적용하니 환각(hallucinations)과 무한 루프가 해결되었습니다. 최종 프롬프트는 환경, 날짜, 도구, 엄격한 액션 순서를 명시합니다.
주요 프롬프트 요소:
- 현재 환경(cloud_id, folder_id, 클러스터 레이블 포함).
- 도구: vmetrics(즉시/범위 쿼리, -30분~현재), Loki(-30분/-1시간), k8s_mcp(테이블 컨텍스트), Yandex Cloud Toolkit(Compute/VPC/IAM/YDB/S3만).
- Alertmanager: get_silences, post_silence(JSON에 matchers, ISO 날짜), delete_silence.
표준 알림 조사 프로토콜
에이전트는 표준 플레이북을 따릅니다:
- vmetrics — 메트릭(재시작, 메모리, CPU, 여유 서버).
- 데이터 테이블 — K8s를 위한 kubeconfig_context.
- k8s_mcp — pods_log(이전 로그=true) 또는 pods_get.
- argocd_mcp — 레이블로 get_application.
- Loki — 파드 로그에 근본 원인이 없을 때만.
호출 제한:
- 도구당 최대 2회 재시도.
- 빈 응답 2회? 중단.
- 422 오류(포인트 과다)? 즉시 쿼리로 전환.
- 중단 조건: 로그에 OOMKilled/Killed/Error, 재시작 >0(이유 포함), 5회 이상 호출.
알림 레이블(labelsRaw)은 제공된 대로 정확히 사용: project/cluster는 존재할 때만, 가정하지 않음.
명령어와 억제 처리
@bot 명령어(영어 또는 러시아어):
- "silence 2h" / "4시간 동안 음소거" — post_silence(기본 2시간, alertname 매처).
- "unsilence" / "음소거 해제" — alertname으로 delete_silences.
- "reanalyze" — 전체 재분석.
억제 워크플로:
- get_silences() — 기존 확인.
- 발견 시 — ID/endsAt 보고.
- 없으면 — post_silence(startsAt=현재, endsAt=+기간, ISO Z).
Slack mrkdwn 응답 형식:
- 심각도: 🔴/🟡/🟢(레이블 기준, 절대 낮추지 않음).
- _진단:_ 근본 원인.
- _발견 사항:_ 숫자(재시작 | exitCode | 제한 | 로그).
- _다음 단계:_ 번호 매긴 액션 목록.
주요 요약
- MCP 프로토콜은 커스텀 API 없이 AI에게 안전한 읽기 전용 인프라 접근을 제공합니다.
- Claude의 사고 모드는 도구 호출 시 루프와 환각을 방지합니다.
- 엄격한 중단 기준으로 호출을 최소화하고 근본 원인(OOM, CrashLoopBackOff)에 집중합니다.
- n8n 통합으로 AI가 워크플로를 생성해 개발 속도를 높입니다.
- 컨텍스트 매핑으로 여러 클라우드와 K8s 클러스터 지원.
— Editorial Team
아직 댓글이 없습니다.