View a markdown version of this page

Uso de una canalización OpenSearch de ingestión con Collector OpenTelemetry - OpenSearch Servicio Amazon

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.

Uso de una canalización OpenSearch de ingestión con Collector OpenTelemetry

Puedes usar el OpenTelemetry recopilador para incorporar registros, seguimientos y métricas en las canalizaciones OpenSearch de ingesta. Se puede usar una sola canalización para incorporar todos los registros, rastreos y métricas a diferentes índices de un dominio o colección. También puedes usar canalizaciones para ingerir solo registros, rastreos o métricas de forma individual.

Requisitos previos

Al configurar el archivo OpenTelemetry de configuración, debes configurar lo siguiente para que se produzca la ingestión:

  • La función de ingesta necesita el osis:Ingest permiso para interactuar con la canalización. Para obtener más información, consulte Función de ingestión.

  • El valor del punto final debe incluir el punto final de la canalización. Por ejemplo, https://pipeline-endpoint.us-east-1.osis.amazonaws.com.

  • El valor del servicio debe serosis.

  • La opción de compresión del OTLP/HTTP exportador debe coincidir con la opción de compresión de la fuente seleccionada de la canalización.

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]

Paso 1: configurar el rol de canalización

Tras configurar la configuración del OpenTelemetry recopilador, configura el rol de canalización que deseas usar en la configuración de tu canalización. La función de canalización no necesita permisos específicos para la fuente OTLP, solo permisos para conceder a las canalizaciones acceso al OpenSearch dominio o la colección.

Paso 2: crear la canalización

A continuación, puedes configurar una canalización OpenSearch de ingesta como la siguiente, en la que se especifica OTLP como fuente. También puedes configurar OpenTelemetry los registros, las métricas y los seguimientos como fuentes individuales.

Configuración de la canalización de origen 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 Registra la configuración de la canalización:

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 Configuración de la canalización 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 Configuración de Traces Pipeline:

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"

Puede utilizar un esquema preconfigurado para crear esta canalización. Para obtener más información, consulte Uso de esquemas.

Cross-account Conectividad

OpenSearch Los canales de ingestión con OpenTelemetry fuentes tienen la capacidad de ingestión entre cuentas. Amazon OpenSearch Ingestion le permite compartir canalizaciones Cuentas de AWS desde una nube privada virtual (VPC) hasta un punto final de canalización en una VPC independiente. Para obtener más información, consulte Configuración de canalizaciones OpenSearch de ingestión para la ingestión entre cuentas.

Limitaciones

La canalización OpenSearch de ingestión no puede recibir solicitudes de más de 20 MB. Este valor lo configura el usuario en la max_request_length opción. El valor predeterminado de esta opción es 10 MB.

CloudWatch Alarmas recomendadas para las fuentes OpenTelemetry

Se recomiendan las siguientes CloudWatch métricas para supervisar el rendimiento de su canalización de ingestión. Estas métricas pueden ayudarle a identificar la cantidad de datos procesados a partir de exportaciones y flujos, los errores al procesar eventos de transmisión y exportación y la cantidad de documentos escritos en el destino. Puedes configurar CloudWatch alarmas para que realicen una acción cuando una de estas métricas supere un valor específico durante un período de tiempo específico.

Las CloudWatch métricas de la fuente OTLP tienen el formato siguiente. {pipeline-name}.otlp.{logs | traces | metrics}.{metric-name} Por ejemplo, otel-pipeline.otlp.metrics.requestTimeouts.count.

En el caso de utilizar una OpenTelemetry fuente individual, las métricas se formatearán como. {pipeline-name}.{source-name}.{metric-name} Por ejemplo, trace-pipeline.otel_trace_source.requestTimeouts.count.

OpenTelemetry Los tres tipos de datos tendrán las mismas métricas, pero por motivos de brevedad, las métricas solo se mostrarán en la tabla siguiente para los datos del tipo de registro de origen OTLP.

Métrica Description (Descripción)
otel-pipeline.BlockingBuffer.bufferUsage.value

Indica qué cantidad del búfer se está utilizando.

otel-pipeline.otlp.logs.requestTimeouts.count

El número de solicitudes cuyo tiempo de espera ha caducado.

otel-pipeline.otlp.logs.requestsReceived.count

El número de solicitudes recibidas por el OpenTelemetry recopilador.

otel-pipeline.otlp.logs.badRequests.count

El número de solicitudes con formato incorrecto recibidas por el OpenTelemetry recopilador.

otel-pipeline.otlp.logs.requestsTooLarge.count

El número de solicitudes que supera el máximo de 20 MB recibidas por el OpenTelemetry recopilador.

otel-pipeline.otlp.logs.internalServerError.count El número de errores HTTP 500 recibidos del OpenTelemetry recopilador.
otel-pipeline.opensearch.bulkBadRequestErrors.count Recuento de errores durante las solicitudes masivas debido a una solicitud mal formada.
otel-pipeline.opensearch.bulkRequestLatency.avg Latencia media de las solicitudes de escritura masiva realizadas a OpenSearch.
otel-pipeline.opensearch.bulkRequestNotFoundErrors.count Número de solicitudes masivas que fallaron porque no se pudieron encontrar los datos de destino.
otel-pipeline.opensearch.bulkRequestNumberOfRetries.count Número de reintentos realizados por las canalizaciones OpenSearch de ingestión para escribir el clúster. OpenSearch
otel-pipeline.opensearch.bulkRequestSizeBytes.sum Tamaño total en bytes de todas las solicitudes masivas realizadas a. OpenSearch
otel-pipeline.opensearch.documentErrors.count Número de errores al enviar documentos a OpenSearch. Los documentos que causan los errores se enviarán a DLQ.
otel-pipeline.opensearch.documentsSuccess.count Número de documentos escritos correctamente en un OpenSearch clúster o colección.
otel-pipeline.opensearch.documentsSuccessFirstAttempt.count Número de documentos indexados correctamente OpenSearch en el primer intento.

otel-pipeline.opensearch.documentsVersionConflictErrors.count

Recuento de errores debidos a conflictos de versiones en los documentos durante el procesamiento.

otel-pipeline.opensearch.PipelineLatency.avg

Latencia media del proceso de OpenSearch ingestión para procesar los datos desde la fuente hasta escribirlos en el destino.
otel-pipeline.opensearch.PipelineLatency.max Latencia máxima de la canalización de OpenSearch ingestión para procesar los datos desde la fuente hasta escribirlos en el destino.
otel-pipeline.opensearch.recordsIn.count Recuento de registros introducidos correctamente. OpenSearch Esta métrica es esencial para rastrear el volumen de datos que se procesan y almacenan.
otel-pipeline.opensearch.s3.dlqS3RecordsFailed.count Número de registros que no se pudieron escribir en DLQ.
otel-pipeline.opensearch.s3.dlqS3RecordsSuccess.count Número de registros que se escriben en DLQ.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.count Recuento de las mediciones de latencia de las solicitudes enviadas a la cola de mensajes sin salida de Amazon S3.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.sum Latencia total de todas las solicitudes enviadas a la lista de espera de mensajes no válidos de Amazon S3
otel-pipeline.opensearch.s3.dlqS3RequestSizeBytes.sum Tamaño total en bytes de todas las solicitudes enviadas a la cola de mensajes sin salida de Amazon S3.
otel-pipeline.recordsProcessed.count Número total de registros procesados en proceso, una métrica clave para el rendimiento general.

otel-pipeline.opensearch.bulkRequestInvalidInputErrors.count

El recuento de errores en las solicitudes masivas OpenSearch se debe a entradas no válidas, algo crucial para supervisar la calidad de los datos y los problemas operativos.