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à.
OpenTelemetry Collezionista
The OpenTelemetry Collector è un agente open source indipendente dal fornitore che riceve, elabora ed esporta dati di telemetria. Funziona come una pipeline centrale tra le tue applicazioni e Amazon CloudWatch, raccogliendo metriche, log e tracce da più fonti e inviandoli all' CloudWatch utilizzo del OpenTelemetry Protocollo (OTLP).
L'utilizzo di OpenTelemetry Collector offre i seguenti vantaggi: CloudWatch
-
Raccogli dati di telemetria da più applicazioni e host tramite un unico agente, riducendo il numero di connessioni a. CloudWatch
-
Elabora e filtra la telemetria prima di inviarla a CloudWatch, inclusa l'aggiunta o la rimozione di attributi, il raggruppamento dei dati e il campionamento delle tracce.
-
Utilizza la stessa configurazione del collettore in tutti gli ambienti cloud AWS, on-premise e in altri ambienti cloud, fornendo una pipeline di telemetria coerente indipendentemente da dove vengono eseguite le applicazioni.
-
Invia metriche a CloudWatch con etichette complete disponibili per l'interrogazione utilizzando il Prometheus Query Language (PromQL) in Query Studio. CloudWatch
Ricevitori supportati
The OpenTelemetry Collector supporta un'ampia gamma di ricevitori per l'acquisizione di dati di telemetria. Puoi utilizzare OpenTelemetry ricevitori come il ricevitore OTLP per applicazioni dotate di OpenTelemetry SDK o i ricevitori Prometheus per acquisire metriche dagli esportatori Prometheus esistenti. I ricevitori Prometheus più comuni utilizzati con includono: CloudWatch
-
Ricevitore Prometheus, per raschiare qualsiasi endpoint Prometheus-compatible
-
Ricevitore Host Metrics, per la raccolta di metriche a livello di sistema dall'host
-
Ricevitore Kubernetes Cluster, per la raccolta di metriche a livello di cluster dal server API Kubernetes
Puoi configurare più ricevitori in un unico raccoglitore, raccogliendo sia le metriche di Prometheus che quelle di OpenTelemetry Prometheus e inviarle tramite la stessa pipeline. CloudWatch Per l'elenco completo dei ricevitori disponibili, consulta il repository Collector. OpenTelemetry
Nozioni di base
Prerequisito: se utilizzi l'endpoint OTLP per il tracciamento, assicurati che Transaction Search sia abilitato.
Fasi:
-
Scarica l'ultima versione della distribuzione Collector. OpenTelemetry Per ulteriori informazioni, consulta le versioni di OpenTelemetry Collector.
-
Installa OpenTelemetry Collector sul tuo host. Il collector funziona su qualsiasi sistema operativo e piattaforma. Per ulteriori informazioni, consulta Install the Collector
. -
Configura AWS le credenziali sul tuo host Amazon EC2 o locale. Il raccoglitore utilizza queste credenziali per l'autenticazione durante l'invio di dati di telemetria. CloudWatch Vedi sotto per i dettagli.
-
Configura AWS le credenziali per i tuoi cluster Amazon EKS o Kubernetes. Il modo più semplice per iniziare a usare Amazon EKS è utilizzare il componente aggiuntivo EKS OTel Container Insights. Se preferisci utilizzare direttamente OpenTelemetry Collector, segui la procedura riportata di seguito per configurare le AWS credenziali per i cluster Amazon EKS o Kubernetes a cui inviare dati di telemetria. CloudWatch
-
Configura l'esportatore OTLP nella configurazione del collector per inviare telemetria all'endpoint. CloudWatch Fai riferimento agli esempi riportati di seguito.
Effettua l'autenticazione con un token al portatore (chiave API)
Se non è necessario configurare AWS le credenziali sull'host, ad esempio quando si esegue su AWS infrastrutture diverse, altri provider cloud o CI/CD pipeline, è possibile utilizzare l'autenticazione con token portatore anziché SigV4. I token Bearer sono supportati per gli endpoint delle metriche e dei log (sono necessarie chiavi API separate per ogni servizio). L'autenticazione con token Bearer non è supportata per le tracce.
Per le istruzioni di configurazione, vedereConfigurazione dell'autenticazione con token al portatore per Metrics. Per i registri, vedi Configurazione dell'autenticazione con token al portatore per i registri.
Per un esempio di configurazione del collettore che utilizza token bearer, consulta l'esempio di metrica del token bearer negli esempi di configurazione del collettore di seguito.
Esempi di configurazione del collettore
Copia e incolla il contenuto seguente per configurare il raccoglitore per l'invio di log e tracce agli endpoint OTLP.
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint:logs_otlp_endpointheaders: x-aws-log-group: ency_log_group x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint:traces_otlp_endpointauth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "region" service: "logs" sigv4auth/traces: region: "region" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]
Di seguito è riportato un esempio di invio di log e tracce utilizzando da sigv4 a us-east-1.
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint: https://logs.us-east-1.amazonaws.com/v1/logs headers: x-aws-log-group: MyApplicationLogs x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint: https://xray.us-east-1.amazonaws.com/v1/traces auth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "us-east-1" service: "logs" sigv4auth/traces: region: "us-east-1" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]
Nota
Configura i tuoi OpenTelemetry SDK in base alla configurazione always_on sampling per registrare in modo affidabile intervalli del 100% e ottenere la piena visibilità delle tue applicazioni critiche con Application Signals. CloudWatch Per ulteriori informazioni, consulta un esempio di configurazione del sampler Java SDK. OpenTelemetry
Copia e incolla il contenuto seguente per configurare il raccoglitore per l'invio di metriche agli endpoint OTLP.
receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint:metrics_otlp_endpointauth: authenticator: sigv4auth extensions: sigv4auth: service: "monitoring" region: "region" service: extensions: [sigv4auth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
Di seguito è riportato un esempio di invio di metriche utilizzando sigv4 a us-east-1.
receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics:443" auth: authenticator: sigv4auth extensions: sigv4auth: service: "monitoring" region: "us-east-1" service: extensions: [sigv4auth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
Metriche con autenticazione con token al portatore
Di seguito è riportato un esempio di invio di metriche utilizzando un token bearer a us-east-1. Per le istruzioni di configurazione e le migliori pratiche di sicurezza, consulta. Configurazione dell'autenticazione con token al portatore per Metrics
extensions: bearertokenauth: filename: "/etc/otel/cw-api-key" receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics" auth: authenticator: bearertokenauth service: extensions: [bearertokenauth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
Importante
Non codificare mai le chiavi API direttamente nei file di configurazione del collettore. filenameUtilizzatelo per leggere da un segreto montato o ${env:VAR} per leggere da una variabile di ambiente inserita dal vostro gestore dei segreti.
Nota
A differenza di SigV4, i token bearer non richiedono file di AWS credenziali, ruoli IAM o configurazione IRSA. Il raccoglitore può essere eseguito su qualsiasi piattaforma senza dipendenze SDK. AWS