diagnostics-prometheus. Plugin ini mendengarkan diagnostik internal tepercaya dan merender endpoint teks Prometheus di:
text/plain; version=0.0.4; charset=utf-8, format eksposisi Prometheus standar.
Untuk trace, log, push OTLP, dan atribut semantik OpenTelemetry GenAI, lihat OpenTelemetry export.
Mulai cepat
Mulai ulang Gateway
Rute HTTP didaftarkan saat startup Plugin, jadi lakukan reload setelah mengaktifkannya.
Scrape rute yang dilindungi
Kirim autentikasi gateway yang sama seperti yang digunakan klien operator Anda:
diagnostics.enabled: true wajib diaktifkan. Tanpanya, Plugin tetap mendaftarkan rute HTTP tetapi tidak ada peristiwa diagnostik yang mengalir ke exporter, sehingga respons kosong.Metrik yang diekspor
| Metric | Tipe | Label |
|---|---|---|
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_total | counter | channel, delivery_kind, error_category, outcome |
openclaw_message_delivery_duration_seconds | histogram | channel, delivery_kind, error_category, outcome |
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_memory_bytes | gauge | kind |
openclaw_memory_rss_bytes | histogram | none |
openclaw_memory_pressure_total | counter | level, reason |
openclaw_telemetry_exporter_total | counter | exporter, reason, signal, status |
openclaw_prometheus_series_dropped_total | counter | none |
Kebijakan label
Label terbatas, dengan kardinalitas rendah
Label terbatas, dengan kardinalitas rendah
Label Prometheus dijaga tetap terbatas dan berkardinalitas rendah. Exporter tidak mengeluarkan pengenal diagnostik mentah seperti
runId, sessionKey, sessionId, callId, toolCallId, ID pesan, ID chat, atau ID permintaan provider.Nilai label disamarkan dan harus cocok dengan kebijakan karakter berkardinalitas rendah milik OpenClaw. Nilai yang gagal memenuhi kebijakan diganti dengan unknown, other, atau none, tergantung metriknya.Batas seri dan akuntansi overflow
Batas seri dan akuntansi overflow
Exporter membatasi seri waktu yang dipertahankan di memori hingga 2048 seri untuk gabungan counter, gauge, dan histogram. Seri baru di luar batas itu akan dibuang, dan
openclaw_prometheus_series_dropped_total bertambah satu setiap kali hal itu terjadi.Pantau counter ini sebagai sinyal keras bahwa sebuah atribut di upstream membocorkan nilai berkardinalitas tinggi. Exporter tidak pernah menaikkan batas secara otomatis; jika nilainya naik, perbaiki sumbernya alih-alih menonaktifkan batas.Apa yang tidak pernah muncul dalam output Prometheus
Apa yang tidak pernah muncul dalam output Prometheus
- teks prompt, teks respons, input tool, output tool, system prompt
- ID permintaan provider mentah (hanya hash terbatas, bila berlaku, pada span — tidak pernah pada metrik)
- kunci sesi dan ID sesi
- hostname, path file, nilai secret
Resep PromQL
Memilih antara Prometheus dan OpenTelemetry export
OpenClaw mendukung kedua permukaan ini secara independen. Anda dapat menjalankan salah satunya, keduanya, atau tidak sama sekali.- diagnostics-prometheus
- diagnostics-otel
- Model pull: Prometheus melakukan scrape ke
/api/diagnostics/prometheus. - Tidak memerlukan kolektor eksternal.
- Diautentikasi melalui autentikasi Gateway normal.
- Permukaannya hanya metrik (tanpa trace atau log).
- Paling cocok untuk stack yang sudah distandardisasi pada Prometheus + Grafana.
Pemecahan masalah
Body respons kosong
Body respons kosong
- Periksa
diagnostics.enabled: truedi konfigurasi. - Pastikan Plugin aktif dan dimuat dengan
openclaw plugins list --enabled. - Hasilkan beberapa traffic; counter dan histogram hanya mengeluarkan baris setelah setidaknya satu peristiwa.
401 / unauthorized
401 / unauthorized
`openclaw_prometheus_series_dropped_total` terus naik
`openclaw_prometheus_series_dropped_total` terus naik
Sebuah atribut baru melebihi batas 2048 seri. Periksa metrik terbaru untuk label dengan kardinalitas tinggi yang tidak terduga dan perbaiki di sumbernya. Exporter sengaja membuang seri baru alih-alih menulis ulang label secara diam-diam.
Prometheus menampilkan seri basi setelah restart
Prometheus menampilkan seri basi setelah restart
Plugin hanya menyimpan status di memori. Setelah Gateway restart, counter di-reset ke nol dan gauge dimulai ulang pada nilai berikutnya yang dilaporkan. Gunakan PromQL
rate() dan increase() untuk menangani reset dengan bersih.Terkait
- Diagnostics export — zip diagnostik lokal untuk support bundle
- Health and readiness — probe
/healthzdan/readyz - Logging — logging berbasis file
- OpenTelemetry export — push OTLP untuk trace, metrik, dan log