View a markdown version of this page

Verwenden einer OpenSearch Ingestion-Pipeline mit Collector OpenTelemetry - OpenSearch Amazon-Dienst

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.

Verwenden einer OpenSearch Ingestion-Pipeline mit Collector OpenTelemetry

Sie können den OpenTelemetry Collector verwenden, um Logs, Traces und Metriken in OpenSearch Ingestion-Pipelines aufzunehmen. Eine einzige Pipeline kann verwendet werden, um alle Logs, Traces und Metriken in verschiedene Indizes in einer Domain oder Sammlung aufzunehmen. Sie können Pipelines auch verwenden, um nur Protokolle, Traces oder Metriken einzeln zu erfassen.

Voraussetzungen

Beim Einrichten der OpenTelemetry Konfigurationsdatei müssen Sie Folgendes konfigurieren, damit die Aufnahme erfolgt:

  • Die Ingestion-Rolle benötigt die osis:Ingest Berechtigung, mit der Pipeline zu interagieren. Weitere Informationen finden Sie unter Ingestion-Rolle.

  • Der Endpunktwert muss Ihren Pipeline-Endpunkt enthalten. Beispiel: https://pipeline-endpoint.us-east-1.osis.amazonaws.com.

  • Der Servicewert muss lautenosis.

  • Die Komprimierungsoption für den OTLP/HTTP Exporter muss mit der Komprimierungsoption der ausgewählten Quelle der Pipeline übereinstimmen.

extensions: sigv4auth: region: "region" service: "osis" exporters: otlphttp: logs_endpoint: "https://pipeline-endpoint.us-east-1.osis.amazonaws.com/v1/logs" metrics_endpoint: "https://pipeline-endpoint.us-east-1.osis.amazonaws.com/v1/metrics" traces_endpoint: "https://pipeline-endpoint.us-east-1.osis.amazonaws.com/v1/traces" auth: authenticator: sigv4auth compression: none service: extensions: [sigv4auth] pipelines: traces: receivers: [jaeger] exporters: [otlphttp]

Schritt 1: Konfigurieren Sie die Pipeline-Rolle

Richten Sie nach dem Einrichten der OpenTelemetry Collector-Konfiguration die Pipeline-Rolle ein, die Sie in Ihrer Pipeline-Konfiguration verwenden möchten. Es gibt keine spezifischen Berechtigungen, die die Pipeline-Rolle für die OTLP-Quelle benötigt, sondern nur Berechtigungen, um Pipelines Zugriff auf die OpenSearch Domain oder Sammlung zu gewähren.

Schritt 2: Erstellen Sie die Pipeline

Sie können dann eine OpenSearch Ingestion-Pipeline wie die folgende konfigurieren, die OTLP als Quelle angibt. Sie können auch OpenTelemetry Protokolle, Metriken und Traces als einzelne Quellen konfigurieren.

Konfiguration der OTLP-Quellpipeline:

version: 2 otlp-pipeline: source: otlp: logs_path: /otlp-pipeline/v1/logs traces_path: /otlp-pipeline/v1/traces metrics_path: /otlp-pipeline/v1/metrics sink: - opensearch: hosts: ["https://search-mydomain.region.es.amazonaws.com"] index: "ss4o_metrics-otel-%{yyyy.MM.dd}" index_type: custom aws: region: "region"

OpenTelemetry Protokolliert die Pipeline-Konfiguration:

version: 2 otel-logs-pipeline: source: otel_logs_source: path: /otel-logs-pipeline/v1/logs sink: - opensearch: hosts: ["https://search-mydomain.region.es.amazonaws.com"] index: "ss4o_metrics-otel-%{yyyy.MM.dd}" index_type: custom aws: region: "region"

OpenTelemetry Konfiguration der Metrik-Pipeline:

version: 2 otel-metrics-pipeline: source: otel_metrics_source: path: /otel-metrics-pipeline/v1/metrics sink: - opensearch: hosts: ["https://search-mydomain.region.es.amazonaws.com"] index: "ss4o_metrics-otel-%{yyyy.MM.dd}" index_type: custom aws: region: "region"

OpenTelemetry Verfolgt die Pipeline-Konfiguration:

version: 2 otel-trace-pipeline: source: otel_trace_source: path: /otel-traces-pipeline/v1/traces sink: - opensearch: hosts: ["https://search-mydomain.region.es.amazonaws.com"] index: "ss4o_metrics-otel-%{yyyy.MM.dd}" index_type: custom aws: region: "region"

Sie können einen vorkonfigurierten Blueprint verwenden, um diese Pipeline zu erstellen. Weitere Informationen finden Sie unter Mit Blueprints arbeiten.

Cross-account Konnektivität

OpenSearch Pipelines mit OpenTelemetry Quellen können kontoübergreifend aufgenommen werden. Amazon OpenSearch Ingestion ermöglicht es Ihnen, Pipelines AWS-Konten von einer Virtual Private Cloud (VPC) bis zu einem Pipeline-Endpunkt in einer separaten VPC gemeinsam zu nutzen. Weitere Informationen finden Sie unter Konfiguration von OpenSearch Ingestion-Pipelines für die kontoübergreifende Erfassung.

Einschränkungen

Die OpenSearch Ingestion-Pipeline kann keine Anfragen empfangen, die größer als 20 MB sind. Dieser Wert wird vom Benutzer in der Option konfiguriert. max_request_length Diese Option ist standardmäßig auf 10 MB eingestellt.

Empfohlene CloudWatch Alarme für Quellen OpenTelemetry

Die folgenden CloudWatch Messwerte werden für die Überwachung der Leistung Ihrer Aufnahme-Pipeline empfohlen. Mithilfe dieser Metriken können Sie die Menge der bei Exporten verarbeiteten Daten, die Anzahl der aus Streams verarbeiteten Ereignisse, die Fehler bei der Verarbeitung von Exporten und Stream-Ereignissen sowie die Anzahl der an das Ziel geschriebenen Dokumente ermitteln. Sie können CloudWatch Alarme einrichten, um eine Aktion auszuführen, wenn eine dieser Metriken einen bestimmten Wert für einen bestimmten Zeitraum überschreitet.

Die CloudWatch Metriken für die OTLP-Quelle sind formatiert als. {pipeline-name}.otlp.{logs | traces | metrics}.{metric-name} Beispiel, otel-pipeline.otlp.metrics.requestTimeouts.count.

Bei Verwendung einer einzelnen OpenTelemetry Quelle werden die Metriken als formatiert. {pipeline-name}.{source-name}.{metric-name} Beispiel, trace-pipeline.otel_trace_source.requestTimeouts.count.

Alle drei OpenTelemetry Datentypen haben dieselben Metriken, aber der Kürze halber werden die Metriken in der folgenden Tabelle nur für Daten vom Typ OTLP-Quellprotokoll aufgeführt.

Metrik Description
otel-pipeline.BlockingBuffer.bufferUsage.value

Gibt an, wie viel Puffer genutzt wird.

otel-pipeline.otlp.logs.requestTimeouts.count

Die Anzahl der Anfragen, bei denen ein Timeout aufgetreten ist.

otel-pipeline.otlp.logs.requestsReceived.count

Die Anzahl der Anfragen, die der OpenTelemetry Collector erhalten hat.

otel-pipeline.otlp.logs.badRequests.count

Die Anzahl der falsch formatierten Anfragen, die der OpenTelemetry Collector erhalten hat.

otel-pipeline.otlp.logs.requestsTooLarge.count

Die Anzahl der vom Collector empfangenen Anfragen, die das Maximum von 20 MB überschreiten. OpenTelemetry

otel-pipeline.otlp.logs.internalServerError.count Die Anzahl der HTTP 500-Fehler, die vom OpenTelemetry Collector empfangen wurden.
otel-pipeline.opensearch.bulkBadRequestErrors.count Anzahl der Fehler bei Massenanfragen aufgrund einer falsch formatierten Anfrage.
otel-pipeline.opensearch.bulkRequestLatency.avg Durchschnittliche Latenz für Massenschreibanfragen an OpenSearch.
otel-pipeline.opensearch.bulkRequestNotFoundErrors.count Anzahl der Massenanfragen, die fehlgeschlagen sind, weil die Zieldaten nicht gefunden werden konnten.
otel-pipeline.opensearch.bulkRequestNumberOfRetries.count Anzahl der Wiederholungsversuche von OpenSearch Ingestion-Pipelines, Cluster zu schreiben. OpenSearch
otel-pipeline.opensearch.bulkRequestSizeBytes.sum Gesamtgröße aller Massenanfragen in Byte an. OpenSearch
otel-pipeline.opensearch.documentErrors.count Anzahl der Fehler beim Senden von Dokumenten an OpenSearch. Die Dokumente, die die Fehler verursacht haben, werden an DLQ gesendet.
otel-pipeline.opensearch.documentsSuccess.count Anzahl der Dokumente, die erfolgreich in einen OpenSearch Cluster oder eine Sammlung geschrieben wurden.
otel-pipeline.opensearch.documentsSuccessFirstAttempt.count Anzahl der Dokumente, die beim ersten Versuch erfolgreich indexiert wurden. OpenSearch

otel-pipeline.opensearch.documentsVersionConflictErrors.count

Anzahl der Fehler aufgrund von Versionskonflikten in Dokumenten während der Verarbeitung.

otel-pipeline.opensearch.PipelineLatency.avg

Durchschnittliche Latenz der OpenSearch Ingestion-Pipeline bei der Verarbeitung der Daten durch Lesen von der Quelle bis zum Schreiben an das Ziel.
otel-pipeline.opensearch.PipelineLatency.max Maximale Latenz der OpenSearch Ingestion-Pipeline zur Verarbeitung der Daten durch Lesen von der Quelle zum Schreiben auf das Ziel.
otel-pipeline.opensearch.recordsIn.count Anzahl der Datensätze, in die erfolgreich aufgenommen wurden. OpenSearch Diese Metrik ist wichtig, um das Datenvolumen zu verfolgen, das verarbeitet und gespeichert wird.
otel-pipeline.opensearch.s3.dlqS3RecordsFailed.count Anzahl der Datensätze, die nicht in DLQ geschrieben werden konnten.
otel-pipeline.opensearch.s3.dlqS3RecordsSuccess.count Anzahl der Datensätze, die in DLQ geschrieben wurden.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.count Anzahl der Latenzmessungen für Anfragen an die Amazon S3-Warteschlange für unzustellbare Nachrichten.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.sum Gesamtlatenz für alle Anfragen an die Amazon S3-Warteschlange für unzustellbare Nachrichten
otel-pipeline.opensearch.s3.dlqS3RequestSizeBytes.sum Gesamtgröße aller Anfragen, die an die Amazon S3-Warteschlange für unzustellbare Nachrichten gestellt wurden, in Byte.
otel-pipeline.recordsProcessed.count Gesamtzahl der in der Pipeline verarbeiteten Datensätze, eine wichtige Kennzahl für den Gesamtdurchsatz.

otel-pipeline.opensearch.bulkRequestInvalidInputErrors.count

Anzahl der OpenSearch aufgrund ungültiger Eingaben aufgetretenen Fehler bei Massenanfragen. Dies ist entscheidend für die Überwachung der Datenqualität und betrieblicher Probleme.