Uso de una canalización de OpenSearch 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 de OpenSearch ingestión con Collector OpenTelemetry

Puede usar el OpenTelemetry recopilador para incorporar registros, trazas y métricas en los canales de OpenSearch ingestión. Se puede usar una única canalización para incorporar todos los registros, trazas y métricas a distintos índices de un dominio o colección. También puedes usar canalizaciones para ingerir solo registros, trazas o métricas de forma individual.

Requisitos previos

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

  • La función de ingestión necesita el osis:Ingest permiso para interactuar con la canalización. Para obtener más información, consulta la 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 el OpenTelemetry recopilador, configura el rol de canalización que deseas usar en la configuración de la canalización. La función de canalización no necesita permisos específicos para la fuente de OTLP, solo permisos para conceder a las canalizaciones el acceso al OpenSearch dominio o la colección.

Paso 2: crear la canalización

A continuación, puedes configurar una canalización OpenSearch de ingestión como la siguiente, que 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 la canalización de rastreos:

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.

Conectividad entre cuentas

OpenSearch Las canalizaciones 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) a 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. El usuario configura este valor 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 del proceso 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 realizar 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 enumerarán en la siguiente tabla para los datos de tipo 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 se ha agotado.

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 un formato incorrecto de la solicitud.
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 de la canalización 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 el origen hasta escribir el destino.
otel-pipeline.opensearch.recordsIn.count Recuento de registros ingresados correctamente. OpenSearch Esta métrica es esencial para realizar un seguimiento del 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 a la cola de cartas muertas de Amazon S3.
otel-pipeline.opensearch.s3.dlqS3RequestLatency.sum Latencia total de todas las solicitudes a la cola de cartas muertas de Amazon S3
otel-pipeline.opensearch.s3.dlqS3RequestSizeBytes.sum Tamaño total en bytes de todas las solicitudes realizadas a la cola de cartas muertas de Amazon S3.
otel-pipeline.recordsProcessed.count Número total de registros procesados en la canalización, una métrica clave para el rendimiento general.

otel-pipeline.opensearch.bulkRequestInvalidInputErrors.count

Cuenta los errores en las solicitudes masivas OpenSearch debidos a una entrada no válida, algo crucial para supervisar la calidad de los datos y los problemas operativos.