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.
Ingerir telemetría de aplicaciones
Para utilizar las funciones de observabilidad de Amazon OpenSearch Service, debes ingerir las trazas, los registros y las métricas de las aplicaciones. En esta página se describe la configuración de las OpenTelemetry canalizaciones de OpenSearch recopilación e ingestión para procesar y enrutar los datos de telemetría a OpenSearch Amazon Managed Service for Prometheus.
OpenTelemetry Configuración del recopilador
El recopilador OpenTelemetry (OTel) es el punto de entrada para toda la telemetría de las aplicaciones. Recibe datos a través de OTLP y dirige las trazas y los registros a OpenSearch Ingestion mientras envía las métricas a Prometheus.
Puede configurar el OTel recopilador mediante uno de los siguientes enfoques:
El OTel recopilador exporta las trazas y los registros a un punto final de OpenSearch ingestión mediante la autenticación SigV4 y las métricas a Amazon Managed Service for Prometheus mediante el exportador de escritura remota de Prometheus. OpenSearch Ingestion gestiona el procesamiento, el enriquecimiento y el enrutamiento hacia. OpenSearch
OTel Configuración del recopilador con Ingestión OpenSearch
El siguiente ejemplo de configuración utiliza la autenticación SigV4 para exportar las trazas y los registros a un punto final de OpenSearch ingestión y las métricas a Prometheus:
extensions: sigv4auth: region:us-west-2service: 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
El principal IAM que envía los datos necesita osis:Ingest y aps:RemoteWrite permiso en el ARN de la canalización.
Configuración de las canalizaciones de ingestión OpenSearch
OpenSearch Ingestion (o Data Prepper autogestionado) recibe la telemetría del OTel recopilador y la procesa para supervisar el rendimiento de las aplicaciones (APM).
Arquitectura de canalización
La canalización procesa los datos de telemetría en las siguientes etapas:
-
La canalización de entrada recibe toda la telemetría y enruta los registros y rastreos a subcanalizaciones independientes.
-
La canalización de registro escribe los datos de registro OpenSearch utilizando el tipo de índice.
log-analytics-plain -
La canalización de rastreo distribuye los tramos entre la canalización de almacenamiento sin procesar y la canalización del mapa de servicios.
-
Los procesos de la canalización de rastreo sin procesar se extienden por el
otel_tracesprocesador y los almacenan en eltrace-analytics-plain-rawtipo de índice. -
La canalización del mapa de servicios utiliza el
otel_apm_service_mapprocesador para generar métricas de topología y RED (tasa, errores, duración). Escribe hacia OpenSearch y hacia Prometeo a través de la escritura remota.
Configuración de canalización
El siguiente ejemplo muestra una configuración de canalización completa para OpenSearch Ingestion que cubre todos los tipos de señales de observabilidad: registros, trazas y métricas. Puedes incluir todas las canalizaciones o solo las que sean relevantes para tu caso de uso. Sustituya los placeholder valores por su propia información.
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'
Verificación de la ingestión
Tras configurar el OTel recopilador y las canalizaciones, compruebe que los datos de telemetría fluyan correctamente.
-
Verifique OpenSearch los índices: confirme que existen los siguientes índices en su dominio:, y.
otel-v1-apm-span-*otel-v2-apm-service-maplogs-otel-v1-* -
Verificar los objetivos de Prometheus: confirme que el objetivo de escritura remota de Prometheus recibe métricas de la canalización del mapa de servicio.
-
Verifica en la OpenSearch interfaz de usuario: dirígete a Observabilidad y, a continuación, a Application Monitoring para confirmar que aparecen tus servicios.
Siguientes pasos
Tras comprobar que se han ingerido los datos de telemetría, explore los siguientes temas:
-
Supervisión de aplicaciones— Supervise el estado de las aplicaciones con mapas de servicio y métricas de RED.
-
Descubra las trazas: descubra y analice las trazas distribuidas.
-
Descubra los registros: descubra y consulte los registros de las aplicaciones.
-
Descubra las métricas: descubra y consulte las métricas de Prometheus con ProMQL.