Skip to main content
OpenClaw은 공식 diagnostics-prometheus Plugin을 통해 진단 메트릭을 노출할 수 있습니다. 이 Plugin은 신뢰할 수 있는 진단과 내부적으로 태그가 지정된 디스패처 소유 진단 이벤트(대기열, 메모리 및 세션 복구 신호)를 수신하고 다음 위치에 Prometheus 텍스트 엔드포인트를 제공합니다.
콘텐츠 유형은 표준 Prometheus 노출 형식인 text/plain; version=0.0.4; charset=utf-8입니다.
이 경로는 Gateway 인증(운영자 범위, 신뢰할 수 있는 운영자용 인터페이스)을 사용합니다. 이 경로를 인증되지 않은 공개 /metrics 엔드포인트로 노출하지 마세요. 다른 운영자 API에 사용하는 것과 동일한 인증 경로를 통해 스크레이핑하세요.
트레이스, 로그, OTLP 푸시 및 OpenTelemetry GenAI 의미 체계 속성에 대해서는 OpenTelemetry 내보내기를 참조하세요.

빠른 시작

1

Plugin 설치

2

Plugin 활성화

3

Gateway 다시 시작

HTTP 경로는 Plugin 시작 시 등록되므로 활성화한 후 다시 로드하세요.
4

보호된 경로 스크레이핑

운영자 클라이언트에서 사용하는 것과 동일한 Gateway 인증을 전송하세요.
5

Prometheus 연결

diagnostics.enabled의 기본값은 true입니다. 엄격히 제한된 환경에서만 false로 설정하세요. 이 값이 false여도 Plugin은 HTTP 경로를 등록하지만 진단 이벤트가 내보내기로 전달되지 않으므로 응답은 비어 있습니다.

내보내는 메트릭

레이블 정책

Prometheus 레이블은 제한된 낮은 카디널리티를 유지합니다. 내보내기는 runId, sessionKey, sessionId, callId, toolCallId, 메시지 ID, 채팅 ID 또는 제공자 요청 ID와 같은 원시 진단 식별자를 내보내지 않습니다.레이블 값은 민감 정보가 제거되며 OpenClaw의 낮은 카디널리티 문자 정책과 일치해야 합니다. 정책을 충족하지 못하는 값은 메트릭에 따라 unknown, other 또는 none으로 대체됩니다. 범위가 지정된 에이전트 세션 키처럼 보이는 레이블도 unknown으로 대체됩니다.
내보내기는 카운터, 게이지, 히스토그램을 합쳐 메모리에 유지하는 시계열을 2048개로 제한합니다. 이 상한을 초과하는 새 시계열은 삭제되며, 삭제될 때마다 openclaw_prometheus_series_dropped_total이 1씩 증가합니다.이 카운터를 업스트림 속성에서 높은 카디널리티의 값이 누출되고 있음을 나타내는 확실한 신호로 모니터링하세요. 내보내기는 상한을 자동으로 높이지 않습니다. 값이 증가하면 상한을 비활성화하지 말고 원인을 수정하세요.
  • 프롬프트 텍스트, 응답 텍스트, 도구 입력, 도구 출력, 시스템 프롬프트
  • 대화 기록, 오디오 페이로드, 통화 ID, 방 ID, 핸드오프 토큰, 턴 ID, 원시 세션 ID
  • 원시 제공자 요청 ID(해당하는 경우 범위가 제한된 해시만 스팬에 포함되며 메트릭에는 절대 포함되지 않음)
  • 세션 키 및 세션 ID
  • 호스트 이름, 파일 경로, 비밀 값

PromQL 사용 예시

여러 제공자를 아우르는 대시보드에는 gen_ai_client_token_usage를 사용하는 것이 좋습니다. 이 메트릭은 OpenTelemetry GenAI 시맨틱 규칙을 따르며 OpenClaw 이외의 GenAI 서비스에서 제공하는 메트릭과도 일관됩니다.

Prometheus와 OpenTelemetry 내보내기 중 선택하기

OpenClaw는 두 인터페이스를 독립적으로 지원합니다. 둘 중 하나만 사용하거나, 둘 다 사용하거나, 둘 다 사용하지 않을 수 있습니다.
  • 모델: Prometheus가 /api/diagnostics/prometheus를 스크레이프합니다.
  • 외부 수집기가 필요하지 않습니다.
  • 일반적인 Gateway 인증을 통해 인증됩니다.
  • 메트릭만 제공합니다(트레이스 또는 로그는 제공하지 않음).
  • 이미 Prometheus + Grafana를 표준으로 사용하는 스택에 가장 적합합니다.

문제 해결

  • 구성에서 diagnostics.enabledfalse로 설정되어 있지 않은지 확인하세요(기본값은 true).
  • openclaw plugins list --enabled를 사용하여 Plugin이 활성화되고 로드되었는지 확인하세요.
  • 트래픽을 생성하세요. 카운터와 히스토그램은 이벤트가 하나 이상 발생한 후에만 행을 출력합니다.
이 엔드포인트에는 Gateway 운영자 범위(gatewayRuntimeScopeSurface: "trusted-operator"가 설정된 auth: "gateway")가 필요합니다. Prometheus가 다른 Gateway 운영자 경로에 사용하는 것과 동일한 토큰 또는 비밀번호를 사용하세요. 인증되지 않은 공개 모드는 없습니다.
새 속성이 2048개 시계열 상한을 초과하고 있습니다. 최근 메트릭에서 예상보다 카디널리티가 높은 레이블을 찾아 원인을 수정하세요. 내보내기는 레이블을 조용히 다시 작성하는 대신 의도적으로 새 시계열을 삭제합니다.
Plugin은 상태를 메모리에만 유지합니다. Gateway를 재시작하면 카운터는 0으로 초기화되고 게이지는 다음에 보고되는 값부터 다시 시작됩니다. 초기화를 깔끔하게 처리하려면 PromQL rate()increase()를 사용하세요.

관련 문서