MCP로 Gemini를 Grafana에 연결하기

MCP로 Gemini를 Grafana에 연결하기

Model Context Protocol(MCP)을 활용해 터미널에서 직접 Grafana 대시보드와 데이터소스와 상호작용하는 방법을 배워볼게요. 이 가이드는 Docker MCP Toolkit을 사용해 Gemini CLI를 Grafana 인스턴스에 연결하는 방법을 보여줘요.

출처: 문서

본문

사전 요구사항

  • Gemini CLI가 설치되고 인증되어 있어야 해요.
  • MCP Toolkit 확장이 활성화된 Docker Desktop이 필요해요.
  • 활성화된 Grafana 인스턴스가 필요해요.

1단계: Grafana 접근 프로비저닝

MCP 서버는 Grafana API와 상호작용하려면 서비스 계정 토큰(Service Account Token)이 필요해요. 서비스 계정 토큰은 사용자 접근에 영향을 주지 않고 독립적으로 폐기할 수 있고, 권한을 더 좁게 범위 지정할 수 있어 개인 API 키보다 선호돼요.

Grafana 대시보드에서 Administration > Users and access > Service accounts 로 이동해주세요.

새 서비스 계정(예: gemini-mcp-connector)을 만들어주세요.

Viewer 역할(경고 관리 기능이 필요하면 Editor)을 할당해주세요.

새 토큰을 생성하세요. 토큰은 다시 볼 수 없으니 즉시 복사해두세요.

2단계: MCP 서버 구성

Docker MCP Toolkit은 사전 구성된 Grafana 카탈로그 항목을 제공해요. 이 항목이 LLM을 Grafana API에 연결해줘요.

Docker Desktop에서 MCP Toolkit을 열어주세요.

카탈로그에서 Grafana 를 찾아 활성 서버에 추가해주세요.

Configuration 뷰에서 다음을 정의해주세요:

  • Grafana URL: 내 인스턴스의 엔드포인트 또는 URL.
  • Service Account Token: 이전 단계에서 생성한 토큰.

3단계: Gemini CLI 통합

Gemini 안에 Docker MCP gateway를 등록하려면 ~/.gemini/settings.json 에 있는 전역 구성 파일을 업데이트해주세요.

mcpServers 객체에 다음 항목이 포함되도록 해주세요:

{
  "mcpServers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": ["mcp", "gateway", "run"]
    }
  }
}

4단계: 설정 검증

새 구성이 로드되도록 Gemini CLI 세션을 재시작해주세요. MCP 도구 상태를 확인하려면 다음을 실행해주세요:

> /mcp list

연결이 성공하면 MCP_DOCKER 가 Ready 로 표시되고, 데이터 가져오기, 대시보드 검색, 경고 검사 등 수십 개의 도구가 노출돼요.

사용 사례

데이터소스 발견

모든 Prometheus와 Loki 데이터소스를 나열해요.

로그 검사

Gemini는 의도 파싱을 수행하고 사용자의 요청을 정확한 LogQL 쿼리로 변환해요:

{device_name="edge-device-01"} |= "nginx"

시스템이 Loki를 활성 데이터소스로 식별하면 AI는 이 명령을 자율적으로 구성해 인간의 의도와 복잡한 문법 사이의 격차를 메워요. 이 쿼리는 특정 Kubernetes 포드 로그를 대상으로 해 pod UID, 컨테이너 메타데이터, 시스템 레이블을 포함한 원시 OpenTelemetry(OTel) 데이터를 추출하며, Gemini는 이를 사용해 컨테이너화된 환경 내의 문제의 근본 원인을 식별해요.

마지막 단계에서 Gemini는 원시 텔레메트리에 대해 추론을 수행해요. 수백 줄을 필터링해 Nginx 로그의 존재를 확인한 뒤, Gemini는 스트림에 묻혀 있는 특정 node_filesystem_device_error 를 추출해요. 이 중요한 이벤트를 표면화함으로써 엣지 노드의 볼륨 마운트 문제를 DevOps 엔지니어에게 알리고, 원시 데이터를 실행 가능한 인시던트 보고서로 바꿔줘요.

대시보드 탐색

  • 대시보드가 몇 개나 있나요?
  • X 대시보드의 요약을 알려줘

기타 시나리오

어플리케이션이 느리다는 페이지를 받았다고 상상해보세요. 다음과 같이 할 수 있어요:

  • list_alert_rules 을 사용해 어떤 경고가 발화 중인지 확인.
  • search_dashboards 을 사용해 관련 어플리케이션 대시보드를 찾기.
  • 핵심 패널에서 get_panel_image 을 사용해 성능 스파이크를 시각적으로 확인.
  • 스파이크 시점에 "error" 또는 "timeout" 메시지를 검색하려면 query_loki_logs 을 사용.
  • 근본 원인을 찾으면 create_incident 로 공식 대응을 시작하고 add_activity_to_incident 로 발견 사항을 기록.

다음 단계

  • 고급 LogQL 쿼리 배우기
  • 팀 전체 MCP 구성 설정하기
  • MCP로 Grafana 알림 살펴보기
  • Docker Community Forums에서 도움 받기

Docker MCP 환경을 설정하거나 Gemini 프롬프트를 커스터마이즈하는 데 도움이 필요하면 Docker Community Forums를 방문하거나 Get Started Guide를 참고하세요.

더 알아보기 (Learn more)

  • Docker MCP Toolkit
  • Model Context Protocol(MCP)
  • Grafana