Intégration CLI · Windows · macOS · Linux

Connectez Codex à Observagent.

Utilisez l'exportateur OpenTelemetry intégré de Codex pour envoyer les journaux d'exécution tout en gardant le contenu brut des invites masqué.

Codex CLIÉvénements d'exécution
OTLP via HTTPSExportateur intégré
ObservagentJournaux + métriques + traces
Comment ça marche

Utiliser l'export OpenTelemetry intégré de Codex

Codex peut exporter la télémétrie d'exécution via son intégration OpenTelemetry intégrée. Observagent reçoit journaux, métriques et traces via OTLP/HTTP ; aucun SDK Python ni proxy local n'est requis. L'export ne commence qu'après avoir configuré les exportateurs et redémarré Codex.

Ce guide suit la documentation officielle de télémétrie OpenAI et la référence de configuration. La disponibilité des événements et des champs peut varier selon la version de Codex installée.

Lorsque vous créez ou configurez le projet Observagent, définissez sa source d'usage IA comme **Abonnement utilisateur** pour Codex utilisant l'authentification ChatGPT, **Facturation API du fournisseur** pour la facturation API du fournisseur, ou **Inconnu ou mixte** lorsque le projet reçoit intentionnellement les deux. Observagent attache cette valeur par défaut du projet lors de l'ingestion ; il ne recueille pas d'identifiants de facturation.

Seules les applications à canal mixte ont besoin d'une substitution par événement. Une application instrumentée qui mélange les canaux de facturation dans un projet peut émettre ai.usage.channel comme api, subscription, local ou unknown. Une valeur d'événement valide remplace la valeur par défaut du projet. Préférez des projets et clés distincts lorsque c'est possible ; une configuration Codex ordinaire ne nécessite aucune étape de télémétrie supplémentaire.

Avant de commencer

Offre minimum requise

ChatGPT Plus (accès par abonnement pour Codex CLI hébergé par OpenAI).

  • Plus est le premier abonnement indiqué avec accès au CLI. L’accès de bureau Free et Go n’inclut pas le même droit d’accès au CLI.
  • Vous pouvez aussi utiliser une clé API OpenAI avec facturation activée sans abonnement ChatGPT. Les espaces gérés doivent autoriser Codex.
Accès ObservagentPréparez un projet Observagent avec la surveillance et les signaux nécessaires activés, ainsi qu’une clé de projet valide avec la permission telemetry:write.

Conditions examinées le .

Choisir le système

Étapes d'intégration

Sélectionnez une plateforme pour voir les commandes et chemins propres à votre ordinateur. La configuration du projet et la vérification de la livraison sont communes à toutes les plateformes.

WindowsPowerShell
  1. Étape 1

    Vérifier Codex et ouvrir sa configuration

    Confirmez que Codex est installé, sauvegardez le fichier de configuration actif et ouvrez-le dans un éditeur de texte.

    • Modifiez le fichier de configuration utilisé par cette installation de Codex et ce compte utilisateur. Les sessions distantes, WSL et conteneurs peuvent utiliser un autre répertoire personnel.
    • La sauvegarde vous offre un moyen de récupération rapide si les paramètres TOML existants entrent en conflit.
    PowerShell
    codex --version
    $config = Join-Path $HOME ".codex\config.toml"
    New-Item -ItemType Directory -Force (Split-Path $config) | Out-Null
    if (Test-Path $config) { Copy-Item $config "$config.backup" }
    notepad $config
  2. Étape 2

    Ajouter les exportateurs OTLP

    Fusionnez ces valeurs dans la table [otel] existante, configurez les trois signaux et conservez le contenu brut des invites utilisateur masqué.

    • Remplacez YOUR_OBSERVAGENT_PROJECT_KEY dans les trois exportateurs par la clé complète telemetry-write du projet visé.
    • Conservez une seule table [otel]. Fusionnez les valeurs plutôt que de créer un en-tête dupliqué.
    • La configuration actuelle de Codex utilise la forme en ligne exporter = { otlp-http = { ... }}.
    PowerShell
    [otel]
    environment = "production"
    log_user_prompt = false
    exporter = { otlp-http = {
      endpoint = "https://dashboard.observagent.cloud/v1/logs",
      protocol = "binary",
      headers = { Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY" }
    }}
    metrics_exporter = { otlp-http = {
      endpoint = "https://dashboard.observagent.cloud/v1/metrics",
      protocol = "binary",
      headers = { Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY" }
    }}
    trace_exporter = { otlp-http = {
      endpoint = "https://dashboard.observagent.cloud/v1/traces",
      protocol = "binary",
      headers = { Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY" }
    }}
  3. Étape 3

    Redémarrer Codex et générer un événement

    Fermez les sessions Codex actives, démarrez-en une nouvelle et exécutez une tâche anodine dans un répertoire de test.

    • Le redémarrage est nécessaire pour que Codex recharge config.toml.
    • Utilisez un contenu de test non sensible et effectuez au moins une action d’outil simple.
    • La collecte démarre avec la nouvelle activité et ne réintègre pas les conversations précédentes.
    PowerShell
    codex
  4. Étape 4

    Vérifier la livraison

    Laissez le temps à l'exportation groupée, puis vérifiez séparément les journaux, métriques et traces Codex récents dans Observagent.

    • Recherchez des journaux comme codex.conversation_starts, des métriques comme codex.api_request, et des traces récentes.
    • L’événement codex.user_prompt peut rester visible même si son contenu brut est masqué.
    • Les champs et noms d’événements peuvent varier selon la version de Codex installée.
Téléchargements de configuration

Obtenir les fichiers d'intégration Codex

Téléchargez le modèle de configuration et le guide de mise en place depuis le dépôt GitHub public d'Observagent. Fusionnez le modèle dans votre configuration Codex au niveau utilisateur ; ne committez pas une configuration complétée contenant une vraie clé de projet.

Confidentialité des invites

Comprendre `log_user_prompt = false`

Conservez log_user_prompt = false pour exclure le texte brut des invites utilisateur des journaux Codex exportés. Codex peut toujours émettre un événement codex.user_prompt avec des métadonnées comme la longueur de l'invite. Le paramètre masque le contenu ; il ne supprime pas l'événement lui-même.

  • Les événements de résultat d'outil peuvent contenir des extraits de sortie même lorsque le contenu de l'invite utilisateur est masqué.
  • Pour ne supprimer que codex.user_prompt, acheminez les journaux via un OpenTelemetry Collector et filtrez cet événement avant l'export.
  • Définir exporter = "none" arrête toute la livraison d'événements Codex, pas seulement les événements d'invite.
  • Vérifiez les enregistrements exportés avant d'utiliser l'intégration avec des dépôts ou données sensibles.
Données envoyées

Vérifier la limite des événements Codex

  • Les métadonnées communes peuvent inclure le nom du service, la version de Codex, l'étiquette d'environnement, l'ID de conversation, le modèle et les paramètres de sandbox ou d'approbation.
  • Les événements de requête peuvent inclure la durée, le statut et les informations d'erreur.
  • Les événements d'outil peuvent inclure le nom de l'outil, la décision d'approbation, la durée, l'état de succès et un extrait de sortie.
  • Les événements de complétion pris en charge peuvent inclure des champs d'usage de jetons.
  • Le pipeline de métriques inclut des compteurs et des histogrammes de durée pour l'activité API, flux, WebSocket et outils prise en charge.
  • Les spans de trace fournissent le chronométrage et la corrélation pour les opérations d'exécution prises en charge ; les spans disponibles peuvent varier selon la version de Codex.
  • Ceci est de la télémétrie opérationnelle en direct, pas un import historique de conversation ni une transcription complète garantie.
Dépannage

Dépanner la livraison Codex

  • Aucun enregistrement : confirmez que Journaux, Métriques, Traces et la surveillance sont activés, vérifiez les trois points de terminaison et en-têtes de clé de projet, puis redémarrez complètement Codex.
  • TOML invalide : conservez une seule table [otel] et utilisez la forme en ligne actuelle exporter = { otlp-http = { ... }}.
  • 401 ou 403 : vérifiez la clé Bearer complète, sa permission telemetry:write, et le statut du projet sélectionné.
  • Le texte de l'invite apparaît : confirmez que log_user_prompt = false est dans le fichier de configuration actif et redémarrez le runtime.
  • Un seul signal arrive : vérifiez que chaque exportateur utilise son point de terminaison correspondant /v1/logs, /v1/metrics ou /v1/traces et la même clé de projet complète.
  • Aucune donnée de jetons : tous les événements ou transports d'exécution n'incluent pas de champs d'usage de jetons reconnus.
  • Les anciennes conversations sont manquantes : la télémétrie démarre avec la nouvelle activité après configuration et ne réintègre pas l'historique.
Arrêter la collecte

Arrêter l'export Codex futur

config.toml
[otel]
exporter = "none"
log_user_prompt = false

Réglez l'exportateur sur none et redémarrez Codex. Cela arrête la livraison future ; cela ne supprime pas la télémétrie déjà envoyée. Révoquez la clé de projet si elle a été exposée.