Usando um pipeline OpenSearch de ingestão com OpenTelemetry o Collector - OpenSearch Serviço Amazon

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

Você pode usar o OpenTelemetry 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.

Pré-requisitos

Ao configurar o arquivo OpenTelemetry de configuração, 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.

  • 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 serosis.

  • 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

Depois de definir a configuração do OpenTelemetry coletor, defina a função do pipeline 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

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 rastreios:

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.

Conectividade entre contas

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.

Limitações

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 é padronizada para 10 MB.

CloudWatch Alarmes recomendados para fontes OpenTelemetry

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 taxa de transferência geral.

otel-pipeline.opensearch.bulkRequestInvalidInputErrors.count

Contagem de erros de solicitações em massa OpenSearch devido à entrada inválida, crucial para monitorar a qualidade dos dados e problemas operacionais.