View a markdown version of this page

Uso de una canalización OpenSearch de ingestión con Amazon Managed Service para Prometheus - 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 Amazon Managed Service para Prometheus

Puedes usar Amazon Managed Service for Prometheus como destino de OpenSearch tu proceso de ingestión para almacenar las métricas en formato de series temporales. El receptor de Prometheus te permite OpenTelemetry enviar métricas u otros datos de series temporales de tu canalización a un espacio de trabajo de Amazon Managed Service for Prometheus para su supervisión, alerta y análisis.

El complemento prometheus sink permite a las canalizaciones de OpenSearch ingestión escribir datos de métricas en los espacios de trabajo de Amazon Managed Service for Prometheus mediante el protocolo de escritura remota Prometheus. Esta integración le permite:

  • Almacena datos de métricas de series temporales en Amazon Managed Service para Prometheus

  • Supervisa las métricas y envía alertas con Amazon Managed Service for Prometheus y Amazon Managed Grafana

  • Enrute las métricas a varios destinos simultáneamente (por ejemplo, OpenSearch y Amazon Managed Service para Prometheus)

  • Procesa OpenTelemetry métricas de agentes externos o genera métricas dentro del proceso

Requisitos previos

Antes de configurar el sumidero Prometheus, asegúrese de disponer de lo siguiente:

  • Amazon Managed Service para el espacio de trabajo de Prometheus: cree un espacio de trabajo en el mismo canal de ingestión Región de AWS y en el Cuenta de AWS mismo. OpenSearch Para obtener instrucciones, consulte Creación de un espacio de trabajo en la Guía del usuario de Amazon Managed Service for Prometheus.

  • Permisos de IAM: configure un rol de IAM con permisos para escribir en Amazon Managed Service for Prometheus. Para obtener más información, consulte Paso 1: configurar el rol de canalización.

nota

Los espacios de trabajo de Amazon Managed Service para Prometheus deben utilizar claves gestionadas por el servicio. AWS AWS KMS Actualmente, AWS KMS las claves administradas por el cliente no son compatibles con los receptores de Amazon Managed Service for Prometheus en las canalizaciones de ingestión. OpenSearch

Paso 1: configurar el rol de canalización

El receptor de Prometheus hereda automáticamente los permisos de IAM del rol de canalización para la autenticación, por lo que no se requiere ninguna configuración de rol adicional (sts_role_arncomo) en la configuración del receptor.

En el siguiente ejemplo de política se muestran los permisos necesarios para utilizar Amazon Managed Service for Prometheus como receptor:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AMPRemoteWrite", "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id" } ] }

Reemplace los siguientes marcadores de posición:

  • region: Tu Región de AWS (por ejemplo,) us-east-1

  • account-id: Tu Cuenta de AWS carné de identidad

  • workspace-id: tu ID de espacio de trabajo de Amazon Managed Service para Prometheus

Debe adjuntar estos permisos a su función de canalización.

Asegúrate de que tu rol en canalización tenga una relación de confianza que permita a OpenSearch Ingestion asumirlo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Paso 2: crear la canalización

Una vez configurados los permisos, puede configurar una canalización de OpenSearch ingestión para utilizar Amazon Managed Service for Prometheus como receptor.

Configuración básica

El siguiente ejemplo muestra una configuración mínima del sumidero de Prometheus:

version: "2" sink: - prometheus: url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" aws: region: "region"

Debe especificar la url opción en la configuración del receptorprometheus, que es el punto final de escritura remota de Amazon Managed Service for Prometheus. Para formatear la URL, localice el ID de su espacio de trabajo en la consola de Amazon Managed Service for Prometheus y cree la URL de la siguiente manera:. https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write

Opciones de configuración

Utilice las siguientes opciones para configurar el comportamiento de procesamiento por lotes y descarga del sumidero Prometheus:

Opciones de configuración del fregadero Prometheus
Opción Obligatorio Tipo Description (Descripción)
max_events No Entero El número máximo de eventos que se pueden acumular antes de que lleguen a Prometheus. El valor predeterminado es 1000.
max_request_size No Recuento de bytes El tamaño máximo de la carga útil de la solicitud antes de vaciarla. El valor predeterminado es 1mb.
flush_interval No Duración El tiempo máximo de espera antes de que se produzcan eventos de descarga. El valor predeterminado es 10s. El valor máximo permitido es. 60s

Ejemplo de canalizaciones

Ejemplo 1: OpenTelemetry métricas de Amazon Managed Service para Prometheus

Esta canalización recibe OpenTelemetry las métricas de un agente externo y las escribe en Amazon Managed Service for Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Ejemplo 2: Doble receptor OpenSearch y Amazon Managed Service para Prometheus

Esta canalización redirige las métricas a OpenSearch Amazon Managed Service for Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - opensearch: hosts: - "https://search-domain-endpoint.us-east-1.es.amazonaws.com" index: "metrics-%{yyyy.MM.dd}" aws: region: "us-east-1" sts_role_arn: "arn:aws:iam::123456789012:role/OSI-Pipeline-Role" - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Ejemplo 3: Métricas con filtrado

Esta canalización filtra las métricas antes de enviarlas a Amazon Managed Service para Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel processor: - drop_events: drop_when: '/name != "http.server.duration" and /name != "http.client.duration"' sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Puedes usar un plano preconfigurado de Amazon Managed Service for Prometheus para crear estas canalizaciones. Para obtener más información, consulte Uso de esquemas.

Creación de una canalización con Amazon Managed Service para Prometheus sink

Uso de la consola AWS

  1. Navegue hasta la consola OpenSearch de servicio.

  2. Selecciona Pipelines en Ingestión.

  3. Seleccione Create pipeline.

  4. Seleccione Crear mediante un plano y elija OpenTelemetry las métricas para el plano de Amazon Prometheus.

  5. Configure la canalización:

    • Introduce tu ID de espacio de trabajo de Amazon Managed Service para Prometheus

    • Especifique el ARN de la función de canalización

    • Configure los ajustes de origen y procesador según sea necesario

  6. Revise y cree la canalización.

Uso de la AWS CLI

Cree un archivo de configuración de canalización (por ejemploamp-pipeline.yaml) con la configuración que desee y, a continuación, ejecute:

aws osis create-pipeline \ --pipeline-name my-amp-pipeline \ --min-units 2 \ --max-units 4 \ --pipeline-configuration-body file://amp-pipeline.yaml

Usando AWS CloudFormation

Resources: MyAMPPipeline: Type: AWS::OSIS::Pipeline Properties: PipelineName: my-amp-pipeline MinUnits: 2 MaxUnits: 4 PipelineConfigurationBody: | version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Supervisión y solución de problemas

CloudWatch métricas

Supervisa el rendimiento de tu canalización mediante CloudWatch métricas:

  • DocumentsWritten: Número de métricas escritas correctamente en Amazon Managed Service para Prometheus

  • DocumentsWriteFailed: Número de métricas que no se pudieron escribir

  • RequestLatency: Latencia de las solicitudes de escritura remota

Problemas comunes

Problema: Pipeline no escribe a Amazon Managed Service para Prometheus

Soluciones:

  • Comprueba que el ID del espacio de trabajo y la región de la URL sean correctos

  • Asegúrese de que el rol de canalización tenga aps:RemoteWrite permiso

  • Comprueba que el espacio de trabajo utilice claves administradas por el servicio AWS KMS

  • Compruebe que la canalización y el espacio de trabajo estén en el mismo lugar Cuenta de AWS

Problema: errores de autenticación

Soluciones:

  • Compruebe que la relación de confianza le osis-pipelines.amazonaws.com permita asumir la función de canalización

  • Asegúrese de que el rol de canalización tenga el aps:RemoteWrite permiso necesario

Problema: alta latencia o limitación

Soluciones:

  • Aumente las unidades de capacidad de la tubería

  • Implemente el procesamiento por lotes en el procesador

  • Consulta las cuotas de servicio de Amazon Managed Service para ver las cuotas de servicio de Prometheus

Limitaciones

Tenga en cuenta las siguientes limitaciones al configurar una canalización de OpenSearch ingestión para Amazon Managed Service for Prometheus:

  • Los espacios de trabajo de Amazon Managed Service para Prometheus deben utilizar claves gestionadas por el servicio. AWS AWS KMS En la actualidad, no se admiten las claves gestionadas por el cliente AWS KMS .

  • La canalización y el espacio de trabajo de Amazon Managed Service for Prometheus deben estar en el mismo lugar. Cuenta de AWS

Prácticas recomendadas

  • Utilice la misma función de IAM: el sumidero de Prometheus utiliza automáticamente la función de canalización. Si se utilizan otros sumideros, asegúrese de que la función de sts_role_arn canalización sea la misma

  • Supervise las métricas: configure CloudWatch alarmas para las escrituras fallidas y la alta latencia

  • Implemente el filtrado: utilice procesadores para filtrar las métricas innecesarias antes de enviarlas a Amazon Managed Service for Prometheus

  • Capacidad del tamaño adecuado: comience con una capacidad mínima y escale en función del volumen de las métricas

  • Planos de uso: aproveche los planos preconfigurados para casos de uso comunes