Trace Analytics pour Amazon OpenSearch Service - Amazon OpenSearch Service

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.

Trace Analytics pour Amazon OpenSearch Service

Vous pouvez utiliser Trace Analytics, qui fait partie du plugin OpenSearch Observability, pour analyser les données de trace provenant d'applications distribuées. Trace Analytics nécessite OpenSearch Elasticsearch 7.9 ou version ultérieure.

Dans une application distribuée, une seule opération, telle qu'un utilisateur cliquant sur un bouton, peut déclencher une série étendue d'événements. Par exemple, le frontend de l'application peut appeler un service backend, qui appelle un autre service, qui interroge une base de données, qui traite la requête et renvoie un résultat. Ensuite, le premier service backend envoie une confirmation au frontend, qui met à jour l'interface utilisateur.

Vous pouvez utiliser Trace Analytics pour mieux visualiser ce flux d'événements et identifier les problèmes de performances.

Note

Cette documentation fournit un bref aperçu de Trace Analytics. Pour une documentation complète, consultez Trace Analytics dans la OpenSearch documentation open source.

Trace analytics dashboard showing time spent by service and span detail for various operations.

Prérequis

Trace Analytics vous oblige à ajouter de l'instrumentation à votre application et à générer des données de trace à l'aide d'une bibliothèque OpenTelemetry compatible telle que Jaeger ou Zipkin. Cette étape s'effectue entièrement en dehors du OpenSearch Service. La AWS distribution pour la OpenTelemetry documentation contient des exemples d'applications pour de nombreux langages de programmation qui peuvent vous aider à démarrer, notamment Java, Python, Go et JavaScript.

Une fois que vous avez ajouté de l'instrumentation à votre application, le OpenTelemetrycollecteur reçoit les données de l'application et les formate en OpenTelemetry données. Consultez la liste des récepteurs sur GitHub. AWS Distro for OpenTelemetry inclut un récepteur pour AWS X-Ray.

Enfin, vous pouvez utiliser OpenSearch Ingestion d'Amazon pour formater ces OpenTelemetry données pour les utiliser avec OpenSearch.

OpenTelemetry Exemple de configuration du collecteur

Pour utiliser le OpenTelemetry collecteur avec OpenSearch Ingestion d'Amazon, essayez l'exemple de configuration suivant :

extensions: sigv4auth: region: "us-east-1" service: "osis" receivers: jaeger: protocols: grpc: exporters: otlphttp: traces_endpoint: "https://pipeline-endpoint.us-east-1.osis.amazonaws.com/opentelemetry.proto.collector.trace.v1.TraceService/Export" auth: authenticator: sigv4auth compression: none service: extensions: [sigv4auth] pipelines: traces: receivers: [jaeger] exporters: [otlphttp]

OpenSearch Configuration de l'échantillon d'ingestion

Pour envoyer des données de suivi vers un domaine OpenSearch de service, essayez l'exemple de configuration de pipeline d' OpenSearch ingestion suivant. Pour obtenir des instructions sur la création d'un pipeline, consultezCréation de pipelines OpenSearch Amazon Ingestion.

version: "2" otel-trace-pipeline: source: otel_trace_source: "/${pipelineName}/ingest" processor: - trace_peer_forwarder: sink: - pipeline: name: "trace_pipeline" - pipeline: name: "service_map_pipeline" trace-pipeline: source: pipeline: name: "otel-trace-pipeline" processor: - otel_traces: sink: - opensearch: hosts: ["https://domain-endpoint"] index_type: trace-analytics-raw aws: # IAM role that OpenSearch Ingestion assumes to access the domain sink sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1" service-map-pipeline: source: pipeline: name: "otel-trace-pipeline" processor: - service_map: sink: - opensearch: hosts: ["https://domain-endpoint"] index_type: trace-analytics-service-map aws: # IAM role that the pipeline assumes to access the domain sink sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1"

Le rôle de pipeline que vous spécifiez dans l'sts_role_arnoption doit disposer d'autorisations d'écriture sur le récepteur. Pour obtenir des instructions sur la configuration des autorisations pour le rôle de pipeline, consultezConfiguration des rôles et des utilisateurs dans Amazon OpenSearch Ingestion.

Exploration des données de suivi

La vue Tableau de bord regroupe les traces par méthode HTTP et chemin d'accès pour vous permettre de voir la latence moyenne, le taux d'erreurs et les tendances associées à une opération particulière. Pour une vue plus ciblée, essayez de filtrer par nom de groupe de trace.

Dashboard showing latency metrics for HTTP GET /dispatch trace group with 717.58 ms average latency.

Pour explorer les traces qui composent un groupe de traces, choisissez le nombre de traces dans la colonne de droite. Choisissez ensuite une trace individuelle pour obtenir un résumé détaillé.

La vue Services répertorie tous les services de l'application, ainsi qu'une carte interactive qui montre comment les différents services se connectent les uns aux autres. Contrairement au tableau de bord (qui permet d'identifier les problèmes par opération), la carte de service vous aide à identifier les problèmes par service. Essayez de trier par taux d'erreurs ou latence afin d'identifier les possibles zones problématiques de votre application.

Services dashboard showing performance metrics for 6 microservices, including latency and error rates.