OpenClaw สามารถเปิดเผยเมตริกการวินิจฉัยผ่าน Plugin ทางการDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
diagnostics-prometheus ได้ โดยจะฟังการวินิจฉัยภายในที่เชื่อถือได้และแสดง endpoint ข้อความ Prometheus ที่:
text/plain; version=0.0.4; charset=utf-8 ซึ่งเป็นรูปแบบ exposition มาตรฐานของ Prometheus
สำหรับ traces, logs, OTLP push และแอตทริบิวต์เชิงความหมาย OpenTelemetry GenAI โปรดดู การส่งออก OpenTelemetry
เริ่มต้นอย่างรวดเร็ว
รีสตาร์ท Gateway
เส้นทาง HTTP จะถูกลงทะเบียนเมื่อ Plugin เริ่มทำงาน ดังนั้นให้โหลดใหม่หลังจากเปิดใช้
จำเป็นต้องมี
diagnostics.enabled: true หากไม่มี คำตอบจะว่างเปล่าเพราะ Plugin ยังลงทะเบียนเส้นทาง HTTP อยู่ แต่ไม่มี event การวินิจฉัยไหลเข้าสู่ exporterเมตริกที่ส่งออก
| เมตริก | ประเภท | ป้ายกำกับ |
|---|---|---|
openclaw_run_completed_total | counter | channel, model, outcome, provider, trigger |
openclaw_run_duration_seconds | histogram | channel, model, outcome, provider, trigger |
openclaw_model_call_total | counter | api, error_category, model, outcome, provider, transport |
openclaw_model_call_duration_seconds | histogram | api, error_category, model, outcome, provider, transport |
openclaw_model_tokens_total | counter | agent, channel, model, provider, token_type |
openclaw_gen_ai_client_token_usage | histogram | model, provider, token_type |
openclaw_model_cost_usd_total | counter | agent, channel, model, provider |
openclaw_tool_execution_total | counter | error_category, outcome, params_kind, tool |
openclaw_tool_execution_duration_seconds | histogram | error_category, outcome, params_kind, tool |
openclaw_harness_run_total | counter | channel, error_category, harness, model, outcome, phase, plugin, provider |
openclaw_harness_run_duration_seconds | histogram | channel, error_category, harness, model, outcome, phase, plugin, provider |
openclaw_message_processed_total | counter | channel, outcome, reason |
openclaw_message_processed_duration_seconds | histogram | channel, outcome, reason |
openclaw_message_delivery_started_total | counter | channel, delivery_kind |
openclaw_message_delivery_total | counter | channel, delivery_kind, error_category, outcome |
openclaw_message_delivery_duration_seconds | histogram | channel, delivery_kind, error_category, outcome |
openclaw_talk_event_total | counter | brain, event_type, mode, provider, transport |
openclaw_talk_event_duration_seconds | histogram | brain, event_type, mode, provider, transport |
openclaw_talk_audio_bytes | histogram | brain, event_type, mode, provider, transport |
openclaw_queue_lane_size | gauge | lane |
openclaw_queue_lane_wait_seconds | histogram | lane |
openclaw_session_state_total | counter | reason, state |
openclaw_session_queue_depth | gauge | state |
openclaw_session_recovery_total | counter | action, active_work_kind, state, status |
openclaw_session_recovery_age_seconds | histogram | action, active_work_kind, state, status |
openclaw_memory_bytes | gauge | kind |
openclaw_memory_rss_bytes | histogram | ไม่มี |
openclaw_memory_pressure_total | counter | level, reason |
openclaw_telemetry_exporter_total | counter | exporter, reason, signal, status |
openclaw_prometheus_series_dropped_total | counter | ไม่มี |
นโยบายป้ายกำกับ
ป้ายกำกับที่มีขอบเขตจำกัดและมีคาร์ดินาลิตีต่ำ
ป้ายกำกับที่มีขอบเขตจำกัดและมีคาร์ดินาลิตีต่ำ
ป้ายกำกับ Prometheus ยังคงมีขอบเขตจำกัดและมีคาร์ดินาลิตีต่ำ exporter จะไม่ปล่อยตัวระบุการวินิจฉัยดิบ เช่น
runId, sessionKey, sessionId, callId, toolCallId, ID ข้อความ, ID แชต หรือ ID คำขอของ providerค่าป้ายกำกับจะถูกปกปิดข้อมูลและต้องตรงกับนโยบายอักขระคาร์ดินาลิตีต่ำของ OpenClaw ค่าที่ไม่ผ่านนโยบายจะถูกแทนที่ด้วย unknown, other หรือ none ขึ้นอยู่กับเมตริกเพดานซีรีส์และการบัญชีส่วนเกิน
เพดานซีรีส์และการบัญชีส่วนเกิน
ตัวส่งออกจำกัดซีรีส์เวลาที่เก็บไว้ในหน่วยความจำไว้ที่ 2048 ซีรีส์ รวมทั้งตัวนับ เกจ และฮิสโตแกรม ซีรีส์ใหม่ที่เกินเพดานนั้นจะถูกทิ้ง และ
openclaw_prometheus_series_dropped_total จะเพิ่มขึ้นหนึ่งทุกครั้งเฝ้าดูตัวนับนี้เป็นสัญญาณชัดเจนว่าแอตทริบิวต์ต้นทางกำลังรั่วค่าที่มีคาร์ดินาลิตีสูง ตัวส่งออกจะไม่ยกเพดานให้โดยอัตโนมัติ หากค่านี้เพิ่มขึ้น ให้แก้ที่ต้นทางแทนการปิดเพดานสิ่งที่ไม่เคยปรากฏในเอาต์พุต Prometheus
สิ่งที่ไม่เคยปรากฏในเอาต์พุต Prometheus
- ข้อความพรอมป์ ข้อความคำตอบ อินพุตของเครื่องมือ เอาต์พุตของเครื่องมือ พรอมป์ระบบ
- บันทึกข้อความ Talk เพย์โหลดเสียง ID การโทร ID ห้อง โทเคนส่งต่อ ID เทิร์น และ ID เซสชันดิบ
- ID คำขอผู้ให้บริการแบบดิบ (มีเฉพาะแฮชที่มีขอบเขตจำกัดเมื่อใช้ได้ บนสแปนเท่านั้น — ไม่อยู่บนเมตริก)
- คีย์เซสชันและ ID เซสชัน
- ชื่อโฮสต์ พาธไฟล์ ค่าความลับ
สูตร PromQL
การเลือกระหว่างการส่งออก Prometheus และ OpenTelemetry
OpenClaw รองรับทั้งสองพื้นผิวอย่างเป็นอิสระ คุณจะรันอย่างใดอย่างหนึ่ง ทั้งสองอย่าง หรือไม่รันเลยก็ได้- diagnostics-prometheus
- diagnostics-otel
- โมเดลแบบ Pull: Prometheus สเครป
/api/diagnostics/prometheus - ไม่ต้องมีคอลเลกเตอร์ภายนอก
- ยืนยันตัวตนผ่านการยืนยันตัวตน Gateway ปกติ
- พื้นผิวมีเฉพาะเมตริกเท่านั้น (ไม่มีเทรซหรือบันทึก)
- เหมาะที่สุดสำหรับสแตกที่ได้มาตรฐานบน Prometheus + Grafana อยู่แล้ว
การแก้ไขปัญหา
เนื้อหาคำตอบว่างเปล่า
เนื้อหาคำตอบว่างเปล่า
- ตรวจสอบ
diagnostics.enabled: trueในการกำหนดค่า - ยืนยันว่า Plugin เปิดใช้และโหลดแล้วด้วย
openclaw plugins list --enabled - สร้างทราฟฟิกบางส่วน ตัวนับและฮิสโตแกรมจะปล่อยบรรทัดหลังจากมีเหตุการณ์อย่างน้อยหนึ่งเหตุการณ์เท่านั้น
401 / ไม่ได้รับอนุญาต
401 / ไม่ได้รับอนุญาต
เอ็นด์พอยต์นี้ต้องใช้ขอบเขตผู้ปฏิบัติการ Gateway (
auth: "gateway" พร้อม gatewayRuntimeScopeSurface: "trusted-operator") ใช้โทเคนหรือรหัสผ่านเดียวกับที่ Prometheus ใช้สำหรับเส้นทางผู้ปฏิบัติการ Gateway อื่น ๆ ไม่มีโหมดสาธารณะที่ไม่ต้องยืนยันตัวตน`openclaw_prometheus_series_dropped_total` กำลังเพิ่มขึ้น
`openclaw_prometheus_series_dropped_total` กำลังเพิ่มขึ้น
แอตทริบิวต์ใหม่กำลังเกินเพดาน 2048 ซีรีส์ ตรวจสอบเมตริกล่าสุดเพื่อหาป้ายกำกับที่มีคาร์ดินาลิตีสูงผิดคาด และแก้ที่ต้นทาง ตัวส่งออกตั้งใจทิ้งซีรีส์ใหม่แทนการเขียนป้ายกำกับใหม่แบบเงียบ ๆ
Prometheus แสดงซีรีส์เก่าหลังรีสตาร์ท
Prometheus แสดงซีรีส์เก่าหลังรีสตาร์ท
Plugin เก็บสถานะไว้ในหน่วยความจำเท่านั้น หลังรีสตาร์ท Gateway ตัวนับจะรีเซ็ตเป็นศูนย์ และเกจจะเริ่มใหม่ที่ค่าถัดไปที่ถูกรายงาน ใช้ PromQL
rate() และ increase() เพื่อจัดการการรีเซ็ตอย่างสะอาดที่เกี่ยวข้อง
- การส่งออกการวินิจฉัย — ไฟล์ zip การวินิจฉัยในเครื่องสำหรับบันเดิลสนับสนุน
- สถานภาพและความพร้อมใช้งาน — โพรบ
/healthzและ/readyz - การบันทึกล็อก — การบันทึกล็อกแบบใช้ไฟล์
- การส่งออก OpenTelemetry — การส่ง OTLP แบบพุชสำหรับร่องรอย เมตริก และล็อก