Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di una pipeline OpenSearch di ingestione con Amazon Managed Service for Prometheus
Puoi utilizzare Amazon Managed Service for Prometheus come destinazione per la OpenSearch tua pipeline di Ingestion per archiviare le metriche in formato serie temporale. Il sink Prometheus ti consente di OpenTelemetry inviare metriche o altre serie temporali dalla tua pipeline a un'area di lavoro di Amazon Managed Service for Prometheus per il monitoraggio, gli avvisi e l'analisi.
Il plug-in prometheus sink consente alle pipeline di OpenSearch Ingestion di scrivere dati metrici negli spazi di lavoro di Amazon Managed Service for Prometheus utilizzando il protocollo di scrittura remota Prometheus. Questa integrazione ti consente di:
-
Archivia i dati delle metriche delle serie temporali in Amazon Managed Service for Prometheus
-
Monitora e invia avvisi sui parametri utilizzando Amazon Managed Service for Prometheus e Amazon Managed Grafana
-
Indirizza le metriche verso più destinazioni contemporaneamente (ad esempio, OpenSearch e Amazon Managed Service for Prometheus)
-
Elabora le OpenTelemetry metriche degli agenti esterni o genera metriche all'interno della pipeline
Argomenti
Prerequisiti
Prima di configurare il lavabo Prometheus, assicurati di avere quanto segue:
-
Amazon Managed Service for Prometheus Workspace: crea uno spazio di lavoro nella stessa pipeline di Ingestion. Account AWS Regione AWS OpenSearch Per istruzioni, consulta Creazione di uno spazio di lavoro nella Guida per l'utente di Amazon Managed Service for Prometheus.
-
Autorizzazioni IAM: configura un ruolo IAM con autorizzazioni per scrivere su Amazon Managed Service for Prometheus. Per ulteriori informazioni, consulta Passaggio 1: configura il ruolo della pipeline.
Nota
Le aree di lavoro Amazon Managed Service for Prometheus devono utilizzare chiavi gestite dal servizio. AWS AWS KMS Le AWS KMS chiavi gestite dai clienti non sono attualmente supportate per i sink Amazon Managed Service for Prometheus nelle pipeline di ingestione. OpenSearch
Passaggio 1: configura il ruolo della pipeline
Il sink Prometheus eredita automaticamente le autorizzazioni IAM del ruolo pipeline per l'autenticazione, quindi non è richiesta alcuna configurazione aggiuntiva del ruolo (sts_role_arncome) nelle impostazioni del sink.
La seguente policy di esempio mostra le autorizzazioni richieste per l'utilizzo di Amazon Managed Service for Prometheus come sink:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AMPRemoteWrite", "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id" } ] }
Sostituire i seguenti segnaposto:
-
: La tua Regione AWS (ad esempio,)regionus-east-1 -
: Il tuo Account AWS IDaccount-id -
: il tuo ID dell'area di lavoro Amazon Managed Service per Prometheusworkspace-id
Devi associare queste autorizzazioni al tuo ruolo di pipeline.
Assicurati che il tuo ruolo nella pipeline abbia un rapporto di fiducia che consenta a OpenSearch Ingestion di assumerlo:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Fase 2: Creare la pipeline
Dopo aver impostato le autorizzazioni, puoi configurare una pipeline di OpenSearch Ingestion per utilizzare Amazon Managed Service for Prometheus come sink.
Configurazione di base
L'esempio seguente mostra una configurazione minima del sink Prometheus:
version: "2" sink: - prometheus: url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" aws: region: "region"
È necessario specificare l'urlopzione all'interno della configurazione prometheus sink, che è l'endpoint di scrittura remota Amazon Managed Service for Prometheus. Per formattare l'URL, individua l'ID del tuo spazio di lavoro nella console Amazon Managed Service for Prometheus e costruisci l'URL come segue:. https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write
Opzioni di configurazione
Utilizza le seguenti opzioni per configurare il comportamento di batching e flushing per il sink Prometheus:
| Opzione | Richiesto | Tipo | Description |
|---|---|---|---|
max_events |
No | Numero intero | Il numero massimo di eventi da accumulare prima di passare a Prometheus. Il valore predefinito è “1000”. |
max_request_size |
No | Numero di byte | La dimensione massima del payload della richiesta prima del flushing. Il valore predefinito è “1mb”. |
flush_interval |
No | Durata | Il tempo massimo di attesa prima degli eventi di flushing. Il valore predefinito è “10s”. Il valore massimo consentito è. 60s |
Pipeline di esempio
Esempio 1: OpenTelemetry metriche relative ad Amazon Managed Service for Prometheus
Questa pipeline riceve i OpenTelemetry parametri da un agente esterno e li scrive su 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"
Esempio 2: doppio lavabo OpenSearch e Amazon Managed Service per Prometheus
Questa pipeline indirizza le metriche sia ad OpenSearch Amazon Managed Service for Prometheus che ad Amazon:
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"
Esempio 3: metriche con filtro
Questa pipeline filtra le metriche prima di inviarle ad 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"
Puoi utilizzare un blueprint Amazon Managed Service for Prometheus preconfigurato per creare queste pipeline. Per ulteriori informazioni, consulta Lavorare con i progetti.
Creazione di una pipeline con Amazon Managed Service for Prometheus sink
AWS Utilizzo della console
-
Vai alla console OpenSearch di servizio.
-
Scegli Pipelines in Ingestion.
-
Scegliere Create pipeline (Crea pipeline).
-
Seleziona Crea usando blueprint e scegli i OpenTelemetry parametri per il blueprint Amazon Prometheus.
-
Configura la pipeline:
-
Inserisci il tuo ID dello spazio di lavoro Amazon Managed Service for Prometheus
-
Specificare il ruolo della pipeline (ARN)
-
Configura le impostazioni di origine e processore in base alle esigenze
-
-
Rivedi e crea la pipeline.
Utilizzo della AWS CLI
Crea un file di configurazione della pipeline (ad esempio,amp-pipeline.yaml) con la configurazione desiderata, quindi esegui:
aws osis create-pipeline \ --pipeline-name my-amp-pipeline \ --min-units 2 \ --max-units 4 \ --pipeline-configuration-body file://amp-pipeline.yaml
Usando 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"
Monitoraggio e risoluzione dei problemi
CloudWatch metriche
Monitora le prestazioni della tua pipeline utilizzando CloudWatch le metriche:
-
DocumentsWritten: Numero di metriche scritte correttamente in Amazon Managed Service for Prometheus -
DocumentsWriteFailed: numero di metriche che non è stato possibile scrivere -
RequestLatency: Latenza delle richieste di scrittura remote
Problemi comuni
Problema: Pipeline non riesce a scrivere su Amazon Managed Service for Prometheus
Soluzioni:
-
Verifica che l'ID dell'area di lavoro e la regione nell'URL siano corretti
-
Assicurati che il ruolo della pipeline sia autorizzato
aps:RemoteWrite -
Verifica che l'area di lavoro utilizzi chiavi gestite dal servizio AWS KMS
-
Verifica che la pipeline e l'area di lavoro siano uguali Account AWS
Problema: errori di autenticazione
Soluzioni:
-
Verifica che la relazione di fiducia
osis-pipelines.amazonaws.comconsenta di assumere il ruolo di pipeline -
Assicurati che il ruolo della pipeline disponga dell'autorizzazione richiesta
aps:RemoteWrite
Problema: latenza o limitazione elevate
Soluzioni:
-
Aumentare la capacità delle unità della pipeline
-
Implementa il batching nel processore
-
Consulta le quote dei servizi Amazon Managed Service per Prometheus
Limitazioni
Considera le seguenti limitazioni quando configuri una pipeline di OpenSearch ingestione per Amazon Managed Service for Prometheus:
-
Le aree di lavoro Amazon Managed Service for Prometheus devono utilizzare chiavi gestite dal servizio. AWS AWS KMS Le chiavi gestite dal cliente AWS KMS non sono attualmente supportate.
-
La pipeline e l'area di lavoro di Amazon Managed Service for Prometheus devono coincidere. Account AWS
Best practice
-
Usa lo stesso ruolo IAM: il sink Prometheus utilizza automaticamente il ruolo pipeline. Se vengono utilizzati altri sink, assicurati che
sts_role_arnsia lo stesso ruolo della pipeline -
Monitora le metriche: imposta CloudWatch allarmi per scritture non riuscite e latenza elevata
-
Implementazione del filtraggio: utilizza i processori per filtrare le metriche non necessarie prima di inviarle ad Amazon Managed Service for Prometheus
-
Capacità della giusta dimensione: inizia con la capacità minima e la scalabilità in base al volume delle metriche
-
Usa i blueprint: sfrutta i blueprint preconfigurati per i casi d'uso più comuni