diagnostics-prometheus Plugin aracılığıyla tanılama metriklerini sunabilir. Güvenilir tanılamaları ve çekirdeğin yaydığı Gateway kararlılık olaylarını dinler, ardından şu adreste bir Prometheus metin uç noktası oluşturur:
text/plain; version=0.0.4; charset=utf-8 değeridir.
İzler, günlükler, OTLP push ve OpenTelemetry GenAI semantik öznitelikleri için bkz. OpenTelemetry dışa aktarma.
Hızlı başlangıç
Gateway'i yeniden başlatın
HTTP rotası Plugin başlangıcında kaydedilir, bu yüzden etkinleştirdikten sonra yeniden yükleyin.
Korumalı rotayı toplayın
Operatör istemcilerinizin kullandığı aynı gateway kimlik doğrulamasını gönderin:
diagnostics.enabled: true gereklidir. Bu olmadan Plugin HTTP rotasını yine kaydeder, ancak dışa aktarıcıya hiçbir tanılama olayı akmaz; bu nedenle yanıt boş olur.Dışa aktarılan metrikler
| Metrik | Tür | Etiketler |
|---|---|---|
openclaw_run_completed_total | sayaç | channel, model, outcome, provider, trigger |
openclaw_run_duration_seconds | histogram | channel, model, outcome, provider, trigger |
openclaw_model_call_total | sayaç | api, error_category, model, outcome, provider, transport |
openclaw_model_call_duration_seconds | histogram | api, error_category, model, outcome, provider, transport |
openclaw_model_failover_total | sayaç | from_model, from_provider, lane, reason, suspended, to_model, to_provider |
openclaw_model_tokens_total | sayaç | agent, channel, model, provider, token_type |
openclaw_gen_ai_client_token_usage | histogram | model, provider, token_type |
openclaw_model_cost_usd_total | sayaç | agent, channel, model, provider |
openclaw_skill_used_total | sayaç | activation, agent, skill, source |
openclaw_tool_execution_total | sayaç | error_category, outcome, params_kind, tool, tool_owner, tool_source |
openclaw_tool_execution_duration_seconds | histogram | error_category, outcome, params_kind, tool, tool_owner, tool_source |
openclaw_tool_execution_blocked_total | sayaç | denied_reason, params_kind, tool, tool_owner, tool_source |
openclaw_harness_run_total | sayaç | 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_webhook_received_total | sayaç | channel, webhook |
openclaw_webhook_error_total | sayaç | channel, webhook |
openclaw_webhook_duration_seconds | histogram | channel, webhook |
openclaw_message_received_total | sayaç | channel, source |
openclaw_message_dispatch_started_total | sayaç | channel, source |
openclaw_message_dispatch_completed_total | sayaç | channel, outcome, reason, source |
openclaw_message_dispatch_duration_seconds | histogram | channel, outcome, reason, source |
openclaw_message_processed_total | sayaç | channel, outcome, reason |
openclaw_message_processed_duration_seconds | histogram | channel, outcome, reason |
openclaw_message_delivery_started_total | sayaç | channel, delivery_kind |
openclaw_message_delivery_total | sayaç | channel, delivery_kind, error_category, outcome |
openclaw_message_delivery_duration_seconds | histogram | channel, delivery_kind, error_category, outcome |
openclaw_talk_event_total | sayaç | 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 | gösterge | lane |
openclaw_queue_lane_wait_seconds | histogram | lane |
openclaw_session_state_total | sayaç | reason, state |
openclaw_session_queue_depth | gösterge | state |
openclaw_session_turn_created_total | sayaç | agent, channel, trigger |
openclaw_session_stuck_total | sayaç | reason, state |
openclaw_session_stuck_age_seconds | histogram | reason, state |
openclaw_session_recovery_total | sayaç | action, active_work_kind, state, status |
openclaw_session_recovery_age_seconds | histogram | action, active_work_kind, state, status |
openclaw_liveness_warning_total | sayaç | reason |
openclaw_liveness_sessions | gösterge | state |
openclaw_liveness_event_loop_delay_p99_seconds | histogram | reason |
openclaw_liveness_event_loop_delay_max_seconds | histogram | reason |
openclaw_liveness_event_loop_utilization_ratio | histogram | reason |
openclaw_liveness_cpu_core_ratio | histogram | reason |
openclaw_payload_large_total | sayaç | action, channel, plugin, reason, surface |
openclaw_payload_large_bytes | histogram | action, channel, plugin, reason, surface |
openclaw_memory_bytes | gösterge | kind |
openclaw_memory_rss_bytes | histogram | yok |
openclaw_memory_pressure_total | sayaç | level, reason |
openclaw_telemetry_exporter_total | sayaç | exporter, reason, signal, status |
openclaw_prometheus_series_dropped_total | sayaç | yok |
Etiket ilkesi
Sınırlı, düşük kardinaliteli etiketler
Sınırlı, düşük kardinaliteli etiketler
Prometheus etiketleri sınırlı ve düşük kardinaliteli kalır. Dışa aktarıcı
runId, sessionKey, sessionId, callId, toolCallId, ileti kimlikleri, sohbet kimlikleri veya sağlayıcı istek kimlikleri gibi ham tanılama tanımlayıcıları yaymaz.Etiket değerleri redakte edilir ve OpenClaw’ın düşük kardinaliteli karakter ilkesiyle eşleşmelidir. İlkeyi karşılamayan değerler metriğe bağlı olarak unknown, other veya none ile değiştirilir. Kapsamlı aracı oturum anahtarlarına benzeyen etiketler de unknown ile değiştirilir.Seri sınırı ve taşma muhasebesi
Seri sınırı ve taşma muhasebesi
Dışa aktarıcı; sayaçlar, göstergeler ve histogramlar genelinde bellekte tutulan zaman serilerini toplam 2048 seriyle sınırlar. Bu sınırın ötesindeki yeni seriler bırakılır ve
openclaw_prometheus_series_dropped_total her seferinde bir artar.Bu sayacı, yukarı akıştaki bir özniteliğin yüksek kardinaliteli değerler sızdırdığına dair kesin bir sinyal olarak izleyin. Dışa aktarıcı sınırı hiçbir zaman otomatik olarak kaldırmaz; sayaç yükselirse sınırı devre dışı bırakmak yerine kaynağı düzeltin.What never appears in Prometheus output
What never appears in Prometheus output
- istem metni, yanıt metni, araç girdileri, araç çıktıları, sistem istemleri
- Talk dökümleri, ses yükleri, çağrı kimlikleri, oda kimlikleri, devretme belirteçleri, tur kimlikleri ve ham oturum kimlikleri
- ham sağlayıcı istek kimlikleri (yalnızca uygulanabildiğinde span’lerde sınırlı hash’ler; metriklerde asla)
- oturum anahtarları ve oturum kimlikleri
- ana makine adları, dosya yolları, gizli değerler
PromQL tarifleri
Prometheus ve OpenTelemetry dışa aktarımı arasında seçim yapma
OpenClaw her iki yüzeyi de bağımsız olarak destekler. Birini, ikisini birden ya da hiçbirini çalıştırabilirsiniz.- diagnostics-prometheus
- diagnostics-otel
- Pull modeli: Prometheus
/api/diagnostics/prometheusadresini kazır. - Harici toplayıcı gerekmez.
- Normal Gateway kimlik doğrulaması üzerinden kimlik doğrulaması yapılır.
- Yüzey yalnızca metriklerden oluşur (iz veya günlük yoktur).
- Zaten Prometheus + Grafana üzerinde standartlaşmış yığınlar için en uygunudur.
Sorun giderme
Empty response body
Empty response body
- Yapılandırmada
diagnostics.enabled: trueayarını kontrol edin. - Plugin’in etkinleştirildiğini ve
openclaw plugins list --enabledile yüklendiğini doğrulayın. - Biraz trafik üretin; sayaçlar ve histogramlar yalnızca en az bir olaydan sonra satır yayar.
`openclaw_prometheus_series_dropped_total` is climbing
`openclaw_prometheus_series_dropped_total` is climbing
Yeni bir öznitelik 2048 seri sınırını aşıyor. Beklenmedik derecede yüksek kardinaliteli bir etiket için son metrikleri inceleyin ve sorunu kaynağında düzeltin. Dışa aktarıcı, etiketleri sessizce yeniden yazmak yerine yeni serileri kasıtlı olarak düşürür.
Prometheus shows stale series after a restart
Prometheus shows stale series after a restart
Plugin durumu yalnızca bellekte tutar. Gateway yeniden başlatıldıktan sonra sayaçlar sıfırlanır ve göstergeler bir sonraki bildirilen değerlerinde yeniden başlar. Sıfırlamaları temiz şekilde işlemek için PromQL
rate() ve increase() kullanın.İlgili
- Tanılama dışa aktarımı — destek paketleri için yerel tanılama zip’i
- Sağlık ve hazır olma —
/healthzve/readyzyoklamaları - Günlükleme — dosya tabanlı günlükleme
- OpenTelemetry dışa aktarımı — izler, metrikler ve günlükler için OTLP push