Last9 MCP Server

공식

실시간 프로덕션 컨텍스트(로그, 메트릭, 트레이스)를 로컬 환경으로 원활하게 가져와 코드를 더 빠르게 자동 수정합니다.

문서

Last9 MCP 서버

last9 mcp demo

여러분의 AI 에이전트는 프로덕션에서 무엇이 문제인지 알지 못합니다. 이 서버가 그 문제를 해결합니다.

Last9 MCP 서버는 Claude, Cursor, Windsurf 및 기타 MCP 지원 AI 어시스턴트를 프로덕션 관측 가능성 데이터(로그, 메트릭, 트레이스, 예외, 데이터베이스 쿼리, 알림, 배포)에 직접 연결합니다. 에이전트가 추측을 멈추고 실제 신호를 읽기 시작합니다.


30초 만에 시작하기 (호스팅)

설치할 바이너리 없음. 관리할 토큰 없음. URL 하나와 브라우저에서 OAuth 인증만으로 완료됩니다.

Last9 URL에서 조직 슬러그를 찾으세요: app.last9.io/<org_slug>/...

Claude Code

claude mcp add --transport http last9 https://app.last9.io/api/v4/organizations/<org_slug>/mcp

/mcp을 입력하고 last9을 선택한 후 인증하세요. 끝입니다.

Cursor

설정 > MCP > 새 MCP 서버 추가:

{
  "mcpServers": {
    "last9": {
      "type": "http",
      "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

연결을 클릭하고 OAuth를 완료하세요.

VS Code

v1.99 이상이 필요합니다. 명령 팔레트 열기 → MCP: 서버 추가, URL을 붙여넣고 인증하세요.

또는 settings.json에서 직접:

{
  "mcp": {
    "servers": {
      "last9": {
        "type": "http",
        "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
      }
    }
  }
}

Windsurf

설정 > Cascade > MCP 마켓플레이스 열기 > 톱니바퀴 아이콘 (mcp_config.json):

{
  "mcpServers": {
    "last9": {
      "serverUrl": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Claude Web/Desktop

설정 > 커넥터 > 사용자 정의 커넥터 추가. 이름을 last9로 지정하고 URL을 붙여넣은 후 인증하세요.

Claude 조직에 대한 관리자 액세스 권한이 필요합니다.


자체 호스팅 (STDIO)

MCP 클라이언트가 HTTP 전송을 지원하지 않거나 서버를 로컬에서 실행해야 할 때 사용하세요.

설치

Homebrew:

brew install last9/tap/last9-mcp

NPM:

npm install -g @last9/mcp-server@latest
# or directly:
npx -y @last9/mcp-server@latest

바이너리 릴리스 (Windows / 수동):

GitHub 릴리스에서 다운로드:

플랫폼아카이브
Windows (x64)last9-mcp-server_Windows_x86_64.zip
Windows (ARM64)last9-mcp-server_Windows_arm64.zip
Linux (x64)last9-mcp-server_Linux_x86_64.tar.gz
Linux (ARM64)last9-mcp-server_Linux_arm64.tar.gz
macOS (x64)last9-mcp-server_Darwin_x86_64.tar.gz
macOS (ARM64)last9-mcp-server_Darwin_arm64.tar.gz

새로 고침 토큰 얻기

관리자만 토큰을 생성할 수 있습니다.

  1. API 액세스로 이동
  2. 쓰기 권한으로 토큰 생성 클릭
  3. 복사

클라이언트 구성

Homebrew:

{
  "mcpServers": {
    "last9": {
      "command": "/opt/homebrew/bin/last9-mcp",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM:

{
  "mcpServers": {
    "last9": {
      "command": "npx",
      "args": ["-y", "@last9/mcp-server@latest"],
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

붙여넣을 위치:

클라이언트위치
Claude Web/Desktop설정 > 개발자 > 구성 편집 (claude_desktop_config.json)
Cursor설정 > Cursor 설정 > MCP > 새 글로벌 MCP 서버 추가
Windsurf설정 > Cascade > MCP 마켓플레이스 > 톱니바퀴 아이콘 (mcp_config.json)
VS Code{ "mcp": { "servers": { ... } } }settings.json에서 감싸기 — 세부 정보
VS Code STDIO 구성
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

NPM의 경우: "command": "npx"을 사용하고 "args": ["-y", "@last9/mcp-server@latest"]을 추가하세요.

Windows

GitHub 릴리스에서 다운로드한 후 압축을 풀고 전체 경로를 지정하세요:

{
  "mcpServers": {
    "last9": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\last9-mcp-server.exe",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Windows에서는 NPM 경로가 더 쉽습니다 — 경로 관리가 필요 없습니다.

환경 변수

변수기본값설명
LAST9_REFRESH_TOKEN(필수)API 액세스에서 가져온 새로 고침 토큰
LAST9_DATASOURCE조직 기본값데이터 소스/클러스터 이름 — 여러 Levitate 클러스터가 있을 때 유용
LAST9_API_HOSTapp.last9.ioAPI 호스트 재정의
LAST9_MAX_GET_LOGS_ENTRIES5000청크된 get_logs 요청의 최대 항목 수
LAST9_DEBUG_CHUNKINGfalsetrue로 설정하여 get_logs, get_service_logs, get_traces에 대한 청크 계획 세부 정보 기록
LAST9_DISABLE_TELEMETRYtruefalse로 설정하여 내부 OTel 추적 활성화
OTEL_SDK_DISABLED표준 OTel 환경 변수. LAST9_DISABLE_TELEMETRY 재정의
OTEL_EXPORTER_OTLP_ENDPOINTOTLP 수집기 엔드포인트 (원격 측정이 활성화된 경우에만)
OTEL_EXPORTER_OTLP_HEADERSOTLP 인증 헤더 (원격 측정이 활성화된 경우에만)

가능한 작업

서비스 상태

  • get_service_summary — 모든 서비스의 처리량, 오류율, p95 응답 시간
  • get_service_environments — 서비스에 사용 가능한 환경. 이 도구를 먼저 실행하세요 — 다른 APM 도구는 여기에서 env이 필요합니다
  • get_service_performance_details — 전체 분석: 처리량, 오류율, p50/p90/p95/평균/최대, apdex, 가용성
  • get_service_operations_summary — HTTP 엔드포인트, DB 호출, 메시징, HTTP 클라이언트별로 그룹화된 작업
  • get_service_dependency_graph — 업스트림/다운스트림/인프라에 대한 처리량, 지연 시간, 오류율이 포함된 종속성 맵
  • get_exceptions — 서비스 및 스팬 필터가 있는 서버 측 예외

데이터베이스 관측 가능성

OpenTelemetry 트레이스 스팬에서 파생된 데이터베이스 성능을 직접 겨냥한 네 가지 도구. 이미 OTel을 사용 중이라면 추가 계측이 필요 없습니다.

  • get_databases — 인프라 전체의 모든 데이터베이스 검색: DB 유형, 호스트, 처리량(쿼리/분), p95 지연 시간, 오류율, 종속 서비스 수
  • get_database_slow_queries — 지속 시간별로 정렬된 실제 가장 느린 쿼리 실행, 전체 트레이스로 드릴다운하기 위한 트레이스 ID 포함
  • get_database_queries — 쿼리 패턴 및 집계: 쿼리 실행 빈도, 평균/p95 지속 시간, 오류율
  • get_database_server_metrics — DB 호스트 자체의 서버 측 메트릭 (CPU, 연결, 버퍼 적중률 — DB 시스템에 따라 다름)

PostgreSQL, MySQL, MongoDB, Redis, Aerospike 및 db_system 속성이 있는 OTel 트레이스를 지원하는 모든 것을 지원합니다.

Prometheus / PromQL

  • prometheus_range_query — 모든 메트릭에 대한 PromQL 범위 쿼리
  • prometheus_instant_query — 즉시 쿼리; avg_over_time, sum_over_time과 같은 롤업 함수 사용
  • prometheus_label_values — 지정된 시리즈에 대한 레이블 값
  • prometheus_labels — 시리즈에 사용 가능한 모든 레이블

LAST9_DATASOURCE을 설정하여 기본값이 아닌 다른 데이터 소스/클러스터를 지정하세요.

로그

  • get_logs — 전체 JSON 파이프라인 로그 쿼리 (집계, 필터, 필드 추출)
  • get_service_logs — 서비스의 원시 로그 라인, 심각도 및 본문 내용으로 필터링 가능
  • get_log_attributes — 시간 창에 대한 로그 스키마의 속성 글로벌 카탈로그
  • get_log_attributes_for_pipeline — 진행 중인 파이프라인에 실제로 존재하는 로그 필드 (범위 지정 검색), 각각 정확한 filter_field 포함
  • get_drop_rulesLast9 제어 평면의 로그 삭제 규칙
  • add_drop_rule — 소스에서 로그 볼륨을 줄이기 위한 새 삭제 규칙 생성

트레이스

  • get_traces — 광범위한 검색 및 집계를 위한 JSON 파이프라인 트레이스 쿼리
  • get_service_traces — 정확한 트레이스 ID 또는 서비스 이름으로 트레이스 조회. 트레이스 ID가 있을 때 사용하세요 — 더 빠릅니다
  • get_trace_attributes — 트레이스 스키마의 속성 글로벌 카탈로그
  • get_trace_attributes_for_pipeline — 진행 중인 파이프라인에 실제로 존재하는 속성 (범위 지정 검색), 각각 정확한 filter_field 포함
  • get_trace_attribute_values — 트레이스 속성의 고유 값, 선택적으로 파이프라인으로 범위 지정

변경 이벤트 및 알림

  • get_change_events — 배포, 구성 변경, 롤백. 변경된 사항과 인시던트 연관
  • get_alert_config — 알림 규칙 구성 — 이름, 심각도, 유형, 태그로 검색 가능
  • get_alerts — 시간 창 내에 현재 발생 중인 알림
  • get_alert_rule_state — 시간 범위에 걸친 알림 규칙별 과거 발생 상태 (1/0), rule_id로 그룹화. 알림 그룹, 규칙 이름, 레이블 필터 및 상태로 필터링 가능.
  • get_notification_channels — 구성된 알림 채널 (Slack, PagerDuty, 이메일 등)

사용자 정의 대시보드

  • list_dashboards — 조직의 모든 사용자 정의 대시보드: ID, 이름 및 메타데이터
  • get_dashboard — ID별 전체 대시보드 정의, 패널 및 쿼리 포함
  • create_dashboard — 패널, 쿼리 및 메타데이터로 새 사용자 정의 대시보드 생성
  • update_dashboard — ID로 기존 대시보드 업데이트 (읽기 전용 시스템 대시보드는 오류 반환)
  • delete_dashboard — ID로 사용자 정의 대시보드 삭제

퍼지 이름 확인

  • did_you_mean — 에이전트가 엔티티 이름을 확신하지 못할 때, 카탈로그(서비스, 환경, 호스트, 데이터베이스, K8s 배포/네임스페이스, 작업)에서 가장 가까운 일치 항목을 반환합니다. 유사도 점수와 함께 최대 3개의 제안. 이름 조회가 비어 있을 때 대부분의 도구 전에 서버가 자동으로 호출합니다.

작동 방식

모든 응답에 딥 링크. 모든 도구는 deep_link 필드를 반환합니다 — 해당 쿼리 및 시간 범위에 대한 Last9 대시보드로 바로 연결되는 URL입니다. 에이전트가 링크를 건네주면 클릭하여 바로 이동할 수 있습니다.

실시간 속성 캐싱. 시작 시 서버는 데이터에서 실제 로그 및 트레이스 속성 이름을 가져와 도구 설명에 포함시킵니다. 즉, AI 어시스턴트는 일반 목록이 아닌 스키마에 존재하는 필드를 알게 됩니다. 캐시는 2시간마다 새로 고쳐집니다.

청크된 대용량 결과. get_logsget_traces은 잘라내기 대신 청크를 통해 대용량 결과 집합을 처리합니다. 로그의 기본 제한은 5000개 항목이며 LAST9_MAX_GET_LOGS_ENTRIES를 통해 구성 가능합니다.


개발

HTTP 모드, curl 테스트, 소스에서 빌드

HTTP 모드에서 실행

export LAST9_REFRESH_TOKEN="your_refresh_token"
export LAST9_HTTP=true
export LAST9_PORT=8080
./last9-mcp-server

서버가 http://localhost:8080/mcp에서 시작됩니다.

curl로 테스트

MCP 스트리밍 가능 HTTP는 먼저 초기화 핸드셰이크가 필요합니다. 첫 번째 요청에 Mcp-Session-Id를 설정하지 마세요.

# Step 1: Initialize
SESSION_ID=$(curl -si -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {"name": "curl-test", "version": "1.0"}
      }
    }' | grep -i "^Mcp-Session-Id:" | awk '{print $2}' | tr -d '\r')
echo "Session: $SESSION_ID"

# Step 2: Send initialized notification
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "method": "notifications/initialized", "params": {}}'

# Step 3: List tools
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}'

# Step 4: Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

소스에서 빌드

git clone https://github.com/last9/last9-mcp-server.git
cd last9-mcp-server
go build -o last9-mcp-server
LAST9_HTTP=true ./last9-mcp-server

LAST9_HTTP=true는 로컬 개발용입니다. 실제 사용 시에는 호스팅된 HTTP 엔드포인트가 더 쉽습니다.


도구 참조

모든 매개변수, 시간 입력 표준 및 세부 정보

시간 입력

  • 절대 시간 (start_time_iso/end_time_iso 또는 time_iso)이 lookback_minutes보다 우선합니다.
  • 상대적 창의 경우: lookback_minutes을 사용하세요.
  • 절대적 창의 경우: RFC3339/ISO8601 — 2026-02-09T15:04:05Z을 사용하세요.
  • 레거시 YYYY-MM-DD HH:MM:SS는 호환성을 위해서만 허용됩니다.

get_exceptions

  • limit (정수, 선택 사항): 최대 예외 수. 기본값: 20.
  • lookback_minutes (정수, 선택 사항): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택 사항): 절대 시간 범위.
  • service_name (문자열, 선택 사항): 서비스별 필터.
  • span_name (문자열, 선택 사항): 스팬 이름별 필터.
  • deployment_environment (문자열, 선택 사항): 환경별 필터.

get_service_summary

  • start_time_iso / end_time_iso (문자열, 선택 사항)
  • env (문자열, 선택 사항): 기본값은 prod입니다.

get_service_environments

  • start_time_iso / end_time_iso (문자열, 선택 사항)

다른 모든 APM 도구에는 env 값이 필요합니다. 이 값이 비어 있으면 ""을 사용하세요.

get_service_performance_details

  • service_name (문자열, 필수)
  • lookback_minutes (정수, 선택 사항): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택 사항)
  • env (문자열, 선택 사항): 기본값은 prod입니다.

get_service_operations_summary

  • service_name (문자열, 필수)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)
  • env (문자열, 선택): 기본값은 prod.

get_service_dependency_graph

  • service_name (문자열, 선택)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)
  • env (문자열, 선택): 기본값은 prod.

get_databases

  • env (문자열, 선택): 환경별 필터. 기본값: all.
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)

get_database_slow_queries

  • db_system (문자열, 선택): 예: postgresql, mysql, mongodb, redis.
  • host (문자열, 선택): 데이터베이스 호스트 (net_peer_name).
  • service_name (문자열, 선택): 호출 서비스 이름.
  • env (문자열, 선택)
  • min_duration_ms (실수, 선택): 최소 쿼리 지속 시간(ms).
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)
  • limit (정수, 선택): 기본값: 20.

get_database_queries

  • db_system (문자열, 선택)
  • host (문자열, 선택)
  • service_name (문자열, 선택)
  • env (문자열, 선택)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)
  • limit (정수, 선택): 기본값: 20.

get_database_server_metrics

  • db_system (문자열, 필수): 예: postgresql, mysql, mongodb, redis, aerospike.
  • host (문자열, 선택)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • start_time_iso / end_time_iso (문자열, 선택)

prometheus_range_query

  • query (문자열, 필수): PromQL 쿼리.
  • start_time_iso / end_time_iso (문자열, 선택): 기본값은 최근 60분.
  • lookback_minutes (실수, 선택): 기본값: 60.

prometheus_instant_query

  • query (문자열, 필수)
  • time_iso (문자열, 선택): 기본값은 현재 시각.
  • lookback_minutes (실수, 선택)

prometheus_label_values

  • match_query (문자열, 선택): PromQL 필터.
  • label (문자열, 필수): 레이블 이름.
  • start_time_iso / end_time_iso (문자열, 선택)

prometheus_labels

  • match_query (문자열, 선택): PromQL 필터.
  • start_time_iso / end_time_iso (문자열, 선택)

get_logs

  • logjson_query (배열, 필수): JSON 파이프라인 쿼리.
  • lookback_minutes (정수, 선택): 기본값: 5.
  • start_time_iso / end_time_iso (문자열, 선택)
  • limit (정수, 선택): 서버 기본값: 5000.
  • index (문자열, 선택): physical_index:<name> 또는 rehydration_index:<block_name>.

로그 기반 서비스 인벤토리의 경우, 먼저 physical_index_service_count를 쿼리하세요:

sum by (name, service_name, env) (physical_index_service_count{destination="logs"})

service_nameServiceName으로, 환경이 있으면 env을 환경으로, name을 물리적 인덱스 이름으로 사용하세요. name="default"인 경우 index을 생략하고, 사용자가 선택한 비기본 물리적 인덱스의 경우 index: "physical_index:<name>"을 전달하세요. 백엔드가 명시적 물리적 인덱스 필터링을 거부하면 index 없이 재시도하고 해당 백엔드에서 명시적 물리적 인덱스 필터링을 사용할 수 없다고 보고하세요.

get_service_logs

  • service (문자열, 필수)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • limit (정수, 선택): 기본값: 20.
  • env (문자열, 선택)
  • severity_filters (배열, 선택): 예: ["error", "warn"]. OR 논리.
  • body_filters (배열, 선택): 예: ["timeout", "failed"]. OR 논리.
  • start_time_iso / end_time_iso (문자열, 선택)
  • index (문자열, 선택)

여러 필터 유형은 AND로 결합됩니다. 각 배열은 내부적으로 OR을 사용합니다. 먼저 get_logs를 사용하여 광범위한 집계 수를 얻고, 서비스/환경/인덱스 및 작은 샘플 세트로 좁힌 후에만 get_service_logs를 사용하세요.

get_log_attributes

  • lookback_minutes (정수, 선택): 기본값: 15.
  • start_time_iso / end_time_iso (문자열, 선택)
  • region (문자열, 선택)
  • index (문자열, 선택)

get_log_attributes_for_pipeline

  • pipeline (배열, 필수): 검색 범위를 지정하는 사전 필터 단계, 예: [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (정수, 선택): 기본값: 15.
  • start_time_iso / end_time_iso (문자열, 선택)
  • region (문자열, 선택)
  • index (문자열, 선택)

get_drop_rules

매개변수 없음.

add_drop_rule

  • name (문자열, 필수)
  • filters (배열, 필수): 각 필터: key, value, operator (equals/not_equals), conjunction (and).

get_traces

광범위한 검색 및 집계에 사용합니다. 정확한 트레이스 ID 조회에는 get_service_traces를 사용하세요.

  • tracejson_query (배열, 필수)
  • start_time_iso / end_time_iso (문자열, 선택)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • limit (정수, 선택): 기본값: 5000.

get_service_traces

trace_id 또는 service_name 중 정확히 하나가 필수입니다.

  • trace_id (문자열, 선택): 기본 조회 기간: 72시간.
  • service_name (문자열, 선택): 기본 조회 기간: 60분.
  • lookback_minutes (정수, 선택)
  • start_time_iso / end_time_iso (문자열, 선택)
  • limit (정수, 선택): 기본값: 10.
  • env (문자열, 선택)

get_trace_attributes

  • lookback_minutes (정수, 선택): 기본값: 15.
  • start_time_iso / end_time_iso (문자열, 선택)
  • region (문자열, 선택)

get_trace_attributes_for_pipeline

  • pipeline (배열, 필수): 검색 범위를 지정하는 사전 필터 단계, 예: [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (정수, 선택): 기본값: 15.
  • start_time_iso / end_time_iso (문자열, 선택)
  • region (문자열, 선택)

get_trace_attribute_values

  • tag_name (문자열, 필수): get_trace_attributes의 속성 이름 (예: resource_department 또는 attributes['http.method']).
  • pipeline (배열, 선택): 값의 범위를 지정하는 사전 필터 단계; 전역 값의 경우 생략.
  • region (문자열, 선택)

get_change_events

  • start_time_iso / end_time_iso (문자열, 선택)
  • lookback_minutes (정수, 선택): 기본값: 60.
  • service (문자열, 선택)
  • environment (문자열, 선택)
  • event_name (문자열, 선택): available_event_names를 얻으려면 먼저 이 매개변수 없이 호출하세요.

get_alert_config

  • search_term (문자열, 선택): 이름, 그룹, 데이터 소스, 태그 전반의 자유 텍스트 검색.
  • rule_name (문자열, 선택)
  • severity (문자열, 선택)
  • rule_type (문자열, 선택): static 또는 anomaly.
  • alert_group_name / alert_group_type / data_source_name (문자열, 선택)
  • tags (배열, 선택): 모두 일치해야 함 (AND 논리).

get_alerts

  • time_iso (문자열, 선택): RFC3339 형식의 평가 시간.
  • window (정수, 선택): 조회 기간(초). 기본값: 900. 범위: 60–86400.
  • lookback_minutes (정수, 선택): 범위: 1–1440.

get_alert_rule_state

  • start_time (정수, 필수): 범위의 Unix epoch 시작 (포함).
  • end_time (정수, 필수): 범위의 Unix epoch 종료 (포함).
  • step (정수, 필수): 샘플 간 해상도(초). 샘플 수 ((end_time - start_time) / step + 1)는 100으로 제한됩니다.
  • alert_group_id (문자열, 선택): 알림 그룹 ID로 필터링.
  • rule_name (문자열, 선택): 규칙 이름에 대한 정규식 필터.
  • alert_group_name (문자열, 선택): 알림 그룹 이름에 대한 정규식 필터.
  • label_filters (문자열, 선택): 쉼표로 구분된 key=value 레이블 필터.
  • state (문자열, 선택): 상태별 필터 (예: firing).

rule_id -> [{timestamp, is_firing}]의 JSON 맵을 반환합니다. 업스트림 응답에 규칙이 없는 타임스탬프는 is_firing=0로 보고됩니다 — 이는 "발생 중으로 관찰되지 않음"을 의미하며, 확인된 정상 상태가 아닙니다.

get_notification_channels

매개변수 없음. 구성된 모든 알림 채널(Slack, PagerDuty, 이메일, 웹훅 등)을 반환합니다.

did_you_mean

  • query (문자열, 필수): 검색할 이름 — 부분, 철자 오류 또는 약어.
  • type (문자열, 선택): 엔티티 유형으로 제한: service, environment, host, database, k8s_deployment, k8s_namespace, job.

유사도 점수와 함께 최대 3개의 가장 가까운 일치 항목을 반환합니다. 엔티티 이름이 불확실한 도구 호출 전에 사용하세요. 이전 호출에서 빈 결과가 반환된 경우 재시도하기 전에 이 도구를 사용해 보세요.

list_dashboards

매개변수 없음. 조직의 모든 사용자 정의 대시보드를 id, name 및 메타데이터가 포함된 JSON 배열로 반환합니다.

get_dashboard

  • id (문자열, 필수): 대시보드 UUID.
  • region (문자열, 선택): 패널 쿼리 채우기를 위한 리전. 기본값은 구성된 데이터 소스 리전입니다.

create_dashboard

  • dashboard (객체, 필수): namepanels[]이 포함된 대시보드 정의. 각 패널에는 name, version, layout (x, y, w, h), visualization.typequeries[]이 필요합니다.
  • metadata (객체, 선택): 대시보드 메타데이터 — _category_type 필드 (예: {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (문자열, 필수): 업데이트할 대시보드 UUID.
  • dashboard (객체, 필수): 전체 교체 대시보드 본문 (생성과 동일한 형태).
  • metadata (객체, 선택): 교체 메타데이터. 읽기 전용 시스템 대시보드는 403 오류를 반환합니다.

delete_dashboard

  • id (문자열, 필수): 삭제할 대시보드 UUID. 읽기 전용 시스템 대시보드는 삭제할 수 없습니다.

테스트

통합 테스트 설정 및 지침은 TESTING.md를 참조하세요.


MseeP.ai Security Assessment Badge