For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /fr/docs/modules/observability.md (or send Accept: text/markdown).
Audit, analyses et erreurs
Comprenez l'activité avec le contexte d'espace et des données d'événement assainies.
Trouver des informations utiles lorsqu'une action échoue
L'observabilité signifie voir ce que votre application a fait. Commencez par le terminal exécutant votre serveur Web : répétez une action qui a échoué et lisez la première erreur et tout ID de corrélation, une étiquette reliant les messages de la même requête. Partagez la commande, l'heure et l'erreur nettoyée lorsque vous demandez de l'aide ; ne partagez pas de fichiers ou de jetons .env.
Pour les rapports d'erreurs hébergés, suivez Santé et opérations pour configurer les paramètres de surveillance pris en charge dans apps/web/.env.local ou dans le tableau de bord de l'environnement de l'hôte. Enregistrez et redémarrez le serveur. Déclenchez un échec de test contrôlé dans un environnement de test et confirmez qu'il apparaît avec le contexte d'espace de travail correct. La surveillance en cours de configuration ne prouve pas qu'elle a reçu un événement.
ALERT_WEBHOOK_URL est une destination HTTPS facultative pour les alertes d’échec de livraison de webhooks de tâches et de terminaux. Si vous en avez besoin, créez un point de terminaison entrant compatible et enregistrez son côté serveur URL ; sinon laissez-le vide. Demandez à un agent de simuler une panne et de confirmer exactement une alerte, sans aucun secret dans son texte. Ne déclenchez pas de travail rémunéré ou d'échecs dans les comptes clients pour ce test.
Conserver une piste d’audit de l’espace de travail
Les enregistrements d’audit capturent des changements tels que les mises à jour de configuration d’un fournisseur dans un espace de travail. Résolvez l’espace authentifié avant de lire ou d’écrire ces enregistrements et conservez cette portée dans les événements propres au produit.
Enregistrez l’action et les identifiants nécessaires pour la comprendre. Les identifiants fournisseurs et autres valeurs sensibles doivent rester hors des charges utiles d’audit et des journaux.
Enregistrer les événements produit
Le package d’observabilité expose un adaptateur AnalyticsClient et des valeurs AnalyticsEvent limitées à l’espace de travail. Chaque événement contient un nom, une identité distincte, workspaceId et des propriétés facultatives.
Utilisez createObservability pour router les événements vers le client d’analyse configuré. Les propriétés structurées sont expurgées avant envoi ; évitez aussi les textes libres sensibles dans les noms et valeurs de propriétés.
Signaler les erreurs avec un contexte sûr
ErrorClient capture les exceptions avec des balises workspaceId et un contexte structuré supplémentaire. La couche d’observabilité partagée nettoie les exceptions et expurge le contexte sensible avant de le transmettre au client configuré.
Utilisez les adaptateurs locaux pour vérifier les événements et exceptions capturés sans contacter un fournisseur de surveillance. Avant d’activer une destination externe, vérifiez que les balises d’espace de travail sont présentes et que les identifiants sont supprimés.
Suivre une requête dans les tâches, jobs et webhooks
Les frontières d’entrée génèrent un identifiant de corrélation corr_<uuid> qui relie la requête initiale au travail déclenché. La soumission d’une tâche d’IA ajoute cet identifiant au payload de la tâche et à l’événement ai_task_submitted, chaque récepteur de webhook de facturation en génère un par requête et le planificateur en génère un par job distribué.
Le même identifiant accompagne les propriétés des événements job.completed et ai_task_completed, les données supplémentaires de captureException, la charge utile du registre webhook_event et les métadonnées payload de chaque webhook_delivery ; il figure ainsi dans le corps signé reçu par un abonné. Les identifiants absents ou mal formés sont tolérés : le consommateur en génère un nouveau au lieu de rejeter les anciennes lignes.
Déclencher des alertes pour les vrais échecs
Définissez ALERT_WEBHOOK_URL sur un endpoint HTTPS acceptant un POST JSON de forme {text, name, severity, context} ; un webhook entrant de style Slack fonctionne tel quel. Les alertes partent sans bloquer, avec un délai de cinq secondes ; un échec de livraison ajoute un avertissement console, et l’alerteur ne fait rien si la variable est absente.
Les alertes fournies sont job.failed (avertissement : un gestionnaire de job a levé une erreur ou le type est inconnu) et webhook.delivery_failed (critique : uniquement après l’échec terminal d’une livraison sortante à sa dernière tentative ; les nouvelles tentatives ordinaires restent silencieuses et chaque ligne de livraison déclenche au plus une alerte).
Mesurer les durées et diffuser des journaux structurés
serverObservability.measure chronomètre une opération asynchrone et émet un événement d’analyse <name>.duration avec durationMs, en cas de succès comme d’échec, sans masquer l’erreur originale. L’exécution du job ai.task.execute est déjà instrumentée ; sa durée arrive donc dans le client d’analyse configuré.
serverObservability.logger écrit une ligne JSON par entrée sur stdout avec les champs de base environment et service ; la couche d’expurgation partagée retire les secrets avant toute émission.