

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ingerir telemetría de aplicaciones
<a name="observability-ingestion"></a>

Para utilizar las funciones de observabilidad de Amazon OpenSearch Service, debes ingerir las trazas, los registros y las métricas de las aplicaciones. En esta página se describe la configuración de las OpenTelemetry canalizaciones de OpenSearch recopilación e ingestión para procesar y enrutar los datos de telemetría a OpenSearch Amazon Managed Service for Prometheus.

## OpenTelemetry Configuración del recopilador
<a name="observability-ingestion-otel"></a>

El recopilador OpenTelemetry (OTel) es el punto de entrada para toda la telemetría de las aplicaciones. Recibe datos a través de OTLP y dirige las trazas y los registros a OpenSearch Ingestion mientras envía las métricas a Prometheus.

Puede configurar el OTel recopilador mediante uno de los siguientes enfoques:

El OTel recopilador exporta las trazas y los registros a un punto final de OpenSearch ingestión mediante la autenticación SigV4 y las métricas a Amazon Managed Service for Prometheus mediante el exportador de escritura remota de Prometheus. OpenSearch Ingestion gestiona el procesamiento, el enriquecimiento y el enrutamiento hacia. OpenSearch

### OTel Configuración del recopilador con Ingestión OpenSearch
<a name="observability-ingestion-otel-osis"></a>

El siguiente ejemplo de configuración utiliza la autenticación SigV4 para exportar las trazas y los registros a un punto final de OpenSearch ingestión y las métricas a Prometheus:

```
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]
```

**nota**  
El principal IAM que envía los datos necesita `osis:Ingest` y `aps:RemoteWrite` permiso en el ARN de la canalización.

## Configuración de las canalizaciones de ingestión OpenSearch
<a name="observability-ingestion-pipelines"></a>

OpenSearch Ingestion (o Data Prepper autogestionado) recibe la telemetría del OTel recopilador y la procesa para supervisar el rendimiento de las aplicaciones (APM).

### Arquitectura de canalización
<a name="observability-ingestion-pipeline-arch"></a>

La canalización procesa los datos de telemetría en las siguientes etapas:

1. La canalización de entrada recibe toda la telemetría y enruta los registros y rastreos a subcanalizaciones independientes.

1. La canalización de registro escribe los datos de registro OpenSearch utilizando el tipo de índice. `log-analytics-plain`

1. La canalización de rastreo distribuye los tramos entre la canalización de almacenamiento sin procesar y la canalización del mapa de servicios.

1. Los procesos de la canalización de rastreo sin procesar se extienden por el `otel_traces` procesador y los almacenan en el `trace-analytics-plain-raw` tipo de índice.

1. La canalización del mapa de servicios utiliza el `otel_apm_service_map` procesador para generar métricas de topología y RED (tasa, errores, duración). Escribe hacia OpenSearch y hacia Prometeo a través de la escritura remota.

### Configuración de canalización
<a name="observability-ingestion-pipeline-config"></a>

El siguiente ejemplo muestra una configuración de canalización completa para OpenSearch Ingestion que cubre todos los tipos de señales de observabilidad: registros, trazas y métricas. Puedes incluir todas las canalizaciones o solo las que sean relevantes para tu caso de uso. Sustituya los *placeholder* valores por su propia información.

```
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'
```

## Verificación de la ingestión
<a name="observability-ingestion-verify"></a>

Tras configurar el OTel recopilador y las canalizaciones, compruebe que los datos de telemetría fluyan correctamente.
+ **Verifique OpenSearch los índices**: confirme que existen los siguientes índices en su dominio:, y. `otel-v1-apm-span-*` `otel-v2-apm-service-map` `logs-otel-v1-*`
+ **Verificar los objetivos de Prometheus**: confirme que el objetivo de escritura remota de Prometheus recibe métricas de la canalización del mapa de servicio.
+ **Verifica en la OpenSearch interfaz de usuario**: dirígete a **Observabilidad** y, a continuación, a **Application Monitoring** para confirmar que aparecen tus servicios.

## Siguientes pasos
<a name="observability-ingestion-next"></a>

Tras comprobar que se han ingerido los datos de telemetría, explore los siguientes temas:
+ [Supervisión de aplicaciones](observability-app-monitoring.md)— Supervise el estado de las aplicaciones con mapas de servicio y métricas de RED.
+ [Descubra las trazas](observability-analyze-traces.md): descubra y analice las trazas distribuidas.
+ [Descubra los registros](observability-analyze-logs.md): descubra y consulte los registros de las aplicaciones.
+ [Descubra las métricas](observability-metrics.md): descubra y consulte las métricas de Prometheus con ProMQL.