Grafana
Grafana와 연결하여 모니터링 대시보드와 알림을 관리할 수 있습니다.
주요 기능
- 대시보드 조회, 생성, 수정
- 데이터 소스 관리 및 생성
- 알림 규칙 설정 및 관리
- Prometheus 메트릭 쿼리 실행
- 시스템 헬스 체크
- 대시보드 검색 기능
기본 정보
인증 방식
API Key를 사용하여 인증합니다.
입력 파라미터
- API Key (필수): Grafana에서 생성한 API 키
- Grafana URL (필수): Grafana 인스턴스 URL
지원하는 MCP 도구
대시보드 관리
get_dashboard_by_uid
UID로 식별되는 특정 대시보드의 완전한 정보를 조회합니다. (패널, 변수, 설정 포함)
update_dashboard
대시보드를 생성하거나 업데이트합니다.
get_dashboard_panel_queries
대시보드의 각 패널에 대한 제목, 쿼리 문자열, 데이터 소스 정보를 조회합니다.
search_dashboards
쿼리를 사용하여 대시보드를 검색합니다.
알림 관리
create_alert_rule
새로운 Grafana 알림 규칙을 생성합니다.
list_alert_rules
Grafana 알림 규칙 목록을 조회합니다. UID, 제목, 현재 상태, 라벨 등의 요약 정보를 반환합니다.
get_alert_rule_by_uid
고유 ID(UID)로 식별되는 특정 Grafana 알림 규칙의 전체 구성과 상세 상태를 조회합니다.
데이터 소스 관리
list_datasources
사용 가능한 Grafana 데이터 소스 목록을 조회합니다. 데이터 소스 유형별로 필터링할 수 있습니다.
get_datasource_by_uid
UID를 사용하여 특정 데이터 소스의 상세 정보를 조회합니다.
get_datasource_by_name
이름을 사용하여 특정 데이터 소스의 상세 정보를 조회합니다.
create_datasource
새로운 Grafana 데이터 소스를 생성합니다.
Prometheus 쿼리
query_prometheus
PromQL 표현식을 사용하여 Prometheus를 쿼리합니다. 즉시 쿼리와 범위 쿼리를 모두 지원합니다.
list_prometheus_metric_metadata
Prometheus 메트릭 메타데이터 목록을 조회합니다. 현재 타겟에서 수집된 메트릭에 대한 메타데이터를 반환합니다.
list_prometheus_metric_names
Prometheus 데이터 소스의 메트릭 이름 목록을 조회합니다. 정규식을 사용한 필터링과 페이지네이션을 지원합니다.
list_prometheus_label_names
Prometheus 데이터 소스의 라벨 이름 목록을 조회합니다. 시리즈 선택자와 시간 범위로 필터링할 수 있습니다.
list_prometheus_label_values
Prometheus에서 특정 라벨 이름의 값들을 조회합니다. 시리즈 선택자와 시간 범위로 필터링할 수 있습니다.
시스템 관리
check_health
Grafana 인스턴스의 헬스 상태를 확인합니다. 커밋 해시, 데이터베이스 상태, 버전 정보를 반환합니다.
사용 예시
예를 들어,
- Prompt로 “현재 등록된 대시보드 목록을 조회해줘” 라고 입력하면,
- LLM은 MCP를 통해
search_dashboards
도구를 호출하여 대시보드 목록을 조회합니다. - 그리고, Tool 호출 결과를 기반으로 채팅에서 응답합니다.
API Key 생성 방법
- Grafana 인스턴스에 관리자 권한으로 로그인합니다.
- Configuration > API Keys에서 새 API 키를 생성합니다.
- 필요한 권한을 설정합니다.
주의사항
- 생성한 API Key는 안전하게 보관하세요.
- 필요한 최소한의 권한만 부여하는 것을 권장합니다.
- Grafana URL은 HTTPS를 사용하는 것을 권장합니다.
- 대용량 대시보드 JSON은 컨텍스트 윈도우를 소모할 수 있으므로 주의하세요.
- Prometheus 메트릭 메타데이터 엔드포인트는 실험적 기능입니다.