

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Ingestão de telemetria de aplicativos
<a name="observability-ingestion"></a>

Para usar os recursos de observabilidade no Amazon OpenSearch Service, você precisa ingerir rastreamentos, registros e métricas do aplicativo. Esta página aborda a configuração dos pipelines de OpenTelemetry coleta e OpenSearch ingestão para processar e rotear dados de telemetria para o Amazon Managed Service for OpenSearch Prometheus.

## Configurando o coletor OpenTelemetry
<a name="observability-ingestion-otel"></a>

O coletor OpenTelemetry (OTel) é o ponto de entrada para toda a telemetria de aplicativos. Ele recebe dados por meio do OTLP e encaminha rastreamentos e registros para o OpenSearch Ingestion enquanto envia métricas para o Prometheus.

Você pode configurar o OTel Collector usando uma das seguintes abordagens:

O OTel Collector exporta rastreamentos e registros para um endpoint de OpenSearch ingestão usando a autenticação SigV4 e métricas para o Amazon Managed Service for Prometheus usando o exportador de gravação remota Prometheus. OpenSearch A ingestão lida com processamento, enriquecimento e roteamento para. OpenSearch

### OTel Configuração do coletor com ingestão OpenSearch
<a name="observability-ingestion-otel-osis"></a>

O exemplo de configuração a seguir usa a autenticação SigV4 para exportar rastreamentos e registros para um endpoint de OpenSearch ingestão e métricas para o 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**  
O principal do IAM está enviando dados, necessidades `osis:Ingest` e `aps:RemoteWrite` permissões no ARN do pipeline.

## Configurando pipelines de OpenSearch ingestão
<a name="observability-ingestion-pipelines"></a>

OpenSearch A ingestão (ou preparador de dados autogerenciado) recebe telemetria do OTel Collector e a processa para monitoramento de desempenho de aplicativos (APM).

### Arquitetura de pipeline
<a name="observability-ingestion-pipeline-arch"></a>

O pipeline processa dados de telemetria nos seguintes estágios:

1. O pipeline de entrada recebe toda a telemetria e encaminha os registros e rastreamentos para subpipelines separados.

1. O pipeline de registros grava dados de registro OpenSearch usando o tipo de `log-analytics-plain` índice.

1. O pipeline de rastreamento distribui extensões para o pipeline de armazenamento bruto e o pipeline do mapa de serviços.

1. O pipeline de rastreamento bruto processa extensões com o `otel_traces` processador e as armazena no tipo de `trace-analytics-plain-raw` índice.

1. O pipeline do mapa de serviços usa o `otel_apm_service_map` processador para gerar topologia e métricas RED (Taxa, Erros, Duração). Ele grava para OpenSearch e para Prometheus por meio de gravação remota.

### Configuração do pipeline
<a name="observability-ingestion-pipeline-config"></a>

O exemplo a seguir mostra uma configuração completa do pipeline para OpenSearch ingestão que abrange todos os tipos de sinais de observabilidade — registros, rastreamentos e métricas. Você pode incluir todos os pipelines ou somente os relevantes ao seu caso de uso. Substitua *placeholder* os valores por suas próprias informações.

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

## Verificando a ingestão
<a name="observability-ingestion-verify"></a>

Depois de configurar o OTel coletor e os pipelines, verifique se os dados de telemetria estão fluindo corretamente.
+ **Verificar OpenSearch índices** — Confirme se os seguintes índices existem em seu domínio: `otel-v1-apm-span-*``otel-v2-apm-service-map`, e. `logs-otel-v1-*`
+ **Verifique as metas do Prometheus** — Confirme se o destino de gravação remota do Prometheus está recebendo métricas do pipeline do mapa de serviços.
+ **Verifique na OpenSearch interface do usuário** — navegue até **Observabilidade** e, em seguida, **Monitoramento de aplicativos** para confirmar se seus serviços aparecem.

## Próximas etapas
<a name="observability-ingestion-next"></a>

Depois de verificar se os dados de telemetria foram ingeridos, explore os seguintes tópicos:
+ [Monitoramento de aplicações](observability-app-monitoring.md)— monitore a integridade do aplicativo com mapas de serviços e métricas RED.
+ [Descubra rastros](observability-analyze-traces.md) — Descubra e analise rastreamentos distribuídos.
+ [Descubra registros](observability-analyze-logs.md) — Descubra e consulte registros de aplicativos.
+ [Descubra métricas](observability-metrics.md) — Descubra e consulte as métricas do Prometheus usando o PromQL.