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
Temas
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:
-
: Tu Región de AWS (por ejemplo,)regionus-east-1 -
: Tu Cuenta de AWS carné de identidadaccount-id -
: tu ID de espacio de trabajo de Amazon Managed Service para Prometheusworkspace-id
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:
| 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
-
Navegue hasta la consola OpenSearch de servicio.
-
Selecciona Pipelines en Ingestión.
-
Seleccione Create pipeline.
-
Seleccione Crear mediante un plano y elija OpenTelemetry las métricas para el plano de Amazon Prometheus.
-
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
-
-
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:RemoteWritepermiso -
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.rproxy.govskope.uspermita asumir la función de canalización -
Asegúrese de que el rol de canalización tenga el
aps:RemoteWritepermiso 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_arncanalizació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