

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.

# Anwendungstelemetrie aufnehmen
<a name="observability-ingestion"></a>

Um die Observability-Funktionen in Amazon OpenSearch Service nutzen zu können, müssen Sie Anwendungs-Traces, Protokolle und Metriken aufnehmen. Auf dieser Seite wird die Konfiguration der OpenTelemetry Collector- und OpenSearch Ingestion-Pipelines zur Verarbeitung und Weiterleitung von Telemetriedaten an Amazon Managed Service for OpenSearch Prometheus beschrieben.

## OpenTelemetry Konfiguration des Collectors
<a name="observability-ingestion-otel"></a>

Der Collector OpenTelemetry (OTel) ist der Einstiegspunkt für die gesamte Anwendungstelemetrie. Es empfängt Daten über OTLP und leitet Traces und Logs an OpenSearch Ingestion weiter, während es Metriken an Prometheus sendet.

Sie können den OTel Collector mit einem der folgenden Ansätze konfigurieren:

Der OTel Collector exportiert mithilfe der SigV4-Authentifizierung Traces und Logs an einen OpenSearch Ingestion-Endpunkt und mithilfe des Prometheus Remote Write Exporter Metriken an Amazon Managed Service for Prometheus. OpenSearch Ingestion kümmert sich um die Verarbeitung, Anreicherung und Weiterleitung an. OpenSearch

### OTel Collector-Konfiguration mit Ingestion OpenSearch
<a name="observability-ingestion-otel-osis"></a>

Die folgende Beispielkonfiguration verwendet die SigV4-Authentifizierung, um Traces und Logs an einen OpenSearch Ingestion-Endpunkt und Metriken an Prometheus zu exportieren:

```
extensions:
  sigv4auth:
    region: us-west-2
    service: osis

exporters:
  otlphttp/osis-traces:
    traces_endpoint: ${OSIS_ENDPOINT}/v1/traces
    auth: { authenticator: sigv4auth }
    compression: none
  otlphttp/osis-logs:
    logs_endpoint: ${OSIS_ENDPOINT}/v1/logs
    auth: { authenticator: sigv4auth }
    compression: none
  # Amazon Managed Service for Prometheus via Prometheus Remote Write with SigV4 auth
  prometheusremotewrite/amp:
    endpoint: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write"
    auth:
      authenticator: sigv4auth

service:
  extensions: [sigv4auth]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/osis-traces]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/osis-logs]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [prometheusremotewrite/amp]
```

**Anmerkung**  
Der IAM-Principal, der Daten sendet, benötigt `osis:Ingest` und `aps:RemoteWrite` genehmigt den Pipeline-ARN.

## Konfiguration von OpenSearch Ingestion-Pipelines
<a name="observability-ingestion-pipelines"></a>

OpenSearch Ingestion (oder selbstverwalteter Data Prepper) empfängt Telemetriedaten vom OTel Collector und verarbeitet sie für die Überwachung der Anwendungsleistung (APM).

### Pipeline-Architektur
<a name="observability-ingestion-pipeline-arch"></a>

Die Pipeline verarbeitet Telemetriedaten in den folgenden Phasen:

1. Die Eingangspipeline empfängt alle Telemetriedaten und leitet Protokolle und Traces an separate Sub-Pipelines weiter.

1. Die Protokollpipeline schreibt Protokolldaten OpenSearch unter Verwendung des `log-analytics-plain` Indextyps.

1. Die Trace-Pipeline verteilt die Spans auf die Rohspeicher-Pipeline und die Service Map-Pipeline.

1. Die unbearbeiteten Trace-Pipeline-Prozesse erstrecken sich über den `otel_traces` Prozessor und speichern sie im `trace-analytics-plain-raw` Indextyp.

1. Die Service Map-Pipeline verwendet den `otel_apm_service_map` Prozessor, um Topologie- und RED-Metriken (Rate, Errors, Duration) zu generieren. Es schreibt per Fernschreiben zu OpenSearch und zu Prometheus.

### Pipeline-Konfiguration
<a name="observability-ingestion-pipeline-config"></a>

Das folgende Beispiel zeigt eine vollständige Pipeline-Konfiguration für OpenSearch Ingestion, die alle Arten von Beobachtbarkeitssignalen abdeckt — Logs, Traces und Metriken. Sie können alle Pipelines oder nur die Pipelines einbeziehen, die für Ihren Anwendungsfall relevant sind. Ersetzen Sie die *placeholder* Werte durch Ihre eigenen Informationen.

```
version: '2'

# Main OTLP pipeline - receives all telemetry and routes by signal type
otlp-pipeline:
  source:
    otlp:
      logs_path: '/pipeline-name/v1/logs'
      traces_path: '/pipeline-name/v1/traces'
      metrics_path: '/pipeline-name/v1/metrics'
  route:
    - logs: 'getEventType() == "LOG"'
    - traces: 'getEventType() == "TRACE"'
    - metrics: 'getEventType() == "METRIC"'
  processor: []
  sink:
    - pipeline:
        name: otel-logs-pipeline
        routes:
          - logs
    - pipeline:
        name: otel-traces-pipeline
        routes:
          - traces
    - pipeline:
        name: otel-metrics-pipeline
        routes:
          - metrics

# Log processing pipeline
otel-logs-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor:
    - copy_values:
        entries:
          - from_key: "time"
            to_key: "@timestamp"
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        index_type: log-analytics-plain
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

# Trace fan-out pipeline
otel-traces-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor: []
  sink:
    - pipeline:
        name: traces-raw-pipeline
        routes: []
    - pipeline:
        name: service-map-pipeline
        routes: []

# Raw trace storage pipeline
traces-raw-pipeline:
  source:
    pipeline:
      name: otel-traces-pipeline
  processor:
    - otel_traces:
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        index_type: trace-analytics-plain-raw
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

# Service map generation pipeline (APM)
service-map-pipeline:
  source:
    pipeline:
      name: otel-traces-pipeline
  processor:
    - otel_apm_service_map:
        group_by_attributes:
          - telemetry.sdk.language # Add any resource attribute to group by
        window_duration: 30s
  route:
    - otel_apm_service_map_route: 'getEventType() == "SERVICE_MAP"'
    - service_processed_metrics: 'getEventType() == "METRIC"'
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"
        routes:
          - otel_apm_service_map_route
        index_type: otel-v2-apm-service-map
    - prometheus:
        url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write'
        aws:
          region: 'region'
        routes:
          - service_processed_metrics

# Metrics processing pipeline
otel-metrics-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor:
    - otel_metrics:
  sink:
    - prometheus:
        url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write'
        aws:
          region: 'region'
```

## Die Einnahme wird überprüft
<a name="observability-ingestion-verify"></a>

Nachdem Sie den OTel Collector und die Pipelines konfiguriert haben, stellen Sie sicher, dass die Telemetriedaten korrekt übertragen werden.
+ ** OpenSearch Indizes überprüfen** — Stellen Sie sicher, dass die folgenden Indizes in Ihrer Domain vorhanden sind:`otel-v1-apm-span-*`, und. `otel-v2-apm-service-map` `logs-otel-v1-*`
+ **Prometheus-Ziele verifizieren** — Stellen Sie sicher, dass das Prometheus-Remote-Write-Ziel Metriken von der Service Map-Pipeline empfängt.
+ **In der OpenSearch Benutzeroberfläche verifizieren** — Navigieren Sie zu **Observability** und dann zu **Application Monitoring**, um zu überprüfen, ob Ihre Services angezeigt werden.

## Nächste Schritte
<a name="observability-ingestion-next"></a>

Nachdem Sie überprüft haben, ob Telemetriedaten aufgenommen wurden, sollten Sie sich mit den folgenden Themen befassen:
+ [Anwendungsüberwachung](observability-app-monitoring.md)— Überwachen Sie den Zustand von Anwendungen mithilfe von Service Maps und RED-Metriken.
+ [Spuren entdecken](observability-analyze-traces.md) — Entdecken und analysieren Sie verteilte Traces.
+ [Protokolle entdecken](observability-analyze-logs.md) — Anwendungsprotokolle entdecken und abfragen.
+ [Metriken entdecken](observability-metrics.md) — Entdecken und fragen Sie Prometheus-Metriken mit PromQL ab.