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 einer Domain oder Sammlung aufzunehmen. Sie können Pipelines auch verwenden, um nur Protokolle, Traces oder Metriken einzeln aufzunehmen.

Voraussetzungen

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

  • Die Aufnahmerolle benötigt die osis:Ingest Erlaubnis, mit der Pipeline zu interagieren. Weitere Informationen finden Sie unter Rolle „Aufnahme“.

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

  • Der Dienstwert muss seinosis.

  • Die Komprimierungsoption für den OTLP/HTTP Exporter muss mit der Komprimierungsoption für die ausgewählte 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

Nachdem Sie die OpenTelemetry Collector-Konfiguration eingerichtet haben, richten Sie 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 Domäne oder Sammlung zu gewähren.

Schritt 2: Erstellen Sie die Pipeline

Anschließend können Sie eine OpenSearch Ingestion-Pipeline wie die folgende konfigurieren, in der OTLP als Quelle angegeben ist. Sie können OpenTelemetry Logs, Metriken und Traces auch 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.

Kontoübergreifende Konnektivität

OpenSearch Datenerfassungspipelines 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 mit mehr als 20 MB empfangen. 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 Datenerfassungspipeline empfohlen. Mithilfe dieser Metriken können Sie die Menge der im Rahmen von Exporten verarbeiteten Daten, die Anzahl der aus Streams verarbeiteten Ereignisse, die Fehler bei der Verarbeitung von Exporten und Stream-Ereignissen sowie die Anzahl der Dokumente, die an das Ziel geschrieben wurden, ermitteln. Sie können CloudWatch Alarme einrichten, um eine Aktion auszuführen, wenn eine dieser Metriken für einen bestimmten Zeitraum einen bestimmten Wert ü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.

Im Fall der 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 das Zeitlimit überschritten wurde.

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 Anfragen, die über dem Maximum von 20 MB liegt, die der Collector erhalten hat. 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 bei Massen-Schreibanfragen 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 Wiederholungen von OpenSearch Ingestion-Pipelines, den 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 hin zum Schreiben in das Ziel.
otel-pipeline.opensearch.PipelineLatency.max Maximale Latenz der OpenSearch Ingestion-Pipeline zur Verarbeitung der Daten vom Lesen von der Quelle bis zum Schreiben des Ziels.
otel-pipeline.opensearch.recordsIn.count Anzahl der Datensätze, in die erfolgreich aufgenommen wurden. OpenSearch Diese Metrik ist wichtig, um die Menge der verarbeiteten und gespeicherten Daten zu verfolgen.
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 S3-Warteschlange für unzustellbare Briefe.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.sum Gesamtlatenz für alle Anfragen an die Amazon S3 S3-Warteschlange für unzustellbare Briefe
otel-pipeline.opensearch.s3.dlqS3RequestSizeBytes.sum Gesamtgröße aller Anfragen in Byte, die an die Amazon S3-Warteschlange für unzustellbare Briefe gestellt wurden.
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 Fehler bei Massenanfragen, die auf ungültige Eingaben OpenSearch zurückzuführen sind, was für die Überwachung der Datenqualität und für betriebliche Probleme von entscheidender Bedeutung ist.