Las plantillas de reglas de alerta de Prometheus permiten gestionar de forma centralizada las reglas de alerta de varias instancias de Prometheus en distintas regiones. En este tema se describe cómo crear y gestionar estas plantillas para garantizar la coherencia y eficiencia de las reglas.
Contexto
Si cuenta con varias instancias de Prometheus instancias, creando reglas de alerta para cada Prometheus distribuidas en distintas regiones, crear reglas de alerta para cada instancia de manera individual requiere mucho trabajo. Además, dificulta la gestión sincronizada de las reglas de cada instancia de Prometheus. Para resolver este problema, Managed Service for Prometheus ofrece la función de plantillas de reglas de alerta. Esta función le ayuda a crear rápidamente reglas de alerta para varias instancias de Prometheus y a gestionarlas de forma unificada, lo que reduce el costo de administrar las reglas de alerta en múltiples instancias de Prometheus.
Crear una plantilla de reglas de alerta de Prometheus
Inicie sesión en la consola de ARMS.
En el panel de navegación izquierdo, seleccione .
Inicie sesión en la consola de Managed Service for Prometheus.
En el panel de navegación izquierdo, haga clic en Alert Rule Template.
En la esquina superior derecha de la página, haga clic en Create Prometheus Alert Rule Template.
-
En la página Create Prometheus Alert Rule, configure los siguientes parámetros.
Puede crear una plantilla de reglas de alerta de Prometheus mediante un umbral estático o un PromQL personalizado.
El tipo de comprobación de umbral estático proporciona métricas de alerta predefinidas. Seleccione una métrica predefinida para crear rápidamente una regla de alerta.
Para monitorear métricas que no están predefinidas, utilice el tipo de comprobación de PromQL personalizado para crear una regla de alerta.
Tabla 1. Tipos de comprobación de umbral estático
Parámetro
Descripción
Ejemplo
Alert rule template name
El nombre de la plantilla de reglas de alerta.
Clúster de producción - Alerta de uso de CPU del contenedor
Alert rule template description
Opcional. Describa la plantilla. Puede incluir su propósito, los escenarios aplicables u otras notas.
Ninguna
Check type
Seleccione Static Threshold.
Static Threshold
Alert group
Seleccione un grupo de alertas.
Kubernetes Workloads
Alert metric
Seleccione la métrica para la que desea configurar una alerta. Cada grupo de alertas tiene métricas diferentes.
Uso de CPU del contenedor
Alert condition
Establezca las condiciones para activar un evento de alerta según el contenido predefinido de la métrica de alerta.
La condición de alerta se cumple cuando el uso de CPU del contenedor es
greater than80%.Filter condition
Según la métrica de alerta, establezca el alcance de la regla de alerta. Se activa un evento de alerta para cualquier recurso que cumpla tanto con las condiciones de filtro como con la condición de alerta.
Las condiciones de filtro disponibles son:
-
Traverse: la regla de alerta se aplica a todos los recursos de la instancia actual de Prometheus. De forma predeterminada, la condición de filtro se establece en Traversal.
-
Equal To: tras seleccionar esta condición, introduzca un nombre de recurso específico. La regla de alerta se aplicará únicamente a ese recurso. No puede introducir varios recursos.
-
Is not equal: tras seleccionar esta condición, introduzca un nombre de recurso específico. La regla de alerta se aplicará a todos los recursos excepto a ese. No puede introducir varios recursos.
-
Match Regular Expression: tras seleccionar esta condición, introduzca una expresión regular para hacer coincidir los nombres de los recursos. La regla de alerta se aplicará a todos los recursos que coincidan con la expresión.
-
Do Not Match Regular Expression: tras seleccionar esta condición, introduzca una expresión regular para hacer coincidir los nombres de los recursos. La regla de alerta filtrará todos los recursos que coincidan con la expresión.
IP de la instancia: Traverse
Duration
-
Activar un evento de alerta en cuanto se cumpla la condición de alerta: se activa un evento de alerta si algún punto de datos alcanza el umbral.
-
Activar un evento de alerta solo cuando la condición de alerta persista durante N minutos: se activa un evento de alerta únicamente si se mantiene el umbral durante N minutos o más.
1
Alert severity
La gravedad de la alerta. La gravedad predeterminada es Default. Los niveles de gravedad, de menor a mayor, son Default, P4, P3, P2 y P1.
Default
Alert content
La información de alerta que reciben los usuarios. Puede usar la sintaxis de plantillas de Go para personalizar las variables de los parámetros de alerta en el contenido de la alerta.
Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, current value {{ printf "%.2f" $value }}%
Advanced Settings
Labels
Establezca etiquetas de alerta. Estas etiquetas pueden usarse como opciones para las reglas de coincidencia en las políticas de notificación.
Ninguna
Annotations
Establezca anotaciones para la alerta.
Ninguna
Tabla 2. Tipos de comprobación de PromQL personalizado
Parámetro
Descripción
Ejemplo
Alert rule template name
El nombre de la plantilla de reglas de alerta.
El uso de CPU del pod es mayor al 80 %
Alert rule template description
Opcional. Describa la plantilla. Puede incluir su propósito, los escenarios aplicables u otras notas.
Ninguna
Check type
Establézcalo en Custom PromQL.
Custom PromQL
Custom PromQL statement
Use una instrucción de PromQL para establecer la expresión de la regla de alerta.
max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90
Duration
-
Activar un evento de alerta en cuanto se cumpla la condición de alerta: se activa un evento de alerta si algún punto de datos alcanza el umbral.
-
Activar un evento de alerta solo cuando la condición de alerta persista durante N minutos: se activa un evento de alerta únicamente si se mantiene el umbral durante N minutos o más.
1
Alert severity
La gravedad de la alerta. La gravedad predeterminada es Default. Los niveles de gravedad, de menor a mayor, son Default, P4, P3, P2 y P1.
Default
Alert content
La información de alerta que reciben los usuarios. Puede usar la sintaxis de plantillas de Go para personalizar las variables de los parámetros de alerta en el contenido de la alerta.
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} utilization exceeds 90%, current value {{ printf "%.2f" $value }}%
Advanced Settings
Labels
Establezca etiquetas de alerta. Estas etiquetas pueden usarse como opciones para las reglas de coincidencia en las políticas de notificación.
Ninguna
Annotations
Establezca anotaciones para la alerta.
Ninguna
Aplicar una plantilla
Después de crear una plantilla de alerta de Prometheus, puede aplicarla para crear reglas de alerta en una instancia de Prometheus. También puede usar la plantilla para actualizar las reglas de alerta existentes de una instancia de Prometheus.
En la página Prometheus Alert Rule Template, haga clic en Apply Template junto a la plantilla que desea aplicar.
-
En la página Apply Template, en la pestaña Prometheus Instance Selection Mode, seleccione una instancia de Prometheus y haga clic en OK.
NotaPuede filtrar las instancias de Prometheus asociadas a esta plantilla de alerta por nombre de instancia de Prometheus, región y tipo de instancia de Prometheus.
-
En el cuadro de diálogo que aparece, indique si desea actualizar las reglas de alerta existentes y luego haga clic en OK.
ARMS utiliza la plantilla de reglas de alerta actual para crear reglas de alerta en las instancias de Prometheus seleccionadas.
Si no selecciona Update Existing Alert Rules: si la instancia de Prometheus seleccionada ya tiene reglas de alerta creadas a partir de la plantilla actual, aparecerá el mensaje Alert Rules Have Already Been Created By Using This Template And Will Not Be Updated. Las reglas de alerta existentes no se actualizarán.
-
Update Existing Alert Rules: si la instancia de Prometheus seleccionada ya contiene reglas de alerta creadas a partir de la plantilla actual, las reglas de alerta de Prometheus se actualizarán para coincidir con el contenido más reciente de la plantilla de alerta.
ImportanteSi una regla de alerta se modificó de forma individual pero se conservó su asignación a la plantilla, las modificaciones individuales se sobrescribirán y se perderán.
Eliminar la plantilla
Si una plantilla de alerta de Prometheus ya no es necesaria, puede eliminar la plantilla de alertas de Prometheus. Cuando elimina una plantilla, puede especificar si desea conservar las reglas de alerta que se crearon a partir de ella.
En la página Prometheus Alert Rule Template, haga clic en Delete a la derecha de la plantilla de reglas de alerta correspondiente.
-
En el cuadro de diálogo que aparece, indique si también desea eliminar las reglas de alerta creadas a partir de la plantilla y haga clic en Confirm.
Si selecciona Delete Alert Rules Created from Template: se eliminan las reglas de alerta de Prometheus asociadas a la plantilla. Si una regla de alerta de Prometheus creada a partir de la plantilla se editó manualmente y usted seleccionó Do Not Retain The Mapping Between The Template And The Rule al guardarla, dicha regla no se eliminará.
Si no selecciona Delete Alert Rules Created from Template, se conservarán las reglas de alerta de Prometheus creadas a partir de la plantilla.
Consultar las reglas de alerta creadas a partir de una plantilla
Puede consultar y gestionar en lotes las reglas de alerta creadas a partir de una plantilla.
En la página Prometheus Alert Rule Template, haga clic en View Rules Created From Template a la derecha de la plantilla de reglas de alerta correspondiente.
-
En la página Alert Rules Created from Template puede gestionar las reglas de alerta en lotes.
Para habilitar alertas en lotes: seleccione las reglas de alerta deseadas y haga clic en Enable Alert Rules.
Para deshabilitar alertas en lotes: seleccione las reglas de alerta deseadas y haga clic en Disable Alert Rules.
Para eliminar alertas en lotes: seleccione las reglas de alerta deseadas y haga clic en Delete Alert Rules.
Notas
Cuando edite y guarde una regla de alerta de Prometheus creada a partir de una plantilla de reglas de alerta de Prometheus, deberá elegir si conserva la asignación entre la plantilla y la regla.
Retain the mapping between this alert rule and the alert rule template: si conserva esta asignación, sus ediciones actuales podrían sobrescribirse si aplica la plantilla de reglas de alerta correspondiente a la instancia de Prometheus de esta regla y selecciona la opción de actualización forzada.
Remove the mapping between this alert rule and the alert rule template: después de quitar la asignación, esta regla de alerta se tratará como una regla independiente. Se recomienda cambiar el nombre de la regla de alerta. De lo contrario, si vuelve a aplicar la plantilla de reglas de alerta correspondiente a la instancia de Prometheus, la creación fallará debido a que el nombre de la regla de alerta estará duplicado.