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à.
Acquisizione della telemetria delle applicazioni
Per utilizzare le funzionalità di osservabilità in Amazon OpenSearch Service, devi importare tracce, log e metriche delle applicazioni. Questa pagina descrive la configurazione delle pipeline OpenTelemetry Collector e OpenSearch Ingestion per elaborare e instradare i dati di telemetria verso Amazon Managed Service for Prometheus. OpenSearch
OpenTelemetry Configurazione del Collector
Il OpenTelemetry (OTel) Collector è il punto di ingresso per tutta la telemetria delle applicazioni. Riceve dati tramite OTLP e indirizza le tracce e i log verso OpenSearch Ingestion mentre invia le metriche a Prometheus.
È possibile configurare Collector utilizzando uno dei seguenti approcci: OTel
OTel Collector esporta tracce e log su un endpoint OpenSearch Ingestion utilizzando l'autenticazione SigV4 e i parametri su Amazon Managed Service for Prometheus utilizzando l'esportatore di scrittura remoto Prometheus. OpenSearch Ingestion gestisce l' OpenSearchelaborazione, l'arricchimento e il routing verso.
OTel Configurazione del collettore con Ingestion OpenSearch
La seguente configurazione di esempio utilizza l'autenticazione SigV4 per esportare tracce e log su un endpoint OpenSearch Ingestion e le metriche su Prometheus:
extensions: sigv4auth: region:us-west-2service: osis exporters: otlphttp/osis-traces: traces_endpoint: ${OSIS_ENDPOINT}/v1/traces auth: { authenticator: sigv4auth } compression: none otlphttp/osis-logs: logs_endpoint: ${OSIS_ENDPOINT}/v1/logs auth: { authenticator: sigv4auth } compression: none # Amazon Managed Service for Prometheus via Prometheus Remote Write with SigV4 auth prometheusremotewrite/amp: endpoint: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" auth: authenticator: sigv4auth service: extensions: [sigv4auth] pipelines: traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/osis-traces] logs: receivers: [otlp] processors: [batch] exporters: [otlphttp/osis-logs] metrics: receivers: [otlp] processors: [batch] exporters: [prometheusremotewrite/amp]
Nota
Il principale IAM che invia i dati richiede l'aps:RemoteWriteautorizzazione osis:Ingest e l'autorizzazione sull'ARN della pipeline.
Configurazione delle pipeline OpenSearch di ingestione
OpenSearch Ingestion (o Data Prepper autogestito) riceve la telemetria dal Collector e la elabora per il OTel monitoraggio delle prestazioni delle applicazioni (APM).
Architettura della pipeline
La pipeline elabora i dati di telemetria nelle seguenti fasi:
-
La pipeline di ingresso riceve tutta la telemetria e indirizza i registri e le tracce verso sotto-pipeline separate.
-
La pipeline di log scrive i dati di registro utilizzando il tipo di indice. OpenSearch
log-analytics-plain -
La pipeline di traccia distribuisce gli intervalli alla pipeline di archiviazione raw e alla pipeline della mappa dei servizi.
-
La pipeline di traccia non elaborata elabora i dati relativi al
otel_tracesprocessore e li memorizza nel tipo di indice.trace-analytics-plain-raw -
La pipeline delle mappe dei servizi utilizza il
otel_apm_service_mapprocessore per generare la topologia e le metriche RED (Rate, Errors, Duration). Scrive da OpenSearch e verso Prometheus tramite scrittura remota.
Configurazione della pipeline
L'esempio seguente mostra una configurazione completa della pipeline per OpenSearch Ingestion che copre tutti i tipi di segnali di osservabilità: log, tracce e metriche. Puoi includere tutte le pipeline o solo quelle pertinenti al tuo caso d'uso. Sostituisci i placeholder valori con le tue informazioni.
version: '2' # Main OTLP pipeline - receives all telemetry and routes by signal type otlp-pipeline: source: otlp: logs_path: '/pipeline-name/v1/logs' traces_path: '/pipeline-name/v1/traces' metrics_path: '/pipeline-name/v1/metrics' route: - logs: 'getEventType() == "LOG"' - traces: 'getEventType() == "TRACE"' - metrics: 'getEventType() == "METRIC"' processor: [] sink: - pipeline: name: otel-logs-pipeline routes: - logs - pipeline: name: otel-traces-pipeline routes: - traces - pipeline: name: otel-metrics-pipeline routes: - metrics # Log processing pipeline otel-logs-pipeline: source: pipeline: name: otlp-pipeline processor: - copy_values: entries: - from_key: "time" to_key: "@timestamp" sink: - opensearch: hosts: - 'https://opensearch-endpoint' index_type: log-analytics-plain aws: serverless: false region: 'region' sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role" # Trace fan-out pipeline otel-traces-pipeline: source: pipeline: name: otlp-pipeline processor: [] sink: - pipeline: name: traces-raw-pipeline routes: [] - pipeline: name: service-map-pipeline routes: [] # Raw trace storage pipeline traces-raw-pipeline: source: pipeline: name: otel-traces-pipeline processor: - otel_traces: sink: - opensearch: hosts: - 'https://opensearch-endpoint' index_type: trace-analytics-plain-raw aws: serverless: false region: 'region' sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role" # Service map generation pipeline (APM) service-map-pipeline: source: pipeline: name: otel-traces-pipeline processor: - otel_apm_service_map: group_by_attributes: - telemetry.sdk.language # Add any resource attribute to group by window_duration: 30s route: - otel_apm_service_map_route: 'getEventType() == "SERVICE_MAP"' - service_processed_metrics: 'getEventType() == "METRIC"' sink: - opensearch: hosts: - 'https://opensearch-endpoint' aws: serverless: false region: 'region' sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role" routes: - otel_apm_service_map_route index_type: otel-v2-apm-service-map - prometheus: url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write' aws: region: 'region' routes: - service_processed_metrics # Metrics processing pipeline otel-metrics-pipeline: source: pipeline: name: otlp-pipeline processor: - otel_metrics: sink: - prometheus: url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write' aws: region: 'region'
Verifica dell'ingestione
Dopo aver configurato OTel Collector e le pipeline, verifica che i dati di telemetria scorrano correttamente.
-
Verifica OpenSearch gli indici: verifica che nel tuo dominio siano presenti i seguenti indici:, e.
otel-v1-apm-span-*otel-v2-apm-service-maplogs-otel-v1-* -
Verifica degli obiettivi Prometheus: verifica che il target di scrittura remoto Prometheus riceva le metriche dalla pipeline della mappa dei servizi.
-
Verifica nell' OpenSearch interfaccia utente: accedi a Observability, quindi Application Monitoring per confermare che i tuoi servizi vengano visualizzati.
Fasi successive
Dopo aver verificato che i dati di telemetria siano stati acquisiti, esplora i seguenti argomenti:
-
Monitoraggio dell'applicazione— Monitora lo stato delle applicazioni con mappe dei servizi e metriche RED.
-
Scopri le tracce: scopri e analizza le tracce distribuite.
-
Scopri i log: scopri e interroga i log delle applicazioni.
-
Scopri le metriche: scopri e interroga le metriche di Prometheus utilizzando PromQL.