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
Rubriques
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 :
-
: Votre Région AWS (par exemple,regionus-east-1) -
: Votre Compte AWS identifiantaccount-id -
: votre identifiant d'espace de travail Amazon Managed Service pour Prometheusworkspace-id
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 :
| 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
-
Accédez à la console OpenSearch de service.
-
Choisissez Pipelines sous Ingestion.
-
Choisissez Créer un pipeline.
-
Sélectionnez Créer à l'aide d'un plan et choisissez les OpenTelemetry indicateurs du plan Amazon Prometheus.
-
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
-
-
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:RemoteWriteautorisé -
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.rproxy.govskope.usd'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_arnest 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