Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
OpenTelemetry Sammler
Der OpenTelemetry Collector ist ein herstellerunabhängiger Open-Source-Agent, der Telemetriedaten empfängt, verarbeitet und exportiert. Es fungiert als zentrale Pipeline zwischen Ihren Anwendungen und Amazon CloudWatch, sammelt Metriken, Protokolle und Traces aus mehreren Quellen und sendet sie CloudWatch über das OpenTelemetry Protokoll (OTLP) an.
Die Verwendung des OpenTelemetry Collectors mit CloudWatch bietet die folgenden Vorteile:
-
Erfassen Sie Telemetriedaten von mehreren Anwendungen und Hosts über einen einzigen Agenten und reduzieren Sie so die Anzahl der Verbindungen zu CloudWatch.
-
Verarbeiten und filtern Sie Telemetriedaten vor dem Senden an CloudWatch, einschließlich des Hinzufügens oder Entfernens von Attributen, der Stapelverarbeitung von Daten und der Stichprobenverfolgung.
-
Verwenden Sie in AWS allen lokalen und anderen Cloud-Umgebungen dieselbe Collector-Konfiguration und sorgen Sie so für eine konsistente Telemetrie-Pipeline, unabhängig davon, wo Ihre Anwendungen ausgeführt werden.
-
Senden Sie Metriken CloudWatch mit umfangreichen Labels an, die mit der Prometheus Query Language (PromQL) in Query Studio abgefragt werden können. CloudWatch
Unterstützte Empfänger
Der OpenTelemetry Collector unterstützt eine Vielzahl von Empfängern für die Aufnahme von Telemetriedaten. Sie können OpenTelemetry Empfänger wie den OTLP-Empfänger für Anwendungen verwenden, mit denen instrumentiert wird OpenTelemetry SDKs, oder Prometheus-Empfänger, um Metriken aus vorhandenen Prometheus-Exportern zu extrahieren. Zu den häufig verwendeten Prometheus-Empfängern gehören: CloudWatch
-
Prometheus-Empfänger, zum Scraping aller Prometheus-kompatiblen Endgeräte
-
Empfänger für Host-Metriken, zum Sammeln von Metriken auf Systemebene vom Host
-
Kubernetes-Cluster-Empfänger, zum Sammeln von Metriken auf Clusterebene vom Kubernetes-API-Server
Sie können mehrere Empfänger in einem einzigen Collector konfigurieren, sodass Sie sowohl OpenTelemetry Metriken als auch Prometheus-Metriken sammeln und CloudWatch über dieselbe Pipeline an sie senden können. Die vollständige Liste der verfügbaren Empfänger finden Sie im Collector-Repository. OpenTelemetry
Erste Schritte
Voraussetzung — Wenn Sie den OTLP-Endpunkt für die Ablaufverfolgung verwenden, stellen Sie sicher, dass die Transaktionssuche aktiviert ist.
Schritte:
-
Laden Sie die neueste Version der OpenTelemetry Collector-Distribution herunter. Weitere Informationen finden Sie in den OpenTelemetry Collector-Versionen
. -
Installieren Sie den OpenTelemetry Collector auf Ihrem Host. Der Collector läuft auf jedem Betriebssystem und jeder Plattform. Weitere Informationen finden Sie unter Installieren des Kollektors
. -
Konfigurieren Sie AWS Anmeldeinformationen auf Ihrem Amazon EC2- oder lokalen Host. Der Collector verwendet diese Anmeldeinformationen zur Authentifizierung CloudWatch beim Senden von Telemetriedaten. Einzelheiten finden Sie weiter unten.
-
Richten Sie AWS Anmeldeinformationen für Ihre Amazon EKS- oder Kubernetes-Cluster ein. Der einfachste Weg, mit Amazon EKS zu beginnen, ist die Verwendung des EKS OTel Container Insights-Add-ons. Wenn Sie den OpenTelemetry Collector lieber direkt verwenden möchten, gehen Sie wie folgt vor, um AWS Anmeldeinformationen für Ihre Amazon EKS- oder Kubernetes-Cluster einzurichten, an die Telemetrie gesendet werden soll. CloudWatch
-
Konfigurieren Sie den OTLP-Exporter in Ihrer Collector-Konfiguration so, dass Telemetrie an den Endpunkt gesendet wird. CloudWatch Siehe Beispiele unten.
Beispiele für die Collector-Konfiguration
Kopieren Sie den folgenden Inhalt und fügen Sie ihn ein, um Ihren Kollektor so zu konfigurieren, dass er Protokolle und Ablaufverfolgungen an die OTLP-Endpunkte sendet.
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]
Das Folgende ist ein Beispiel für das Senden von Protokollen und Ablaufverfolgungen mit sigv4 an 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]
Anmerkung
Konfigurieren Sie Ihre OpenTelemetry SDKs Sampling-Konfiguration auf Always_on, um Messbereiche zuverlässig zu 100% aufzuzeichnen und mit CloudWatch Application Signals einen vollständigen Einblick in Ihre kritischen Anwendungen zu erhalten. Weitere Informationen finden Sie in einem Beispielkonfigurationsbeispiel für ein OpenTelemetry Java SDK
Kopieren Sie den folgenden Inhalt und fügen Sie ihn ein, um Ihren Collector so zu konfigurieren, dass er Metriken an die OTLP-Endpunkte sendet.
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]
Das Folgende ist ein Beispiel für das Senden von Metriken mit Sigv4 an 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]