View a markdown version of this page

Utilisation d'un pipeline d' OpenSearch ingestion avec Amazon Managed Service pour Prometheus - 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.

Utilisation d'un pipeline d' OpenSearch ingestion avec Amazon Managed Service pour Prometheus

Vous pouvez utiliser Amazon Managed Service for Prometheus comme destination pour OpenSearch votre pipeline d'ingestion afin de stocker les métriques sous forme de séries chronologiques. Le récepteur Prometheus vous permet d' OpenTelemetry envoyer des métriques ou d'autres séries chronologiques de votre pipeline vers un espace de travail Amazon Managed Service for Prometheus à des fins de surveillance, d'alerte et d'analyse.

Le plugin prometheus sink permet aux pipelines d' OpenSearch ingestion d'écrire des données métriques dans les espaces de travail Amazon Managed Service for Prometheus à l'aide du protocole d'écriture à distance Prometheus. Cette intégration vous permet de :

  • Stockez les données métriques des séries chronologiques dans Amazon Managed Service pour Prometheus

  • Surveillez les métriques et émettez des alertes à l'aide d'Amazon Managed Service pour Prometheus et d'Amazon Managed Grafana

  • Acheminez les métriques vers plusieurs destinations simultanément (par exemple, OpenSearch et Amazon Managed Service pour Prometheus)

  • Traitez OpenTelemetry les métriques provenant d'agents externes ou générez des métriques dans le pipeline

Conditions préalables

Avant de configurer le récepteur Prometheus, assurez-vous que vous disposez des éléments suivants :

  • Espace de travail Amazon Managed Service for Prometheus : créez un espace de travail Compte AWS identique à celui de votre pipeline d' Région AWS OpenSearch ingestion. Pour obtenir des instructions, consultez la section Création d'un espace de travail dans le guide de l'utilisateur d'Amazon Managed Service for Prometheus.

  • Autorisations IAM : configurez un rôle IAM avec des autorisations pour écrire sur Amazon Managed Service for Prometheus. Pour de plus amples informations, veuillez consulter Étape 1 : configurer le rôle du pipeline.

Note

Les espaces de travail Amazon Managed Service for Prometheus doivent utiliser des clés gérées par le service. AWS AWS KMS Les AWS KMS clés gérées par le client ne sont actuellement pas prises en charge pour les éviers Amazon Managed Service for Prometheus dans les pipelines d'ingestion. OpenSearch

Étape 1 : configurer le rôle du pipeline

Le récepteur Prometheus hérite automatiquement des autorisations IAM du rôle de pipeline pour l'authentification. Aucune configuration de rôle supplémentaire n'est donc requise dans les paramètres sts_role_arn du récepteur.

L'exemple de politique suivant indique les autorisations requises pour utiliser Amazon Managed Service for Prometheus comme récepteur :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AMPRemoteWrite", "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id" } ] }

Remplacez les espaces réservés suivants :

  • region: Votre Région AWS (par exemple,us-east-1)

  • account-id: Votre Compte AWS identifiant

  • workspace-id: votre identifiant d'espace de travail Amazon Managed Service pour Prometheus

Vous devez associer ces autorisations à votre rôle de pipeline.

Assurez-vous que votre rôle dans le pipeline repose sur une relation de confiance qui permet OpenSearch à Ingestion de l'assumer :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Étape 2 : Création du pipeline

Après avoir défini vos autorisations, vous pouvez configurer un pipeline d' OpenSearch ingestion pour utiliser Amazon Managed Service for Prometheus comme récepteur.

Configuration de base

L'exemple suivant montre une configuration minimale du récepteur Prometheus :

version: "2" sink: - prometheus: url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" aws: region: "region"

Vous devez spécifier l'urloption dans la configuration du prometheus récepteur, à savoir le point de terminaison d'écriture à distance Amazon Managed Service for Prometheus. Pour formater l'URL, recherchez l'ID de votre espace de travail dans la console Amazon Managed Service for Prometheus et créez l'URL comme suit : https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write

Options de configuration

Utilisez les options suivantes pour configurer le comportement de traitement par lots et de rinçage pour le récepteur Prometheus :

Options de configuration de l'évier Prometheus
Option Obligatoire Type Description
max_events Non Entier Le nombre maximum d'événements à accumuler avant de passer à Prometheus. La valeur par défaut est 1000.
max_request_size Non Nombre d'octets Taille maximale de la charge utile de la demande avant le vidage. La valeur par défaut est 1mb.
flush_interval Non Duration Durée maximale d'attente avant les événements de rinçage. La valeur par défaut est 10s. La valeur maximale autorisée est60s.

Exemples de pipelines

Exemple 1 : OpenTelemetry statistiques relatives à Amazon Managed Service pour Prometheus

Ce pipeline reçoit OpenTelemetry les métriques d'un agent externe et les écrit sur Amazon Managed Service for Prometheus :

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Exemple 2 : double récepteur OpenSearch et Amazon Managed Service pour Prometheus

Ce pipeline achemine les métriques à la fois OpenSearch vers Amazon Managed Service pour Prometheus :

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - opensearch: hosts: - "https://search-domain-endpoint.us-east-1.es.amazonaws.com" index: "metrics-%{yyyy.MM.dd}" aws: region: "us-east-1" sts_role_arn: "arn:aws:iam::123456789012:role/OSI-Pipeline-Role" - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Exemple 3 : métriques avec filtrage

Ce pipeline filtre les métriques avant de les envoyer à Amazon Managed Service for Prometheus :

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel processor: - drop_events: drop_when: '/name != "http.server.duration" and /name != "http.client.duration"' sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Vous pouvez utiliser un plan Amazon Managed Service for Prometheus préconfiguré pour créer ces pipelines. Pour de plus amples informations, veuillez consulter Travailler avec des plans.

Création d'un pipeline avec Amazon Managed Service pour Prometheus sink

Utilisation de la AWS console

  1. Accédez à la console OpenSearch de service.

  2. Choisissez Pipelines sous Ingestion.

  3. Choisissez Créer un pipeline.

  4. Sélectionnez Créer à l'aide d'un plan et choisissez les OpenTelemetry indicateurs du plan Amazon Prometheus.

  5. Configurez le pipeline :

    • Entrez votre identifiant d'espace de travail Amazon Managed Service for Prometheus

    • Spécifiez l'ARN du rôle de pipeline

    • Configurer les paramètres de source et de processeur selon les besoins

  6. Vérifiez et créez le pipeline.

Utilisation de la AWS CLI

Créez un fichier de configuration de pipeline (par exemple,amp-pipeline.yaml) avec la configuration souhaitée, puis exécutez :

aws osis create-pipeline \ --pipeline-name my-amp-pipeline \ --min-units 2 \ --max-units 4 \ --pipeline-configuration-body file://amp-pipeline.yaml

En utilisant AWS CloudFormation

Resources: MyAMPPipeline: Type: AWS::OSIS::Pipeline Properties: PipelineName: my-amp-pipeline MinUnits: 2 MaxUnits: 4 PipelineConfigurationBody: | version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Surveillance et résolution des problèmes

CloudWatch métriques

Surveillez les performances de votre pipeline à l'aide de CloudWatch métriques :

  • DocumentsWritten: nombre de métriques écrites avec succès sur Amazon Managed Service pour Prometheus

  • DocumentsWriteFailed: nombre de métriques qui n'ont pas pu être écrites

  • RequestLatency: latence des demandes d'écriture à distance

Problèmes courants

Problème : Pipeline ne parvient pas à écrire dans Amazon Managed Service pour Prometheus

Solutions :

  • Vérifiez que l'ID de l'espace de travail et la région indiqués dans l'URL sont corrects

  • Assurez-vous que le rôle de pipeline est aps:RemoteWrite autorisé

  • Vérifiez que l'espace de travail utilise des clés gérées par les services AWS KMS

  • Vérifiez que le pipeline et l'espace de travail sont identiques Compte AWS

Problème : erreurs d'authentification

Solutions :

  • Vérifier que la relation de confiance permet osis-pipelines.amazonaws.com d'assumer le rôle de pipeline

  • Assurez-vous que le rôle de pipeline dispose de l'aps:RemoteWriteautorisation requise

Problème : latence ou étranglement élevés

Solutions :

  • Augmenter les unités de capacité du pipeline

  • Implémenter le traitement par lots dans le processeur

  • Consultez les quotas de service Amazon Managed Service pour Prometheus

Limitations

Tenez compte des limites suivantes lorsque vous configurez un pipeline d' OpenSearch ingestion pour Amazon Managed Service for Prometheus :

  • Les espaces de travail Amazon Managed Service for Prometheus doivent utiliser des clés gérées par le service. AWS AWS KMS Les AWS KMS clés gérées par le client ne sont actuellement pas prises en charge.

  • Le pipeline et l'espace de travail Amazon Managed Service for Prometheus doivent être identiques. Compte AWS

Bonnes pratiques

  • Utilisez le même rôle IAM : le récepteur Prometheus utilise automatiquement le rôle de pipeline. Si d'autres cuvettes sont utilisées, assurez-vous que leur rôle sts_role_arn est identique à celui du pipeline

  • Surveillez les métriques : configurez des CloudWatch alarmes en cas d'échec d'écriture et de latence élevée

  • Implémenter le filtrage : utilisez des processeurs pour filtrer les métriques inutiles avant de les envoyer à Amazon Managed Service for Prometheus

  • Capacité adaptée : commencez par une capacité minimale et adaptez votre capacité en fonction du volume des métriques

  • Utiliser des plans : utilisez des plans préconfigurés pour les cas d'utilisation courants