Skip to main content
OpenClaw dapat mengekspos metrik diagnostik melalui plugin resmi diagnostics-prometheus. Plugin ini menerima diagnostik tepercaya serta peristiwa diagnostik yang ditandai secara internal dan dimiliki dispatcher (sinyal antrean, memori, dan pemulihan sesi), lalu menyajikan endpoint teks Prometheus di:
Jenis kontennya adalah text/plain; version=0.0.4; charset=utf-8, yaitu format eksposisi standar Prometheus.
Rute ini menggunakan autentikasi Gateway (cakupan operator, permukaan operator tepercaya). Jangan mengeksposnya sebagai endpoint /metrics publik tanpa autentikasi. Ambil metrik melalui jalur autentikasi yang sama dengan yang digunakan untuk API operator lainnya.
Untuk pelacakan, log, push OTLP, dan atribut semantik GenAI OpenTelemetry, lihat ekspor OpenTelemetry.

Mulai cepat

1

Instal plugin

2

Aktifkan plugin

3

Mulai ulang Gateway

Rute HTTP didaftarkan saat plugin dimulai, jadi muat ulang setelah mengaktifkannya.
4

Ambil metrik dari rute yang dilindungi

Kirim autentikasi Gateway yang sama dengan yang digunakan klien operator Anda:
5

Hubungkan Prometheus

diagnostics.enabled secara default bernilai true; atur ke false hanya dalam lingkungan yang dibatasi secara ketat. Jika nilainya false, plugin tetap mendaftarkan rute HTTP, tetapi tidak ada peristiwa diagnostik yang mengalir ke pengekspor, sehingga responsnya kosong.

Metrik yang diekspor

Untuk metrik panggilan model, observation_unit="request" mengukur satu permintaan provider yang dapat diamati. observation_unit="turn" mengukur satu giliran agen Claude Code atau Codex CLI sintetis yang dapat berisi beberapa permintaan provider tersembunyi. Pisahkan deret tersebut saat membandingkan latensi.

Kebijakan label

Label Prometheus tetap terbatas dan berkardinalitas rendah. Eksportir tidak memancarkan pengidentifikasi diagnostik mentah seperti runId, sessionKey, sessionId, callId, toolCallId, ID pesan, ID obrolan, atau ID permintaan provider.Nilai label disunting dan harus sesuai dengan kebijakan karakter berkardinalitas rendah OpenClaw. Nilai yang tidak memenuhi kebijakan diganti dengan unknown, other, atau none, bergantung pada metriknya. Label yang tampak seperti kunci sesi agen bercakupan juga diganti dengan unknown.
Eksportir membatasi deret waktu yang dipertahankan dalam memori hingga 2048 deret untuk gabungan penghitung, pengukur, dan histogram. Deret baru yang melampaui batas tersebut dibuang, dan openclaw_prometheus_series_dropped_total bertambah satu setiap kali hal itu terjadi.Pantau penghitung ini sebagai sinyal tegas bahwa atribut di hulu membocorkan nilai berkardinalitas tinggi. Eksportir tidak pernah menaikkan batas secara otomatis; jika penghitung ini meningkat, perbaiki sumbernya alih-alih menonaktifkan batas.
  • teks prompt, teks respons, masukan alat, keluaran alat, prompt sistem
  • transkrip percakapan, muatan audio, ID panggilan, ID ruang, token serah terima, ID giliran, dan ID sesi mentah
  • ID permintaan provider mentah (hanya hash terbatas, jika berlaku, pada span — tidak pernah pada metrik)
  • kunci sesi dan ID sesi
  • nama host, jalur file, nilai rahasia

Resep PromQL

Utamakan gen_ai_client_token_usage untuk dasbor lintas-provider: metrik ini mengikuti konvensi semantik GenAI OpenTelemetry dan konsisten dengan metrik dari layanan GenAI non-OpenClaw.

Memilih antara ekspor Prometheus dan OpenTelemetry

OpenClaw mendukung kedua antarmuka secara independen. Anda dapat menjalankan salah satunya, keduanya, atau tidak satu pun.
  • Model tarik: Prometheus mengambil /api/diagnostics/prometheus.
  • Tidak memerlukan pengumpul eksternal.
  • Diautentikasi melalui autentikasi Gateway normal.
  • Antarmuka hanya mencakup metrik (tanpa jejak atau log).
  • Paling sesuai untuk tumpukan yang telah distandardisasi pada Prometheus + Grafana.

Pemecahan masalah

  • Periksa bahwa diagnostics.enabled tidak diatur ke false dalam konfigurasi (nilai bawaannya adalah true).
  • Pastikan Plugin diaktifkan dan dimuat dengan openclaw plugins list --enabled.
  • Hasilkan sejumlah lalu lintas; penghitung dan histogram hanya memancarkan baris setelah setidaknya satu peristiwa.
Endpoint memerlukan cakupan operator Gateway (auth: "gateway" dengan gatewayRuntimeScopeSurface: "trusted-operator"). Gunakan token atau kata sandi yang sama dengan yang digunakan Prometheus untuk rute operator Gateway lainnya. Tidak tersedia mode publik tanpa autentikasi.
Atribut baru melampaui batas 2048 deret. Periksa metrik terbaru untuk menemukan label dengan kardinalitas tinggi yang tidak terduga, lalu perbaiki di sumbernya. Eksportir sengaja membuang deret baru alih-alih menulis ulang label secara diam-diam.
Plugin hanya menyimpan status dalam memori. Setelah Gateway dimulai ulang, penghitung kembali ke nol dan pengukur dimulai ulang pada nilai berikutnya yang dilaporkan. Gunakan rate() dan increase() PromQL untuk menangani pengaturan ulang dengan benar.

Terkait