

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á.

# Usando um pipeline OpenSearch de ingestão com OpenTelemetry o Collector
<a name="configure-client-otel"></a>

Você pode usar o [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) para ingerir registros, rastreamentos e métricas nos pipelines de OpenSearch ingestão. Um único pipeline pode ser usado para ingerir todos os registros, rastreamentos e métricas de diferentes índices em um domínio ou coleção. Você também pode usar pipelines para ingerir somente registros, rastreamentos ou métricas individualmente. 

**Topics**
+ [Pré-requisitos](#otel-prereqs)
+ [Etapa 1: configurar a função do pipeline](#otel-pipeline-role)
+ [Etapa 2: Criar o pipeline](#create-otel-pipeline)
+ [Conectividade entre contas](#x-account-connectivity)
+ [Limitações](#otel-limitations)
+ [CloudWatch Alarmes recomendados para fontes OpenTelemetry](#otel-pipeline-metrics)

## Pré-requisitos
<a name="otel-prereqs"></a>

Ao configurar o [arquivo OpenTelemetry de configuração](https://opentelemetry.io/docs/collector/configuration/), você deve configurar o seguinte para que a ingestão ocorra: 
+ A função de ingestão precisa da `osis:Ingest` permissão para interagir com o pipeline. Para obter mais informações, consulte [Função de ingestão](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline-security-overview.html#pipeline-security-same-account). 
+ O valor do endpoint deve incluir o endpoint do pipeline. Por exemplo, `https://pipeline-endpoint.us-east-1.osis.amazonaws.com.`.
+ O valor do serviço deve ser`osis`.
+ A opção de compactação do OTLP/HTTP exportador deve corresponder à opção de compactação na fonte selecionada do pipeline.

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

## Etapa 1: configurar a função do pipeline
<a name="otel-pipeline-role"></a>

 Depois de definir a configuração do OpenTelemetry coletor, [defina a função do pipeline](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline-security-overview.html#pipeline-security-sink) que você deseja usar na configuração do pipeline. Não há permissões específicas que a função do pipeline precise para a fonte OTLP, apenas permissões para conceder aos pipelines acesso ao OpenSearch domínio ou à coleção. 

## Etapa 2: Criar o pipeline
<a name="create-otel-pipeline"></a>

 Em seguida, você pode configurar um pipeline OpenSearch de ingestão como o seguinte, que especifica o OTLP como a origem. Você também pode configurar OpenTelemetry registros, métricas e rastreamentos como fontes individuais. 

Configuração do pipeline de origem OTLP:

```
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 Configuração do pipeline de registros:

```
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 Configuração do pipeline de métricas:

```
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 Configuração do pipeline de rastreamento:

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

É possível usar um esquema pré-configurado para criar esse pipeline. Para obter mais informações, consulte [Trabalhar com esquemas](pipeline-blueprint.md). 

## Conectividade entre contas
<a name="x-account-connectivity"></a>

 OpenSearch Os pipelines de ingestão com OpenTelemetry fontes têm capacidade de ingestão entre contas. O Amazon OpenSearch Ingestion permite que você compartilhe pipelines entre Contas da AWS uma nuvem privada virtual (VPC) e um endpoint de pipeline em uma VPC separada. Para obter mais informações, consulte [Configurando pipelines OpenSearch de ingestão para ingestão entre contas](cross-account-pipelines.md). 

## Limitações
<a name="otel-limitations"></a>

 O pipeline OpenSearch de ingestão não pode receber solicitações maiores que 20 MB. Esse valor é configurado pelo usuário na `max_request_length` opção. Essa opção tem como padrão 10 MB. 

## CloudWatch Alarmes recomendados para fontes OpenTelemetry
<a name="otel-pipeline-metrics"></a>

 As CloudWatch métricas a seguir são recomendadas para monitorar o desempenho do seu pipeline de ingestão. Essas métricas podem ajudar você a identificar a quantidade de dados processados nas exportações, a quantidade de eventos processados nos fluxos, os erros no processamento de exportações e eventos de fluxo e o número de documentos gravados no destino. Você pode configurar CloudWatch alarmes para realizar uma ação quando uma dessas métricas exceder um valor especificado por um determinado período de tempo. 

 As CloudWatch métricas da fonte OTLP são formatadas como. `{pipeline-name}.otlp.{logs | traces | metrics}.{metric-name}` Por exemplo, .`otel-pipeline.otlp.metrics.requestTimeouts.count` 

 No caso de usar uma OpenTelemetry fonte individual, as métricas serão formatadas como`{pipeline-name}.{source-name}.{metric-name}`. Por exemplo, .`trace-pipeline.otel_trace_source.requestTimeouts.count` 

Todos os três tipos de OpenTelemetry dados terão as mesmas métricas, mas, para resumir, as métricas só serão listadas na tabela abaixo para dados do tipo de log de origem OTLP.


| Métrica | Description | 
| --- |--- |
| otel-pipeline.BlockingBuffer.bufferUsage.value |  Indica quanto do buffer está sendo utilizado.  | 
|  otel-pipeline.otlp.logs.requestTimeouts.count  |  O número de solicitações que atingiram o tempo limite.  | 
|  otel-pipeline.otlp.logs.requestsReceived.count  |  O número de solicitações recebidas pelo OpenTelemetry Coletor.  | 
|  otel-pipeline.otlp.logs.badRequests.count  |  O número de solicitações malformadas recebidas pelo OpenTelemetry Coletor.  | 
|  otel-pipeline.otlp.logs.requestsTooLarge.count  |  O número de solicitações maior que o máximo de 20 MB recebidas pelo OpenTelemetry Coletor.  | 
|  otel-pipeline.otlp.logs.internalServerError.count  | O número de erros HTTP 500 recebidos do OpenTelemetry Collector. | 
|  otel-pipeline.opensearch.bulkBadRequestErrors.count  | Contagem de erros durante solicitações em massa devido a uma solicitação malformada. | 
|  otel-pipeline.opensearch.bulkRequestLatency.avg  | Latência média para solicitações de gravação em massa feitas para OpenSearch. | 
|  otel-pipeline.opensearch.bulkRequestNotFoundErrors.count  | Número de solicitações em massa que falharam porque os dados de destino não puderam ser encontrados. | 
|  otel-pipeline.opensearch.bulkRequestNumberOfRetries.count  | Número de novas tentativas por pipelines OpenSearch de ingestão para gravar o cluster. OpenSearch | 
|  otel-pipeline.opensearch.bulkRequestSizeBytes.sum  | Tamanho total em bytes de todas as solicitações em massa feitas para OpenSearch. | 
|  otel-pipeline.opensearch.documentErrors.count  | Número de erros ao enviar documentos para OpenSearch. Os documentos que causam os erros serão enviados para a DLQ. | 
|  otel-pipeline.opensearch.documentsSuccess.count  | Número de documentos gravados com sucesso em um OpenSearch cluster ou coleção. | 
|  otel-pipeline.opensearch.documentsSuccessFirstAttempt.count  | Número de documentos indexados com sucesso OpenSearch na primeira tentativa. | 
|  `otel-pipeline.opensearch.documentsVersionConflictErrors.count`  | Contagem de erros devido a conflitos de versão em documentos durante o processamento. | 
|  `otel-pipeline.opensearch.PipelineLatency.avg`  | Latência média do pipeline de OpenSearch ingestão para processar os dados lendo da origem até a gravação no destino. | 
|  otel-pipeline.opensearch.PipelineLatency.max  | Latência máxima do pipeline de OpenSearch ingestão para processar os dados lendo da origem até a gravação no destino. | 
|  otel-pipeline.opensearch.recordsIn.count  | Contagem de registros ingeridos com sucesso. OpenSearch Essa métrica é essencial para rastrear o volume de dados sendo processados e armazenados. | 
|  otel-pipeline.opensearch.s3.dlqS3RecordsFailed.count  | Número de registros que falharam na gravação na DLQ. | 
|  otel-pipeline.opensearch.s3.dlqS3RecordsSuccess.count  | Número de registros gravados no DLQ. | 
|  otel-pipeline.opensearch.s3.dlqS3RequestLatency.count  | Contagem de medidas de latência para solicitações à fila de mensagens mortas do Amazon S3. | 
|  otel-pipeline.opensearch.s3.dlqS3RequestLatency.sum  | Latência total para todas as solicitações para a fila de mensagens mortas do Amazon S3 | 
|  otel-pipeline.opensearch.s3.dlqS3RequestSizeBytes.sum  | Tamanho total em bytes de todas as solicitações feitas na fila de mensagens mortas do Amazon S3. | 
|  otel-pipeline.recordsProcessed.count  | Número total de registros processados no pipeline, uma métrica fundamental para a produtividade geral. | 
|  `otel-pipeline.opensearch.bulkRequestInvalidInputErrors.count`  | Contagem de erros de solicitação em massa OpenSearch devido à entrada inválida, crucial para monitorar a qualidade dos dados e problemas operacionais. | 