Administración del costo de consultas en Amazon Managed Service para Prometheus
Amazon Managed Service para Prometheus ofrece la posibilidad de limitar el costo de las consultas al limitar la cantidad de muestras de consultas procesadas (QSP) que puede utilizar una sola consulta. Puede configurar dos tipos de umbrales para el QSP, advertencia y error, para administrar y controlar los costos de las consultas de forma eficaz.
Cuando las consultas alcanzan el umbral de advertencia, aparece un mensaje de advertencia en la respuesta a la consulta de la API. En el caso de las consultas que se visualizan a través de Amazon Managed Grafana, la advertencia se verá en la interfaz de usuario de Amazon Managed Grafana, lo que ayudará a los usuarios a identificar consultas costosas. Las consultas que superen el umbral de error no se cobrarán y se rechazarán con un error.
Además de limitar las consultas, Amazon Managed Service para Prometheus ofrece la posibilidad de registrar los datos de rendimiento de las consultas en Registros de CloudWatch. Esta característica le permite analizar las consultas en detalle, lo que le ayuda a optimizar sus consultas de Amazon Managed Service para Prometheus y a administrar los costos de forma más eficaz. El registro de consultas captura información sobre las consultas que superan los umbrales especificados de muestras de consulta procesadas (QSP). A continuación, estos datos se publican en Registros de CloudWatch, lo que le permite investigar y analizar el rendimiento de las consultas. Las consultas registradas incluyen tanto las consultas de API como las consultas de reglas. De forma predeterminada, el registro de consultas está deshabilitado para minimizar el uso innecesario de Registros de CloudWatch. Puede activar esta característica cuando sea necesario para el análisis de consultas.
Temas
Configuración del registro de consultas
Puede configurar el registro de consultas en la consola de Amazon Managed Service para Prometheus o en la CLI de AWS llamando a la solicitud de la API create-query-logging-configuration . Este cuerpo de API contiene una lista de destinos, pero por ahora solo admitimos Registros de CloudWatch como destino y los destinos deben contener exactamente un elemento con las configuraciones de CloudWatch.
Requisitos previos
Asegúrese de que logGroup ya esté creado. El ID o rol que se utilice para configurar debe tener la siguiente política o permisos equivalentes.
Configuración de Registros de CloudWatch
Puede configurar los Registros de CloudWatch iniciando sesión en Amazon Managed Service para Prometheus mediante la Consola de administración de AWS o la AWS CLI.
Para configurar el registro de consultas con la consola de Amazon Managed Service para Prometheus
-
Vaya a la pestaña Registros en el panel de detalles del espacio de trabajo.
-
En Información de consulta, elija Crear.
-
Seleccione el menú desplegable Grupo de registro y elija el grupo de registro para publicar sus registros.
También puede crear un nuevo grupo de registro en la consola de CloudWatch.
-
Introduzca el umbral (QSP).
-
Seleccione Save.
Para configurar el registro de consultas mediante la AWS CLI, utilice el comando
aws amp create-query-logging-configuration \ --workspace-idmy_workspace_ID\ --destinations '[{"cloudWatchLogs":{"logGroupArn":"$my-log-group-arn"},"filters":{"qspThreshold":$qspThreshold}}]'
Para obtener información sobre cómo actualizar, eliminar y describir las operaciones, consulte la referencia de API de Amazon Managed Service para Prometheus.
Configuración de los umbrales de limitación de consultas
Para configurar los umbrales de QSP, debe proporcionar los parámetros de consulta en la API QueryMetrics.
-
max_samples_processed_warning_threshold: establece el umbral de advertencia para las muestras de consultas procesadas
-
max_samples_processed_error_threshold: establece el umbral de error para las muestras de consultas procesadas
Para los usuarios de Amazon Managed Grafana, puede utilizar la configuración del origen de datos de Grafana para aplicar límites a todas las consultas del origen de datos:
-
Explore la configuración del origen de datos de Amazon Managed Service para Prometheus en Amazon Managed Grafana.
-
En Parámetros de consulta personalizados, agregue los encabezados de los umbrales.
-
Seleccione Save.
Contenido del registro
En el caso de las consultas que se originan a partir de reglas, verá la siguiente información sobre la consulta en Registros de CloudWatch:
{ workspaceId: "workspace_id", message: { query: "avg(rate(go_goroutines[1m])) > 1", name: "alert_rule", kind: "alerting", group: "test-alert", namespace: "test", samples: "59321", }, component: "ruler" }
En el caso de las consultas que se originan a partir de llamadas a la API, verá la siguiente información sobre la consulta en Registros de CloudWatch:
{ workspaceId: "ws-5e7658c2-7ccf-4c30-9de9-2ab26fa30639", message: { query: "sum by (instance) (go_memstats_alloc_bytes{job=\"node\"})", queryType: "range", start: "1683308700000", end: "1683913500000", step: "300000", samples: "11496", userAgent: "AWSPrometheusDPJavaClient/2.0.436.0 ", dashboardUid: "11234", panelId: "12" }, component: "query-frontend" }
Limitaciones
Límites de tamaño de las políticas: las políticas de recursos de Registros de CloudWatch están limitadas a 5120 caracteres. Cuando Registros de CloudWatch detecta que la política se está acercando al límite de tamaño, habilita automáticamente los grupos de registro que comienzan por /aws/vendedlogs/. Al habilitar el registro de consultas, Amazon Managed Service para Prometheus debe actualizar la política de recursos de Registros de CloudWatch con el grupo de registro que especifique. Para evitar alcanzar el límite de tamaño de la política de recursos de Registros de CloudWatch, agregue el prefijo a los nombres del grupo de registro de Registros de CloudWatch /aws/vendedlogs/.