diagnostics-prometheus. Він слухає довірену внутрішню діагностику та віддає текстову кінцеву точку Prometheus за адресою:
text/plain; version=0.0.4; charset=utf-8, стандартний формат експозиції Prometheus.
Для трасувань, логів, OTLP push та семантичних атрибутів OpenTelemetry GenAI див. експорт OpenTelemetry.
Швидкий старт
Перезапустіть Gateway
HTTP-маршрут реєструється під час запуску Plugin, тому після ввімкнення виконайте перезавантаження.
Налаштуйте скрейпінг захищеного маршруту
Передайте ту саму автентифікацію gateway, яку використовують ваші клієнти operator:
Потрібно
diagnostics.enabled: true. Без цього Plugin усе одно реєструє HTTP-маршрут, але жодні події діагностики не потрапляють до експортера, тому відповідь буде порожньою.Експортовані метрики
| Метрика | Тип | Мітки |
|---|---|---|
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 |
Політика міток
Обмежені мітки з низькою кардинальністю
Обмежені мітки з низькою кардинальністю
Мітки Prometheus залишаються обмеженими та з низькою кардинальністю. Експортер не виводить сирі ідентифікатори діагностики, як-от
runId, sessionKey, sessionId, callId, toolCallId, ідентифікатори повідомлень, ідентифікатори чатів або ідентифікатори запитів провайдера.Значення міток редагуються та мають відповідати політиці символів OpenClaw для низької кардинальності. Значення, які не проходять перевірку політики, замінюються на unknown, other або none залежно від метрики.Обмеження кількості серій і облік переповнення
Обмеження кількості серій і облік переповнення
Експортер обмежує кількість часових серій, що зберігаються в пам’яті, до 2048 серій загалом для counter, gauge і histogram. Нові серії понад це обмеження відкидаються, а
openclaw_prometheus_series_dropped_total збільшується на одиницю щоразу.Відстежуйте цей counter як жорсткий сигнал того, що якийсь атрибут вище за потоком пропускає значення з високою кардинальністю. Експортер ніколи не знімає це обмеження автоматично; якщо значення зростає, виправте джерело замість вимкнення обмеження.Що ніколи не з’являється у виводі Prometheus
Що ніколи не з’являється у виводі Prometheus
- текст промптів, текст відповідей, вхідні дані інструментів, вихідні дані інструментів, системні промпти
- сирі ідентифікатори запитів провайдера (лише обмежені хеші, де це застосовно, у spans — ніколи в метриках)
- ключі сесій та ідентифікатори сесій
- імена хостів, шляхи до файлів, секретні значення
Рецепти PromQL
Вибір між Prometheus і експортом OpenTelemetry
OpenClaw підтримує обидві поверхні незалежно. Ви можете використовувати одну з них, обидві або жодну.- diagnostics-prometheus
- diagnostics-otel
- Модель Pull: Prometheus виконує скрейпінг
/api/diagnostics/prometheus. - Зовнішній збирач не потрібен.
- Автентифікація через стандартну автентифікацію Gateway.
- Поверхня охоплює лише метрики (без трасувань або логів).
- Найкраще підходить для стеків, уже стандартизованих на Prometheus + Grafana.
Усунення несправностей
Порожнє тіло відповіді
Порожнє тіло відповіді
- Перевірте
diagnostics.enabled: trueу конфігурації. - Підтвердьте, що Plugin увімкнено й завантажено, за допомогою
openclaw plugins list --enabled. - Згенеруйте певний трафік; counter і histogram починають виводити рядки лише після принаймні однієї події.
401 / unauthorized
401 / unauthorized
`openclaw_prometheus_series_dropped_total` зростає
`openclaw_prometheus_series_dropped_total` зростає
Новий атрибут перевищує ліміт у 2048 серій. Перевірте нещодавні метрики на наявність мітки з неочікувано високою кардинальністю та виправте це в джерелі. Експортер навмисно відкидає нові серії замість тихого переписування міток.
Prometheus показує застарілі серії після перезапуску
Prometheus показує застарілі серії після перезапуску
Plugin зберігає стан лише в пам’яті. Після перезапуску Gateway counter скидаються до нуля, а gauge починаються з наступного повідомленого значення. Використовуйте в PromQL
rate() і increase(), щоб коректно обробляти скидання.Пов’язане
- Експорт діагностики — локальний zip-файл діагностики для пакетів підтримки
- Стан здоров’я та готовність — перевірки
/healthzі/readyz - Логування — логування у файли
- Експорт OpenTelemetry — OTLP push для трасувань, метрик і логів