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 Kollektor
Der OpenTelemetry Collector ist ein herstellerunabhängiger Open-Source-Agent, der Telemetriedaten empfängt, verarbeitet und exportiert. Er fungiert als zentrale Pipeline zwischen Ihren Anwendungen und Amazon. Er sammelt Metriken CloudWatch, Protokolle und Traces aus mehreren Quellen und sendet sie an das CloudWatch Protokoll (OTLP). OpenTelemetry
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, bevor Sie sie an sie senden CloudWatch, einschließlich Hinzufügen oder Entfernen von Attributen, Stapeldaten und Sampling-Traces.
-
Verwenden Sie dieselbe Collector-Konfiguration in allen AWS, lokalen und anderen Cloud-Umgebungen und sorgen Sie so für eine konsistente Telemetriepipeline, unabhängig davon, wo Ihre Anwendungen ausgeführt werden.
-
Senden Sie Metriken CloudWatch mit umfangreichen Labels an, die mithilfe 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, die mit OpenTelemetry SDKs instrumentiert sind, oder Prometheus-Empfänger, um Metriken von vorhandenen Prometheus-Exporteuren zu entfernen. Zu den CloudWatch häufigsten Prometheus-Empfängern, die verwendet werden, gehören:
-
Prometheus-Empfänger zum Abtasten beliebiger Endpunkte Prometheus-compatible
-
Host-Metrik-Empfänger, zum Erfassen von Metriken auf Systemebene vom Host
-
Kubernetes Cluster-Empfänger, zum Erfassen von Metriken auf Clusterebene vom Kubernetes-API-Server
Sie können mehrere Empfänger in einem einzigen Collector konfigurieren, sodass Sie sowohl die Prometheus-Metriken als auch die Prometheus-Metriken sammeln OpenTelemetry und über dieselbe Pipeline an sie senden können. CloudWatch Die vollständige Liste der verfügbaren Empfänger finden Sie im OpenTelemetry Collector-Repository.
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 die AWS Anmeldeinformationen auf Ihrem Amazon EC2- oder lokalen Host. Der Collector verwendet diese Anmeldeinformationen, um sich CloudWatch beim Senden von Telemetriedaten zu authentifizieren. 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-on. 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 er Telemetrie an den Endpunkt sendet. CloudWatch Siehe Beispiele unten.
Authentifizieren Sie sich mit einem Inhaber-Token (API-Schlüssel)
Wenn Sie die AWS Anmeldeinformationen auf dem Host nicht konfigurieren müssen — wenn Sie beispielsweise auf einer anderen AWS Infrastruktur, anderen Cloud-Anbietern oder CI/CD Pipelines ausgeführt werden —, können Sie die Bearer-Token-Authentifizierung anstelle von SigV4 verwenden. Bearer-Token werden für die Metriken- und Logs-Endpunkte unterstützt (für jeden Dienst sind separate API-Schlüssel erforderlich). Die Bearer-Token-Authentifizierung wird für Traces nicht unterstützt.
Anweisungen zur Einrichtung finden Sie unterInhaber-Token-Authentifizierung für Metriken einrichten. Informationen zu Protokollen finden Sie unter Inhaber-Token-Authentifizierung für Protokolle https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints_BearerTokenAuth.html einrichten.
Ein Beispiel für eine Collector-Konfiguration mit Bearer-Token finden Sie im Beispiel für Bearer-Token-Metriken in den folgenden Collector-Konfigurationsbeispielen.
Beispiele für eine 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 mit einer Always_On-Sampling-Konfiguration, um Spannweiten von 100% zuverlässig aufzuzeichnen und mit Application Signals einen vollständigen Überblick über Ihre kritischen Anwendungen zu erhalten. CloudWatch Weitere Informationen finden Sie in einem Beispiel für eine OpenTelemetry Java-SDK-Sampler-Konfiguration.
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 mithilfe von 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]
Metriken mit Bearer-Token-Authentifizierung
Im Folgenden finden Sie ein Beispiel für das Senden von Metriken mithilfe eines Bearer-Tokens an us-east-1. Anweisungen zur Einrichtung und bewährte Sicherheitsmethoden finden Sie unter. Inhaber-Token-Authentifizierung für Metriken einrichten
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]
Wichtig
Codieren Sie API-Schlüssel niemals direkt in Collector-Konfigurationsdateien fest. Verwenden Sie diese Option, filename um aus einem bereitgestellten Geheimnis zu lesen, oder ${env:VAR} um aus einer Umgebungsvariablen zu lesen, die von Ihrem Secrets Manager injiziert wurde.
Anmerkung
Im Gegensatz zu SigV4 benötigen Bearer-Token keine AWS Anmeldeinformationsdateien, IAM-Rollen oder IRSA-Konfiguration. Der Collector kann auf jeder Plattform ohne SDK-Abhängigkeiten ausgeführt werden. AWS