Last9

공식

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

Last9 MCP(으)로 무엇을 할 수 있나요?

  • 서비스 상태 및 성능 확인get_service_summary를 사용하여 서비스 전반의 처리량, 오류율, 지연 시간 요약을 요청하거나, get_service_performance_details를 사용하여 특정 서비스의 p50/p95/p99, Apdex, 가용성을 자세히 분석합니다.
  • 데이터베이스 성능 조사get_databases로 모든 데이터베이스와 해당 p95 지연 시간을 확인한 후, get_database_slow_queries로 가장 느린 쿼리 실행을 검색하거나 get_database_queries로 집계된 쿼리 패턴을 검색하여 병목 지점을 파악합니다.
  • 실제 스키마로 로그 및 트레이스 쿼리 — 로그(get_logs) 또는 트레이스(get_traces)에 대해 JSON 파이프라인 쿼리를 실행하고, get_log_attributes 또는 get_trace_attributes_for_pipeline을 사용하여 사용 가능한 필드를 검색하여 어시스턴트가 정확한 데이터 형태를 알 수 있도록 합니다.
  • 최근 변경 사항과 인시던트 연관 분석get_change_events를 사용하여 시간 범위 내의 배포, 구성 변경, 롤백을 나열하고, get_alerts와 교차 참조하여 어떤 알림이 언제 발생했는지 확인합니다.
  • 메트릭에 PromQL 쿼리 실행 — 범위 또는 즉시 PromQL 쿼리(prometheus_range_query, prometheus_instant_query)를 실행하고, prometheus_labelsprometheus_label_values로 사용 가능한 레이블을 탐색합니다.
  • 모호한 엔터티 이름 해결 — 서비스, 환경 또는 데이터베이스 이름을 찾을 수 없는 경우, did_you_mean을 사용하여 카탈로그에서 가장 가까운 일치 항목을 가져온 후 원래 도구 호출을 다시 시도합니다.

문서

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로 테스트

스트리밍 가능 HTTP 핸들러는 상태 비저장 모드로 실행되므로 모든 요청이 독립적으로 처리됩니다. initialize 핸드셰이크 및 Mcp-Session-Id 헤더는 선택 사항입니다 — 이를 보내는 클라이언트도 여전히 작동하며(헤더는 수락되고 무시됨) 클라이언트는 tools/list / tools/call로 바로 건너뛸 수도 있습니다. 모든 도구는 독립적인 요청/응답 쿼리이며 서버는 서버→클라이언트 알림을 발행하지 않으므로 GET /mcp(SSE 스트림)은 405를 반환합니다.

# List tools — a session handshake is optional in stateless mode
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'

# Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{
      "jsonrpc": "2.0",
      "id": 2,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service_name": "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 (문자열, 선택 사항): 스팬 이름별 필터.
  • env (문자열, 선택 사항): 환경별 필터.

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 (문자열, 선택 사항): 환경별로 필터링합니다. 기본값: 전체.
  • 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_name (문자열, 필수)
  • 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_name (문자열, 선택 사항)
  • env (문자열, 선택 사항)
  • 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