Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Surveiller les événements de service
Service Events fournit une observabilité approfondie automatisée pour les services surveillés à CloudWatch l'aide de signaux d'application. Il capture les mesures d'erreur, les données de performances au niveau des fonctions, les instantanés des incidents (lorsque les demandes dépassent les seuils de latence ou génèrent des exceptions) et les événements de déploiement, sans modification de code supplémentaire.
Comment fonctionnent les événements de service
Service Events collecte les types de signaux suivants provenant de vos services instrumentés :
Métriques Per-exception-type d'erreurs : nombre et taux d'erreurs pour chaque opération, vous permettant d'identifier les exceptions les plus fréquentes et les plus tendances.
Function-call métriques : nombre d'invocations, durée et taux d'erreur pour les différentes fonctions du code de votre application.
Instantanés des incidents : captures détaillées déclenchées lorsqu'une demande dépasse un seuil de latence ou génère une exception, notamment les traces de pile, les arborescences d'appels, les détails de l'appelant et le contexte des opérations.
Événements de déploiement : marqueurs émis au démarrage de l'application et toutes les 24 heures qui mettent en corrélation les déploiements de code avec les changements de comportement des services. L'application émet automatiquement des événements de déploiement. La fourniture de métadonnées de déploiement (git commit, ID de déploiement) enrichit ces événements avec un contexte supplémentaire.
Les événements de service sont automatiquement activés lorsque vous activez les signaux CloudWatch d'application pour votre service. Les mesures d'erreur et le suivi des exceptions sont actifs immédiatement. Function-call les métriques nécessitent une configuration supplémentaire : vous devez configurer les packages à instrumenter avant que les données d'appel de fonction ne soient collectées (voirActiver l'instrumentation fonctionnelle). Les événements de service peuvent être désactivés par réglageOTEL_AWS_SERVICE_EVENTS_ENABLED=false. Les données circulent depuis le SDK ADOT vers l' CloudWatch agent. L'agent publie les événements dans les CloudWatch journaux (groupes de /aws/service-events/ journaux) et CloudWatch les métriques.service-name
Langages pris en charge : Java, Python et Node.js.
Note
Les événements de service sont automatiquement désactivés dans les environnements Lambda.
Stockage de données
Service Events stocke les données dans CloudWatch des journaux. CloudWatch publie les données des événements de service dans un groupe de journaux avec le préfixe/aws/application-signals/, où service-nameservice-name est la valeur de votre variable d'OTEL_SERVICE_NAMEenvironnement. Un groupe de journaux est créé par service.
L'ingestion et le stockage des journaux vous sont facturés aux tarifs standard CloudWatch des journaux.
Afficher les erreurs dans la console
Dans la CloudWatch console, accédez à Application Signals, choisissez votre service, puis choisissez l'onglet Erreurs. Cet onglet affiche les mesures relatives aux exceptions pour votre service.
L'onglet affiche :
Un graphique du nombre d'exceptions montrant l'évolution des erreurs au fil du temps. Utilisez-le pour détecter les types d'exceptions dont la fréquence a récemment changé.
Un tableau répertoriant chaque type d'exception, l'opération où elle s'est produite, le nombre d'occurrences et l'évolution par rapport à la période précédente.
Sélectionnez une exception pour accéder aux détails, notamment la trace de la pile, le message d'exception et un lien vers la trace associée.
Les erreurs sont regroupées par opération, type d'exception et cadres de la pile supérieure. Seul le représentant le plus récent de chaque groupe est indiqué.
Note
Pour afficher les données d'erreur, au moins un groupe de /aws/service-events/ journaux doit exister dans votre compte. S'il n'existe aucun groupe de journaux, l'onglet Erreurs affiche une invite d'intégration.service-name
Afficher les événements de service dans les journaux
Les données des événements de service sont stockées dans CloudWatch les journaux sous des groupes de journaux avec le préfixe/aws/service-events/. Vous pouvez interroger ces données directement à l'aide de CloudWatch Logs Insights pour créer des vues personnalisées, créer des tableaux de bord ou enquêter sur des incidents spécifiques.service-name
Pour interroger les événements de service :
Ouvrez la CloudWatch console et accédez à Logs Insights.
Sélectionnez le groupe de journaux
/aws/service-events/correspondant à votre service.service-nameEntrez une requête pour filtrer et analyser les données relatives aux événements de service.
Événements de service sur le serveur CloudWatch Application Signals MCP (Model Context Protocol)
Les données relatives aux événements de service sont accessibles via le serveur CloudWatch Application Signals MCP (Model Context Protocol), ce qui permet aux assistants de codage IA et aux agents d'interroger directement le comportement d'exécution de votre service.
Résolution des problèmes
Corrélez automatiquement les erreurs de votre code avec les instantanés des incidents de production, y compris les traces de l'ensemble de la pile et les points de terminaison concernés.
Utilisez le contexte de l'incident (types d'exceptions, chemins d'appel, ID de trace) pour suggérer des correctifs ciblés sans avoir à parcourir manuellement les tableaux de bord.
Récupérez les événements de déploiement pour déterminer si une version récente a introduit une régression.
Amélioration des performances
Interrogez les données de performance au niveau des fonctions pour identifier les goulots d'étranglement lors de l'étude des problèmes de latence.
Comparez les durées des appels de fonction entre les déploiements pour identifier les régressions de performances.
Pour les instructions de configuration et d'utilisation, consultez le serveur Application Signals MCP
Configuration des événements de service
Conditions préalables
Pour utiliser les événements de service, assurez-vous de disposer des versions minimales requises des composants suivants :
-
Mettez à jour le SDK ADOT — Mettez à jour le SDK d'instrumentation AWS Distro for OpenTelemetry (ADOT) vers la dernière version pour votre langage (Java, Python ou). Node.js
-
Mettez à jour le module complémentaire Amazon EKS (le cas échéant) : si vous utilisez le module complémentaire Amazon EKS CloudWatch Observability pour instrumenter vos applications, passez à la dernière version du module complémentaire.
-
Mettre à jour l' CloudWatch agent : passez à la version
1.300069.0ou à une version ultérieure de l' CloudWatchagent.
Si vous utilisez Amazon EKS, consultez les instructions Activation de vos applications sur des clusters Amazon EKS de configuration du module complémentaire.
Fonctionnalités activées par défaut
Si vous utilisez CloudWatch Application Signals, les signaux d'événements de service suivants sont activés par défaut et aucune configuration supplémentaire n'est requise :
Instantanés des incidents (déclenchés en cas d'exceptions et de dépassements du seuil de latence)
Métriques d'erreurs (nombre d'erreurs par type d'exception par opération)
Événements de déploiement (toujours émis ; enrichis lorsque vous fournissez des métadonnées de déploiement)
Instrumentation des fonctions (activée par défaut, mais ne produit aucune métrique tant que vous n'avez pas configuré les packages pour l'instrument)
Les fonctionnalités suivantes sont facultatives et nécessitent la définition de variables d'environnement pour produire des données :
Function-level métriques (configuration requise
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE)Filtrage personnalisé des terminaux
Per-endpoint seuils de latence
Paramètres généraux
| Variable d'environnement | Par défaut | Description |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_ENABLED |
Suit les signaux CloudWatch de l'application | Activez l'option Événements de service. Les événements de service sont automatiquement activés lorsque les signaux CloudWatch d'application sont activés. Définissez sur false pour désactiver explicitement. |
OTEL_AWS_SERVICE_EVENTS_SAMPLING_MODE |
always |
Contrôle la stratégie d'échantillonnage des données des appels de fonctions. Valeurs : always (enregistre tous les appels de fonction), auto (laisse le SDK décider en fonction de la charge), never (désactive l'enregistrement des appels de fonction). S'applique uniquement lorsque les packages d'instrumentation fonctionnelle sont configurés. |
Activer l'instrumentation fonctionnelle
L'instrumentation des fonctions est activée par défaut, mais elle ne produit aucune métrique tant que vous n'avez pas configuré les packages à instrumenter. Fournissez une liste d'autorisations de packages pour commencer à collecter la télémétrie par fonction :
| Variable d'environnement | Par défaut | Description |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_FUNCTION_INSTRUMENT_ENABLED |
true |
Active ou désactive l'instrumentation au niveau des fonctions. Réglez sur false pour le désactiver complètement. |
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE |
Aucun (obligatoire pour les métriques) | Comma-separated liste des préfixes de package pour l'instrument. Aucun joker n'est nécessaire. Par exemple : Java utilisecom.myapp, Python utilisemyapp, Node.js utilisesrc/myapp. |
OTEL_AWS_SERVICE_EVENTS_PACKAGES_EXCLUDE |
Aucune | Comma-separated liste des sous-packages à exclure de l'instrumentation. Exclure a toujours priorité sur inclure. Par exemple, incluez com.myapp et excluez com.myapp.models pour instrumenter le code de votre application, mais ignorez les classes de modèles de données. |
Filtrage des terminaux
Le filtrage des terminaux contrôle les terminaux qui génèrent des mesures d'erreur sur les terminaux et des instantanés des incidents. Ces paramètres n'ont aucune incidence sur l'instrumentation des fonctions.
| Variable d'environnement | Par défaut | Description |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_INCLUDE_PATTERNS |
Tous les points de terminaison | Comma-separated modèles globaux des paramètres à inclure. Matché contreMETHOD /route. |
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_EXCLUDE_PATTERNS |
Aucune | Comma-separated modèles globaux des paramètres à exclure. L'exclusion est prioritaire lorsqu'un point de terminaison correspond aux deux. |
Seuils de latence
Utilisez les variables d'environnement suivantes pour configurer les seuils de latence pour les déclencheurs d'instantanés d'incidents.
| Variable d'environnement | Par défaut | Description |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_DURATION_THRESHOLD_MS |
5000 |
Seuil de latence global en millisecondes. Les demandes dépassant cette durée déclenchent un instantané de l'incident. |
OTEL_AWS_SERVICE_EVENTS_LATENCY_THRESHOLDS |
Aucune | Per-endpoint des seuils de latence qui remplacent la valeur par défaut globale. Format : METHOD /route:ms (par exemple,GET /health:200,POST /checkout:8000). |
Limitation de débit
Utilisez les variables d'environnement suivantes pour contrôler la vitesse à laquelle les données relatives aux événements de service sont collectées et rapportées.
| Variable d'environnement | Par défaut | Description |
|---|---|---|
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_PER_MINUTE |
100 |
Nombre maximum d'instantanés d'incidents capturés par minute. |
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_SAME_ERROR |
1 |
Nombre maximum d'instantanés pour la même erreur par fenêtre de capture. |
Configuration des événements de déploiement
Les événements de déploiement sont toujours émis au démarrage de l'application et toutes les 24 heures. La fourniture de métadonnées de déploiement enrichit ces événements afin que vous puissiez corréler les incidents et les changements de performances avec des déploiements de code spécifiques.
Définissez les variables d'environnement suivantes sur les conteneurs ou les processus de votre application afin de fournir des métadonnées de déploiement :
| Variable d'environnement | Description |
|---|---|
OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA |
Git commit SHA du code déployé. |
OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL |
URL du dépôt Git. |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID |
Identifiant unique pour le déploiement (par exemple, un identifiant d'exécution du CI/CD pipeline). |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP |
Horodatage ISO 8601 du déploiement. |
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL |
URL de la version de déploiement ou de l'exécution du pipeline. |
Configurer les événements de déploiement avec GitHub Actions
Dans votre flux de travail GitHub Actions, utilisez les variables d'environnement intégrées pour renseigner les métadonnées de déploiement. Ajoutez les éléments suivants à votre étape de déploiement ou à votre environnement de conteneurs :
env: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: ${{ github.sha }} OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: ${{ github.server_url }}/${{ github.repository }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: ${{ github.run_id }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Si vous déployez des images de conteneur, transmettez ces valeurs en tant que variables d'environnement dans la définition de votre tâche ou dans la spécification de votre pod. Vous pouvez les intégrer à l'image au moment de la génération ou les injecter au moment du déploiement via votre configuration de déploiement.
Configurez les événements de déploiement avec GitLab CI/CD
Dans votre GitLab CI/CD pipeline, utilisez les CI/CD variables prédéfinies pour renseigner les métadonnées de déploiement. Ajoutez les éléments suivants à votre tâche de déploiement :
deploy: variables: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: $CI_COMMIT_SHA OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: $CI_PROJECT_URL OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: $CI_PIPELINE_ID OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: $CI_PIPELINE_URL
Transmettez ces variables à vos conteneurs d'applications au moment du déploiement via votre plateforme d'orchestration de conteneurs (par exemple, en tant que variables d'environnement dans votre définition de tâche Amazon ECS ou dans le manifeste de déploiement Kubernetes).