Skip to main content
OpenClaw peut exposer des métriques de diagnostic par l’intermédiaire du plugin officiel diagnostics-prometheus. Il écoute les diagnostics de confiance ainsi que les événements de diagnostic marqués en interne et gérés par le répartiteur (signaux de file d’attente, de mémoire et de récupération de session), puis fournit un point de terminaison texte Prometheus à l’adresse suivante :
Le type de contenu est text/plain; version=0.0.4; charset=utf-8, soit le format d’exposition standard de Prometheus.
La route utilise l’authentification du Gateway (périmètre opérateur, surface réservée aux opérateurs de confiance). Ne l’exposez pas comme un point de terminaison public /metrics sans authentification. Collectez ses données via le même mécanisme d’authentification que celui utilisé pour les autres API d’opérateur.
Pour les traces, les journaux, l’envoi OTLP et les attributs sémantiques GenAI d’OpenTelemetry, consultez Exportation OpenTelemetry.

Démarrage rapide

1

Installer le plugin

2

Activer le plugin

3

Redémarrer le Gateway

La route HTTP est enregistrée au démarrage du plugin ; rechargez donc le Gateway après l’activation.
4

Collecter les données de la route protégée

Envoyez les mêmes informations d’authentification du Gateway que celles utilisées par vos clients opérateurs :
5

Connecter Prometheus

diagnostics.enabled vaut true par défaut ; définissez-le sur false uniquement dans des environnements soumis à des contraintes strictes. S’il vaut false, le Plugin enregistre toujours la route HTTP, mais aucun événement de diagnostic n’est transmis à l’exportateur, de sorte que la réponse est vide.

Métriques exportées

Politique relative aux libellés

Les libellés Prometheus restent bornés et présentent une faible cardinalité. L’exportateur n’émet pas d’identifiants de diagnostic bruts tels que runId, sessionKey, sessionId, callId, toolCallId, les identifiants de message, les identifiants de conversation ou les identifiants de requête du fournisseur.Les valeurs des libellés sont expurgées et doivent respecter la politique d’OpenClaw relative aux caractères à faible cardinalité. Les valeurs qui ne respectent pas cette politique sont remplacées par unknown, other ou none, selon la métrique. Les libellés qui ressemblent à des clés de session d’agent délimitées par une portée sont également remplacés par unknown.
L’exportateur limite à 2048 le nombre total de séries temporelles conservées en mémoire pour les compteurs, les jauges et les histogrammes. Toute nouvelle série dépassant cette limite est ignorée, et openclaw_prometheus_series_dropped_total est incrémenté de un à chaque fois.Surveillez ce compteur : il indique clairement qu’un attribut en amont laisse échapper des valeurs à forte cardinalité. L’exportateur ne relève jamais automatiquement la limite ; si le compteur augmente, corrigez la source plutôt que de désactiver la limite.
  • texte des invites, texte des réponses, entrées des outils, sorties des outils, invites système
  • transcriptions des conversations, charges utiles audio, identifiants d’appel, identifiants de salle, jetons de transfert, identifiants de tour et identifiants de session bruts
  • identifiants bruts des requêtes des fournisseurs (uniquement des hachages bornés, le cas échéant, dans les traces — jamais dans les métriques)
  • clés de session et identifiants de session
  • noms d’hôte, chemins de fichiers, valeurs secrètes

Recettes PromQL

Préférez gen_ai_client_token_usage pour les tableaux de bord multifournisseurs : cette métrique respecte les conventions sémantiques GenAI d’OpenTelemetry et reste cohérente avec celles des services GenAI autres qu’OpenClaw.

Choisir entre l’export Prometheus et OpenTelemetry

OpenClaw prend en charge les deux interfaces indépendamment. Vous pouvez utiliser l’une, les deux ou aucune.
  • Modèle Pull : Prometheus collecte /api/diagnostics/prometheus.
  • Aucun collecteur externe requis.
  • Authentification assurée par le mécanisme habituel du Gateway.
  • L’interface fournit uniquement des métriques (sans traces ni journaux).
  • Solution idéale pour les infrastructures déjà standardisées sur Prometheus et Grafana.

Dépannage

  • Vérifiez que diagnostics.enabled n’est pas défini sur false dans la configuration (sa valeur par défaut est true).
  • Confirmez que le Plugin est activé et chargé avec openclaw plugins list --enabled.
  • Générez du trafic ; les compteurs et les histogrammes n’émettent des lignes qu’après au moins un événement.
Le point de terminaison nécessite la portée opérateur du Gateway (auth: "gateway" avec gatewayRuntimeScopeSurface: "trusted-operator"). Utilisez le même jeton ou mot de passe que celui employé par Prometheus pour toute autre route opérateur du Gateway. Aucun mode public sans authentification n’est disponible.
Un nouvel attribut dépasse la limite de 2048 séries. Examinez les métriques récentes afin de repérer une étiquette présentant une cardinalité anormalement élevée, puis corrigez-la à la source. L’exportateur ignore volontairement les nouvelles séries au lieu de réécrire silencieusement les étiquettes.
Le Plugin conserve son état uniquement en mémoire. Après le redémarrage du Gateway, les compteurs sont remis à zéro et les jauges reprennent à la prochaine valeur signalée. Utilisez les fonctions PromQL rate() et increase() pour gérer proprement les réinitialisations.

Voir aussi