Chuyển đến nội dung chính
OpenClaw có thể cung cấp các chỉ số chẩn đoán thông qua plugin chính thức diagnostics-prometheus. Plugin này lắng nghe dữ liệu chẩn đoán đáng tin cậy cùng các sự kiện chẩn đoán được gắn thẻ nội bộ và do bộ điều phối sở hữu (các tín hiệu về hàng đợi, bộ nhớ và khôi phục phiên), rồi hiển thị một endpoint văn bản Prometheus tại:
Loại nội dung là text/plain; version=0.0.4; charset=utf-8, định dạng trình bày Prometheus tiêu chuẩn.
Tuyến này sử dụng xác thực Gateway (phạm vi người vận hành, bề mặt dành cho người vận hành đáng tin cậy). Không cung cấp tuyến này dưới dạng endpoint /metrics công khai không yêu cầu xác thực. Hãy thu thập dữ liệu qua cùng đường dẫn xác thực mà bạn sử dụng cho các API dành cho người vận hành khác.
Đối với trace, log, đẩy OTLP và các thuộc tính ngữ nghĩa GenAI của OpenTelemetry, hãy xem Xuất OpenTelemetry.

Bắt đầu nhanh

1

Cài đặt plugin

2

Bật plugin

3

Khởi động lại Gateway

Tuyến HTTP được đăng ký khi plugin khởi động, vì vậy hãy tải lại sau khi bật.
4

Thu thập dữ liệu từ tuyến được bảo vệ

Gửi cùng thông tin xác thực Gateway mà các máy khách dành cho người vận hành của bạn sử dụng:
5

Kết nối Prometheus

diagnostics.enabled mặc định là true; chỉ đặt thành false trong các môi trường được kiểm soát chặt chẽ. Nếu giá trị là false, plugin vẫn đăng ký tuyến HTTP, nhưng không có sự kiện chẩn đoán nào truyền vào trình xuất, vì vậy phản hồi sẽ trống.

Các chỉ số được xuất

Đối với các chỉ số đo lường lệnh gọi mô hình, observation_unit="request" đo một yêu cầu có thể quan sát được gửi đến nhà cung cấp. observation_unit="turn" đo một lượt tác tử Claude Code hoặc Codex CLI tổng hợp có thể chứa nhiều yêu cầu ẩn gửi đến nhà cung cấp. Hãy tách riêng các chuỗi này khi so sánh độ trễ.

Chính sách nhãn

Nhãn Prometheus luôn hữu hạn và có lực lượng thấp. Trình xuất không phát ra các mã định danh chẩn đoán thô như runId, sessionKey, sessionId, callId, toolCallId, ID tin nhắn, ID cuộc trò chuyện hoặc ID yêu cầu của nhà cung cấp.Giá trị nhãn được biên tập và phải tuân thủ chính sách ký tự có lực lượng thấp của OpenClaw. Các giá trị không đáp ứng chính sách sẽ được thay thế bằng unknown, other hoặc none, tùy theo chỉ số đo lường. Các nhãn trông giống khóa phiên tác tử có phạm vi cũng được thay thế bằng unknown.
Trình xuất giới hạn số chuỗi thời gian được giữ lại trong bộ nhớ ở mức 2048 chuỗi, tính tổng trên các bộ đếm, đồng hồ đo và histogram. Các chuỗi mới vượt quá giới hạn đó sẽ bị loại bỏ và openclaw_prometheus_series_dropped_total tăng thêm một mỗi lần.Hãy theo dõi bộ đếm này như một tín hiệu chắc chắn cho thấy một thuộc tính ở thượng nguồn đang làm rò rỉ các giá trị có lực lượng cao. Trình xuất không bao giờ tự động nâng giới hạn; nếu bộ đếm tăng, hãy sửa nguồn thay vì vô hiệu hóa giới hạn.
  • văn bản lời nhắc, văn bản phản hồi, đầu vào công cụ, đầu ra công cụ, lời nhắc hệ thống
  • bản chép lời Talk, tải trọng âm thanh, ID cuộc gọi, ID phòng, token bàn giao, ID lượt và ID phiên thô
  • ID yêu cầu thô của nhà cung cấp (chỉ có hàm băm hữu hạn, khi áp dụng, trên span — không bao giờ trên chỉ số đo lường)
  • khóa phiên và ID phiên
  • tên máy chủ, đường dẫn tệp, giá trị bí mật

Công thức PromQL

Ưu tiên gen_ai_client_token_usage cho bảng điều khiển dùng chung giữa các nhà cung cấp: chỉ số này tuân theo các quy ước ngữ nghĩa GenAI của OpenTelemetry và nhất quán với chỉ số đo lường từ các dịch vụ GenAI không thuộc OpenClaw.

Lựa chọn giữa xuất Prometheus và OpenTelemetry

OpenClaw hỗ trợ độc lập cả hai bề mặt. Bạn có thể chạy một trong hai, cả hai hoặc không chạy bề mặt nào.
  • Mô hình kéo: Prometheus thu thập /api/diagnostics/prometheus.
  • Không yêu cầu bộ thu thập bên ngoài.
  • Được xác thực thông qua cơ chế xác thực Gateway thông thường.
  • Bề mặt chỉ bao gồm chỉ số đo lường (không có dấu vết hoặc nhật ký).
  • Phù hợp nhất với các hệ thống đã được tiêu chuẩn hóa trên Prometheus + Grafana.

Khắc phục sự cố

  • Kiểm tra để bảo đảm diagnostics.enabled không được đặt thành false trong cấu hình (giá trị mặc định là true).
  • Xác nhận Plugin được bật và tải bằng openclaw plugins list --enabled.
  • Tạo một số lưu lượng truy cập; bộ đếm và histogram chỉ phát ra các dòng sau khi có ít nhất một sự kiện.
Điểm cuối yêu cầu phạm vi toán tử Gateway (auth: "gateway" với gatewayRuntimeScopeSurface: "trusted-operator"). Sử dụng cùng token hoặc mật khẩu mà Prometheus dùng cho bất kỳ tuyến toán tử Gateway nào khác. Không có chế độ công khai không cần xác thực.
Một thuộc tính mới đang vượt quá giới hạn 2048 chuỗi. Kiểm tra các chỉ số đo lường gần đây để tìm nhãn có lực lượng cao bất thường và sửa tại nguồn. Trình xuất chủ ý loại bỏ các chuỗi mới thay vì âm thầm viết lại nhãn.
Plugin chỉ giữ trạng thái trong bộ nhớ. Sau khi Gateway khởi động lại, các bộ đếm được đặt lại về không và đồng hồ đo bắt đầu lại ở giá trị được báo cáo tiếp theo. Sử dụng PromQL rate()increase() để xử lý việc đặt lại một cách chính xác.

Liên quan