Skip to main content
O OpenClaw pode expor métricas de diagnóstico por meio do plugin oficial diagnostics-prometheus. Ele monitora diagnósticos confiáveis, além de eventos de diagnóstico marcados internamente e pertencentes ao dispatcher (sinais de fila, memória e recuperação de sessão), e disponibiliza um endpoint de texto do Prometheus em:
O tipo de conteúdo é text/plain; version=0.0.4; charset=utf-8, o formato padrão de exposição do Prometheus.
A rota usa a autenticação do Gateway (escopo de operador, superfície de operador confiável). Não a exponha como um endpoint /metrics público e não autenticado. Faça a coleta por meio do mesmo fluxo de autenticação usado para outras APIs de operador.
Para traces, logs, envio por OTLP e atributos semânticos de IA generativa do OpenTelemetry, consulte Exportação para o OpenTelemetry.

Início rápido

1

Instale o plugin

2

Ative o plugin

3

Reinicie o Gateway

A rota HTTP é registrada na inicialização do plugin; portanto, recarregue após ativá-lo.
4

Colete dados da rota protegida

Envie a mesma autenticação do Gateway usada pelos seus clientes de operador:
5

Conectar o Prometheus

O valor padrão de diagnostics.enabled é true; defina-o como false apenas em ambientes com restrições rigorosas. Se for false, o Plugin ainda registrará a rota HTTP, mas nenhum evento de diagnóstico será enviado ao exportador, portanto a resposta ficará vazia.

Métricas exportadas

Política de rótulos

Os rótulos do Prometheus permanecem limitados e com baixa cardinalidade. O exportador não emite identificadores brutos de diagnóstico, como runId, sessionKey, sessionId, callId, toolCallId, IDs de mensagens, IDs de chats ou IDs de solicitações do provedor.Os valores dos rótulos são ocultados e devem corresponder à política de caracteres de baixa cardinalidade do OpenClaw. Os valores que não atenderem à política serão substituídos por unknown, other ou none, dependendo da métrica. Os rótulos que se assemelham a chaves de sessão com escopo de agente também são substituídos por unknown.
O exportador limita as séries temporais mantidas na memória a 2048 séries no total, combinando contadores, medidores e histogramas. Novas séries além desse limite são descartadas, e openclaw_prometheus_series_dropped_total é incrementado em um a cada ocorrência.Monitore esse contador como um sinal inequívoco de que um atributo em uma etapa anterior está vazando valores de alta cardinalidade. O exportador nunca aumenta o limite automaticamente; se o contador subir, corrija a origem em vez de desativar o limite.
  • texto de prompts, texto de respostas, entradas de ferramentas, saídas de ferramentas, prompts do sistema
  • transcrições do Talk, cargas de áudio, IDs de chamadas, IDs de salas, tokens de transferência, IDs de turnos e IDs brutos de sessões
  • IDs brutos de solicitações ao provedor (somente hashes limitados, quando aplicável, em spans — nunca em métricas)
  • chaves de sessão e IDs de sessão
  • nomes de hosts, caminhos de arquivos, valores secretos

Receitas de PromQL

Prefira gen_ai_client_token_usage para painéis entre provedores: ele segue as convenções semânticas de GenAI do OpenTelemetry e é consistente com métricas de serviços de GenAI que não são do OpenClaw.

Escolha entre a exportação pelo Prometheus e pelo OpenTelemetry

O OpenClaw oferece suporte às duas interfaces de forma independente. Você pode executar uma delas, ambas ou nenhuma.
  • Modelo de coleta: o Prometheus coleta dados de /api/diagnostics/prometheus.
  • Não requer coletor externo.
  • Autenticado pela autenticação normal do Gateway.
  • A interface inclui somente métricas (sem traces ou logs).
  • Mais adequado para pilhas já padronizadas em Prometheus + Grafana.

Solução de problemas

  • Verifique se diagnostics.enabled não está definido como false na configuração (o padrão é true).
  • Confirme se o Plugin está habilitado e carregado com openclaw plugins list --enabled.
  • Gere algum tráfego; contadores e histogramas só emitem linhas após pelo menos um evento.
O endpoint exige o escopo de operador do Gateway (auth: "gateway" com gatewayRuntimeScopeSurface: "trusted-operator"). Use o mesmo token ou senha que o Prometheus utiliza para qualquer outra rota de operador do Gateway. Não há modo público sem autenticação.
Um novo atributo está excedendo o limite de 2048 séries. Inspecione as métricas recentes em busca de um rótulo com cardinalidade inesperadamente alta e corrija-o na origem. O exportador descarta intencionalmente novas séries em vez de reescrever silenciosamente os rótulos.
O Plugin mantém o estado somente na memória. Após uma reinicialização do Gateway, os contadores voltam a zero e os medidores reiniciam no próximo valor informado. Use rate() e increase() do PromQL para tratar as reinicializações corretamente.

Relacionados