OpenClaw s'appuie sur les plugins opentelemetry-instrumentation-openclaw et diagnostics-otel pour transmettre la trace complète ainsi que les métriques d'exécution d'un agent IA vers la surveillance des applications de Cloud Monitor 2.0. Le plugin opentelemetry-instrumentation-openclaw gère le signalement des traces en suivant les conventions sémantiques GenAI d'OpenTelemetry afin de générer une trace structurée pour chaque requête. Le plugin diagnostics-otel collecte quant à lui les métriques d'exécution en temps réel, telles que le taux de consommation de tokens, le QPS des appels et la profondeur de la file d'attente. Une fois ces plugins activés, consultez les données de surveillance de votre application OpenClaw dans Cloud Monitor 2.0, notamment la trace complète, la latence des appels au modèle, les détails de consommation de tokens et les informations relatives aux appels d'outils.
Limites
|
Limite |
Description |
|
Version d'OpenClaw |
v26.2.19 ou ultérieure. Les versions antérieures n'incluent pas le plugin |
|
Protocole de signalement |
Seul HTTP/Protobuf est pris en charge. HTTP/JSON et gRPC ne sont pas supportés. |
|
Type de données |
Seules les données de trace et de métrique sont prises en charge. Les données de journal ne sont pas supportées. |
|
Service Cloud Monitor |
Vous devez avoir activé Cloud Monitor 2.0 et créé un espace de travail. |
Étape 1 : Obtenir la commande d'installation
Avant d'installer le plugin, récupérez une commande d'installation depuis la console Cloud Monitor 2.0.
Connectez-vous à la console Cloud Monitor 2.0 et sélectionnez votre espace de travail cible.
Dans le volet de navigation de gauche, cliquez sur Integration Center.
Dans la section AI Application Observability, cliquez sur la carte OpenClaw.
-
Dans la zone de configuration des paramètres, saisissez un nom d'application, choisissez une méthode de connexion selon vos besoins, puis cliquez sur Get en regard de LicenseKey.
La console génère une commande d'installation basée sur votre configuration. Cliquez sur l'icône de copie située dans le coin supérieur droit pour copier cette commande. Celle-ci contient des informations sur l'endpoint, telles que l'Endpoint et la LicenseKey. Si vous prévoyez d'effectuer une installation manuelle, notez les informations suivantes :
Paramètre
Description
Exemple
Endpoint
Endpoint de signalement des traces et métriques OTLP
https://proj-xtrace-xxx.cn-hangzhou-intranet.log.aliyuncs.com/apm/trace/opentelemetry/v1/traceshttps://proj-xtrace-xxx.cn-hangzhou-intranet.log.aliyuncs.com/apm/trace/opentelemetry/v1/metrics
x-arms-license-key
LicenseKey pour l'authentification d'écriture des données
d95vgxi0cn@xxxxxx-arms-project
Nom du projet Simple Log Service
proj-xtrace-xxx-cn-hangzhoux-cms-workspace
ID de l'espace de travail Cloud Monitor 2.0
default-cms-xxx-cn-hangzhouserviceName
Nom de l'application.
openclaw-xxx
Étape 2 : Installer et intégrer
Méthode 1 : Installation en un clic (Recommandé)
Sur la machine exécutant OpenClaw, ouvrez un terminal, collez la commande d'installation obtenue à l'étape précédente, puis exécutez-la :
curl -fsSL https://arms-apm-cn-hangzhou-pre.oss-cn-hangzhou.aliyuncs.com/opentelemetry-instrumentation-openclaw/install.sh | bash -s -- \
--endpoint "https://<YOUR_ENDPOINT>" \
--x-arms-license-key "<YOUR_LICENSE_KEY>" \
--x-arms-project "<YOUR_PROJECT>" \
--x-cms-workspace "<YOUR_WORKSPACE>" \
--serviceName "<YOUR_SERVICE_NAME>"
Le script d'installation effectue automatiquement les actions suivantes :
Vérifie la présence de Node.js, npm et de la CLI OpenClaw dans l'environnement.
Télécharge et extrait le plugin
opentelemetry-instrumentation-openclawdans le répertoire des extensions d'OpenClaw.Installe les dépendances d'exécution du plugin.
Localise automatiquement l'extension
diagnostics-otelet installe ses dépendances si elles ne sont pas déjà présentes.Met à jour le fichier
openclaw.jsonavec les configurations des deux plugins. Pour OpenClaw v2026.4.25 et versions ultérieures, il ajoute également automatiquementhooks.allowConversationAccess: true.Redémarre la passerelle pour appliquer la nouvelle configuration.
La sortie attendue ressemble à ceci :
[INFO] Checking prerequisites...
[OK] Node.js v24.14.0
[OK] npm 11.9.0
[OK] OpenClaw CLI found
[INFO] Downloading plugin...
[OK] Downloaded
[INFO] Extracting...
[OK] Extracted
[INFO] Installing npm dependencies...
[OK] Dependencies installed
[INFO] Locating diagnostics-otel extension...
[OK] Found diagnostics-otel at: /home/.../extensions/diagnostics-otel
[OK] diagnostics-otel dependencies already present
[INFO] Updating config...
[OK] Config updated
[INFO] Restarting OpenClaw gateway...
[OK] Gateway restarted
════════════════════════════════════════════════════
✅ opentelemetry-instrumentation-openclaw installed successfully!
════════════════════════════════════════════════════
Paramètres d'installation
|
Paramètre |
Obligatoire |
Description |
|
|
Oui |
L'endpoint de signalement des données OTLP, obtenu via l'Integration Center de Cloud Monitor 2.0. |
|
|
Oui |
La LicenseKey servant à l'authentification d'écriture des données. |
|
|
Oui |
Le nom du projet Simple Log Service. |
|
|
Oui |
L'identifiant de l'espace de travail Cloud Monitor 2.0. |
|
|
Oui |
Le nom du service signalé, qui apparaît comme nom d'application dans la liste des applications de Cloud Monitor 2.0. |
|
|
Non |
Une URL personnalisée pour le téléchargement de l'archive tarball. |
|
|
Non |
Un répertoire d'installation personnalisé. |
|
|
Non |
Désactive le signalement des métriques en ignorant la configuration de |
Méthode 2 : Installation manuelle
Pour réaliser une installation manuelle, suivez les étapes ci-dessous.
1. Télécharger et extraire le plugin
curl -fsSL -o opentelemetry-instrumentation-openclaw.tar.gz https://arms-apm-cn-hangzhou-pre.oss-cn-hangzhou.aliyuncs.com/opentelemetry-instrumentation-openclaw/opentelemetry-instrumentation-openclaw.tar.gz
tar -xzf opentelemetry-instrumentation-openclaw.tar.gz
cd opentelemetry-instrumentation-openclaw
npm install --omit=dev
2. Activer le plugin diagnostics-otel
openclaw plugins enable diagnostics-otel
3. Modifier le fichier de configuration
Modifiez le fichier ~/.openclaw/openclaw.json et ajoutez la configuration suivante. Remplacez les espaces réservés par les informations d'endpoint obtenues lors de l'Étape 1.
{
"plugins": {
"allow": ["opentelemetry-instrumentation-openclaw", "diagnostics-otel"],
"load": {
"paths": ["<PATH_TO_OPENTELEMETRY_INSTRUMENTATION_OPENCLAW>"]
},
"entries": {
"opentelemetry-instrumentation-openclaw": {
"enabled": true,
"hooks": {
"allowConversationAccess": true
},
"config": {
"endpoint": "<ENDPOINT>",
"headers": {
"x-arms-license-key": "<YOUR_LICENSE_KEY>",
"x-arms-project": "<YOUR_ARMS_PROJECT>",
"x-cms-workspace": "<YOUR_WORKSPACE_ID>"
},
"serviceName": "<YOUR_SERVICE_NAME>"
}
},
"diagnostics-otel": {
"enabled": true
}
}
},
"diagnostics": {
"enabled": true,
"otel": {
"enabled": true,
"endpoint": "<ENDPOINT>",
"protocol": "http/protobuf",
"headers": {
"x-arms-license-key": "<YOUR_LICENSE_KEY>",
"x-arms-project": "<YOUR_ARMS_PROJECT>",
"x-cms-workspace": "<YOUR_WORKSPACE_ID>"
},
"serviceName": "<YOUR_SERVICE_NAME>",
"traces": false,
"metrics": true,
"logs": false
}
}
}
Compatibilité des versions : Le paramètrehooks.allowConversationAccessest pris en charge uniquement à partir d'OpenClaw v2026.4.25. Pour les versions antérieures, supprimez la sectionhooksafin d'éviter une erreur « Unrecognized key » au démarrage de la passerelle.
4. Redémarrer la passerelle
openclaw gateway restart
Méthode 3 : Intégration dans un conteneur
Commencez par sélectionner une image de base OpenClaw. Si vous avez déjà construit une image personnalisée à partir de l'image de base officielle, utilisez celle-ci. Ensuite, installez les plugins d'observabilité OpenClaw par-dessus l'image de base et reconstruisez votre propre image OpenClaw, comme illustré ci-dessous :
FROM ghcr.io/openclaw/openclaw:latest
RUN curl -fsSL https://arms-apm-cn-hangzhou-pre.oss-cn-hangzhou.aliyuncs.com/opentelemetry-instrumentation-openclaw/install.sh | bash -s -- \
--endpoint "https://<YOUR_ENDPOINT>" \
--x-arms-license-key "<YOUR_LICENSE_KEY>" \
--x-arms-project "<YOUR_PROJECT>" \
--x-cms-workspace "<YOUR_WORKSPACE>" \
--serviceName "<YOUR_SERVICE_NAME>"
Il s'agit du même script d'installation que celui utilisé pour l'installation en un clic.
Construisez ensuite une image OpenClaw personnalisée à partir de ce Dockerfile et utilisez-la dans votre environnement conteneurisé.
Si vous devez configurer dynamiquement l'endpoint de signalement, le nom de l'application et d'autres paramètres pour votre instance OpenClaw, construisez votre image OpenClaw comme suit :
FROM ghcr.io/openclaw/openclaw:latest
RUN curl -fsSL https://arms-apm-cn-hangzhou-pre.oss-cn-hangzhou.aliyuncs.com/opentelemetry-instrumentation-openclaw/install-ack.sh | bash -s
Lors de l'exécution de l'image, définissez les variables d'environnement suivantes pour spécifier l'endpoint de signalement, le nom de l'application et d'autres informations :
|
Variable d'environnement |
Description |
|
|
Votre URL d'endpoint |
|
|
Votre LicenseKey |
|
|
Votre projet |
|
|
Votre espace de travail |
|
|
Votre nom de service |
Paramètres de configuration
opentelemetry-instrumentation-openclaw
|
Paramètre |
Type |
Obligatoire |
Description |
|
|
String |
Oui |
L'endpoint de signalement des données OTLP, disponible dans l'Integration Center de Cloud Monitor 2.0. |
|
|
String |
Oui |
La LicenseKey pour l'authentification d'identité. |
|
|
String |
Oui |
Le projet Simple Log Service destiné au stockage des données de trace. |
|
|
String |
Oui |
L'espace de travail Cloud Monitor 2.0 cible pour le signalement des données. |
|
|
String |
Oui |
Le nom du service signalé, affiché comme nom d'application dans la liste des applications de Cloud Monitor 2.0. |
|
|
Boolean |
Non |
Active le journal de débogage. La valeur par défaut est |
|
|
Number |
Non |
Nombre maximal de spans à conserver dans le tampon avant leur envoi par lot. La valeur par défaut est |
|
|
Number |
Non |
Temps d'attente maximal du tampon (en millisecondes). La valeur par défaut est |
|
|
Boolean |
Non |
Active la propagation du contexte de trace W3C pour corréler les requêtes en amont et en aval. La valeur par défaut est |
|
|
String[] |
Non |
Injecte l'en-tête |
|
|
Object |
Non |
Spécifie des attributs Resource personnalisés à injecter dans la ressource OTel, par exemple |
|
|
Object |
Non |
Attributs Span globaux, injectés dans tous les spans (par exemple |
Remarque :hooks.allowConversationAccess: truedoit être configuré dans le champhooksdes entrées de plugin (au même niveau queconfig). Sinon, la politique de sécurité d'OpenClaw bloquera les hooks liés aux conversations. Seules les versions d'OpenClaw >= 2026.4.25 prennent en charge ce champ. Ne le configurez pas pour les versions antérieures.
Fallback par variable d'environnement
Si un champ de configuration n'est pas défini, le plugin lit la valeur depuis la variable d'environnement correspondante. Cette méthode est idéale pour les environnements conteneurisés et Kubernetes.
|
Variable d'environnement |
Configuration correspondante |
Description |
|
|
|
Endpoint de signalement OTLP |
|
|
|
LicenseKey ARMS |
|
|
|
Nom du projet ARMS |
|
|
|
Identifiant de l'espace de travail |
|
|
|
Nom du service |
|
|
|
Journal de débogage ( |
|
|
|
Propriétés Resource personnalisées ( |
|
|
|
Attributs Span globaux ( |
Priorité : Fichier de configuration > Variables d'environnement > Valeurs par défaut.
Important : La passerelle OpenClaw s'exécute en mode démon par défaut et n'hérite pas des variables d'environnement du shell appelant. Pour le développement local, privilégiez la méthode du fichier de configuration. Les variables d'environnement conviennent aux environnements conteneurisés tels que Docker et Kubernetes.
diagnostics-otel
|
Paramètre |
Type |
Obligatoire |
Description |
|
|
Boolean |
Oui |
Indique s'il faut activer la fonctionnalité de diagnostic. Définissez la valeur sur |
|
|
Boolean |
Oui |
Indique s'il faut activer l'exportation des données OpenTelemetry. Définissez la valeur sur |
|
|
String |
Oui |
Endpoint de signalement des données OTLP. Le plugin ajoute automatiquement le chemin |
|
|
String |
Oui |
Protocole de signalement. Actuellement, seul |
|
|
Object |
Oui |
Les en-têtes d'authentification inclus dans les requêtes de signalement. |
|
|
String |
Oui |
Le nom du service signalé doit correspondre au |
|
|
Boolean |
Oui |
Indique s'il faut signaler les données de trace. Nous recommandons de définir cette valeur sur |
|
|
Boolean |
Oui |
Indique s'il faut signaler les données de métrique. Définissez ce paramètre sur |
|
|
Boolean |
Oui |
Indique s'il faut signaler les données de journal. Cette fonctionnalité n'est actuellement pas prise en charge par Cloud Monitor 2.0. Nous recommandons de définir ce paramètre sur |
|
|
Number |
Non |
Le taux d'échantillonnage des traces varie de 0,0 à 1,0 et s'applique uniquement au span racine. Une valeur de |
|
|
Number |
Non |
Intervalle d'actualisation des données par lot, en millisecondes. La valeur minimale est |
Étape 3 : Vérifier l'installation
Exécutez la commande suivante pour vérifier si les plugins sont actifs :
openclaw plugins list
La sortie attendue ressemble à ceci :
┌───────────────────┬─────────────────┬──────────┬──────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────────┐
│ Name │ ID │ Format │ Status │ Source │ Version │
├───────────────────┼─────────────────┼──────────┼──────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────────┤
│ OpenClaw OTel │ opentelemetry- │ openclaw │ enabled │ ~/.openclaw/extensions/opentelemetry-instrumentation-openclaw/dist/index.js │ 0.1.3-beta │
│ Plugin │ instrumentation │ │ │ Report OpenClaw AI agent execution traces to any OTLP-compatible backend via OpenTelemetry │ │
│ @openclaw/ │ diagnostics- │ openclaw │ enabled │ ~/.openclaw/npm/node_modules/@openclaw/diagnostics-otel/dist/index.js │ 2026.5.6 │
│ diagnostics-otel │ otel │ │ │ │ │
└───────────────────┴─────────────────┴──────────┴──────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────────┘
Étape 4 : Consulter les données de surveillance
Une fois l'installation terminée, envoyez quelques messages à OpenClaw pour déclencher l'exécution de l'agent. Consultez ensuite les données de surveillance transmises par OpenClaw dans la console Cloud Monitor 2.0.
Connectez-vous à la console Cloud Monitor 2.0 et sélectionnez votre espace de travail cible.
Dans le volet de navigation de gauche, choisissez Application Observability > AI Application Observability.
Dans la liste des applications, recherchez le nom de service que vous avez configuré (par exemple,
openclaw-gateway).Cliquez sur le nom de l'application ou sélectionnez Trace Analysis pour afficher la trace, la consommation de tokens, les entrées et sorties LLM ainsi que la distribution de la latence.
Désinstallation
Pour désinstaller le plugin, exécutez la commande suivante :
curl -fsSL https://arms-apm-cn-hangzhou-pre.oss-cn-hangzhou.aliyuncs.com/opentelemetry-instrumentation-openclaw/uninstall.sh | bash
Le script de désinstallation nettoie automatiquement le répertoire d'installation de opentelemetry-instrumentation-openclaw ainsi que toutes les configurations associées dans openclaw.json. La configuration de diagnostics-otel est également désactivée.
|
Paramètre |
Description |
|
|
Ignore l'invite de confirmation. |
|
|
Spécifie le répertoire d'installation du plugin. S'il n'est pas fourni, le répertoire est détecté automatiquement. |
|
|
Désinstalle uniquement |
FAQ
Aucune donnée n'apparaît dans la console après la configuration ?
Vérifiez les points suivants dans l'ordre :
Assurez-vous que votre version d'OpenClaw est la v26.2.19 ou ultérieure. Exécutez
openclaw --versionpour le vérifier.Confirmez que la passerelle a bien redémarré (elle redémarre automatiquement après une installation en un clic, mais nécessite l'exécution de
openclaw gateway restartpour une installation manuelle). En cas d'échec du redémarrage, exécutezopenclaw doctorpuis redémarrez la passerelle une fois les problèmes résolus.Vérifiez que l'URL de l'Endpoint est correcte et accessible sur le réseau. Testez la connectivité avec
curl.Assurez-vous que les trois valeurs d'en-tête (
x-arms-license-key,x-arms-projectetx-cms-workspace) sont correctement renseignées.Si la version d'OpenClaw est 2026.4.25 ou ultérieure, définissez
hooks.allowConversationAccesssurtruedans la configuration du plugin pour empêcher la politique de sécurité de bloquer les hooks liés aux conversations. Pour les versions antérieures à 2026.4.25, assurez-vous que la configuration ne contient pas le champhooksafin d'éviter une erreur « Unrecognized key ».Notez que la valeur par défaut de
flushIntervalMsest de 60 secondes. Pour les tâches de courte durée, patientez quelques minutes avant l'apparition des données.
L'intégration affecte-t-elle les performances ?
L'impact est minime. opentelemetry-instrumentation-openclaw utilise le mécanisme d'exportation par lot d'OpenTelemetry. Les données de span sont mises en mémoire tampon et signalées par lots à intervalles réguliers, ce qui ne bloque pas le flux de traitement normal de l'agent.
Puis-je installer uniquement le signalement des traces ?
Oui. Ajoutez le paramètre --disable-metrics lors de l'installation pour ignorer la configuration de diagnostics-otel et activer uniquement le signalement des traces.
Les traces provenant de différents plugins entrent-elles en conflit ?
Non. Le script d'installation définit diagnostics.otel.traces sur false par défaut. Le composant opentelemetry-instrumentation-openclaw est spécifiquement chargé du signalement des traces. Aucun conflit ne survient même si les deux signalent simultanément.
L'installation écrase-t-elle les configurations existantes ?
Non. Le script d'installation utilise une stratégie de fusion-mise à jour : il met à jour uniquement les champs nécessaires tels que endpoint et headers, et laisse inchangées vos configurations existantes pour traces, logs et sampleRate.
Pourquoi la consommation de tokens est-elle toujours à 0 ?
OpenClaw v2026.3.8 contient un bogue entraînant une collecte incorrecte de la consommation de tokens. Ce bogue a été corrigé dans la v2026.4.5 et les versions ultérieures.
Puis-je utiliser gRPC pour signaler des données ?
Le plugin diagnostics-otel d'OpenClaw prend uniquement en charge http/protobuf. Si vous définissez grpc, le paramètre est ignoré silencieusement. Aucune erreur ne se produit, mais le paramètre n'a aucun effet.