Este tema describe cómo integrar Grafana en el subservicio Alert Management de Application Real-Time Monitoring Service (ARMS). Una vez creada la integración de Grafana, las alertas generadas por esta herramienta se pueden reportar a Alert Management.
Paso 1: Crear una integración de Grafana
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, seleccione .
En la pestaña Alert Integration, haga clic en Grafana.
-
En el cuadro de diálogo New Grafana Integration, introduzca un nombre y una descripción para la integración, seleccione la versión de Grafana, establezca el tiempo de espera de resolución automática para los eventos de alerta y haga clic en Save.
NotaTiempo de recuperación automática tras el tiempo de espera: si un evento de alerta no se activa nuevamente dentro del periodo especificado, el sistema lo borra automáticamente.
-
En la pestaña Alert Integration, localice la nueva integración de Grafana y obtenga su endpoint de integración.
Haga clic en el botón Copy junto al endpoint de integración.
Paso 2: Configurar las alertas de Grafana
En el panel de navegación izquierdo de Grafana, seleccione .
-
En la pestaña Notification Channels, haga clic en New channel.
NotaSi es la primera vez que crea un canal, haga clic en Add channel.
-
En la página New Notification Channel, realice los siguientes pasos.
Introduzca un nombre personalizado para la alerta de Grafana en el campo Name.
Establezca Type como webhook.
Establezca URL con el endpoint de integración obtenido en el Paso 1.
-
En la sección Notification settings, seleccione Default, Include image y Send reminders. Si selecciona Send reminders, debe establecer la frecuencia de reporte para la misma alerta. Esta frecuencia no puede exceder el tiempo de espera de resolución automática configurado en Step 1.
NotaSi no selecciona Send reminders, el sistema envía solo una notificación por cada alerta.
Haga clic en Test para comprobar la conexión con ARMS Alert Management.
Una vez que la prueba sea exitosa, haga clic en Save.
(Opcional) Paso 3: Modificar la integración
ARMS Alert Management proporciona asignaciones de campos predeterminadas entre Grafana y ARMS. También puede agregar o modificar estas asignaciones en la página Edit Integration según sea necesario.
El siguiente script muestra un ejemplo de origen de alerta:
{
"@timestamp":"2021-09-09T12:25:09.556Z",
"orgId":0,
"host":"10.1.11.14",
"ruleName":"Test notification",
"ruleUrl":"http://localhost:8001/grafana/",
"state":"alerting",
"title":"[Alerting] Test notification",
"panelId":1,
"imageUrl":"https://grafana.com/assets/img/blog/mixed_styles.png",
"evalMatches":[
{
"metric":"High value",
"value":100,
"tags":null
},
{
"metric":"Higher Value",
"value":200,
"tags":null
}
],
"ruleId":0,
"tags":{
},
"dashboardId":1,
"message":"Someone is testing the alert notification within grafana.",
"@version":"1"
}
En la pestaña Alert Integration, localice la integración que desea gestionar y haga clic en Edit en la columna Actions.
En la sección Event Mapping, haga clic en Send Test Data.
-
En el cuadro de diálogo Send Test Data, introduzca el contenido JSON de su origen de alerta y haga clic en Send.
NotaSi aparece el mensaje Uploaded. No events are generated. Configure mappings based on the original data., significa que los campos del origen de alerta no están asignados a los campos de los eventos de alerta de ARMS. Los datos enviados se muestran en el cuadro izquierdo, lo que le permite seleccionar los campos de origen al configurar las asignaciones.
Si aparece el mensaje Uploaded., el contenido de la alerta se reporta en la página Alert Event History. Para obtener más información, consulte View alert event history.
El área de texto del cuadro de diálogo Send Test Data contiene datos de notificación de ejemplo en formato JSON, con campos como
@timestamp,orgId,host,ruleName,ruleUrl,state,titleypanelId. Puede hacer clic en Copy as cURL command para obtener la solicitud correspondiente. En el cuadro de diálogo Send Test Data, haga clic en Disable.
En la parte izquierda de la sección Event Mapping, haga clic en los registros de datos para los que desea configurar asignaciones y así ver sus detalles.
-
En el panel derecho de la sección Event Mapping, configure las asignaciones entre los campos de alerta de origen y los campos de alerta de ARMS.
-
Opcional: En la sección Select Root Node, especifique si desea usar procesamiento por lotes.
Si los datos de alerta contienen una matriz, puede especificarla como nodo raíz para procesar sus elementos en lote.
Después de seleccionar Use Batch Processing, seleccione el nodo de matriz que se procesará como nodo raíz.
NotaSolo puede seleccionar una matriz para el procesamiento por lotes.
Por ejemplo, en la alerta de muestra, la matriz
evalMatchescontiene dos camposvalue. Si seleccionaevalMatchescomo nodo raíz, ARMS asigna los dos camposvaluebajo este al mismo campo de alerta de ARMS especificado.Si selecciona un nodo raíz, puede asignar iterativamente los valores del atributo
$.evalMatches[*].valuede todos los elementos de la matriz al campovaluede ARMS.Si no selecciona un nodo raíz, puede asignar el valor de atributo de un elemento específico de la matriz, como
$.evalMatches[0].valueo$.evalMatches[1].value, al campovaluede ARMS.
-
En la sección Map Source Fields to Target Fields, asigne los campos de origen a los campos de alerta de destino de ARMS.
Haga clic en el icono de asignación para cambiar el método de asignación.
Direct: El campo de origen se asigna directamente al campo de alerta de ARMS correspondiente.
-
Series: Concatena varios campos de origen en un solo campo mediante un separador especificado y asigna este campo a un campo de alerta de ARMS. Solo puede usar caracteres especiales como separadores.
Por ejemplo, puede usar un guion bajo (_) para concatenar los campos
$.hosty$.titleen$.host_$.titley luego asignarlo al campoalertnamede ARMS. Condition: Un campo se asigna solo si el valor del campo de alerta cumple con una condición especificada.
Mapping table: Configura la asignación entre los niveles de gravedad del origen de alerta y ARMS. Este método de asignación solo es obligatorio para el campo
severity.
La siguiente tabla describe los campos de alerta de ARMS.
Campo de alerta
Descripción
alertname
El nombre de la alerta personalizada.
severity
El nivel de gravedad de la alerta. Debe configurar asignaciones para este campo. El método de asignación debe establecerse como Direct.
message
La descripción de la alerta. Se utiliza como contenido del mensaje de alerta y no puede exceder los 15,000 caracteres.
value
El valor de muestra de una métrica.
imageUrl
La URL del gráfico de líneas que contiene las métricas de Grafana. Se usa para asignar el gráfico de líneas.
check
El elemento de comprobación de la alerta. Ejemplos: CPU, JVM, Application Crash y Deployment.
source
El origen de la alerta.
class
El tipo de objeto que desencadena el evento de alerta; por ejemplo, host.
service
El servicio de origen de la alerta. Ejemplo: Login Service.
startat
La marca de tiempo que representa la hora de inicio del evento.
endat
La marca de tiempo que representa la hora de finalización del evento.
generatorUrl
La URL de los detalles del evento.
En la página Event Mapping, haga clic en Send Test Data para verificar la ingesta de datos. La sección Latest 10 Data Entries muestra los datos de origen recibidos y su estado. Expanda una entrada de datos para ver su estructura JSON, que incluye campos como
@timestamp,orgId,hostyruleName. En el panel derecho, puede asignar estos campos de origen a los campos de alerta de ARMS correspondientes.
-
-
Configure la deduplicación de campos para los eventos de alerta.
Para reducir datos duplicados, el sistema utiliza campos relacionados como criterios de deduplicación. ARMS Alert Management le permite previsualizar los resultados de agrupación por deduplicación de datos históricos de eventos en el área Event Mapping. Puede ajustar los campos de deduplicación según sea necesario.
NotaLa deduplicación de eventos solo aplica a eventos no resueltos.
-
En la sección Event Deduplication de la página Edit Integration, seleccione los campos para la deduplicación.
Cuando varios eventos tienen los mismos valores para los campos seleccionados, se fusionan en una sola alerta.
Por ejemplo, si establece los campos
metricyruleNamede ARMS como clave de deduplicación, los eventos del origen Grafana que tengan la misma métrica y nombre de regla se fusionarán en un solo evento. Los eventos con valores diferentes permanecerán separados. -
Haga clic en Deduplication Test para previsualizar las agrupaciones de alertas después de la deduplicación.
NotaLa prueba de deduplicación se ejecuta sobre las últimas 10 entradas de datos de prueba cargadas en el panel izquierdo de la sección Event Mapping.
Seleccione metric y ruleName como campos de deduplicación y haga clic en Deduplication Test. El sistema agrupa los eventos basándose en los campos seleccionados. Los eventos con la misma métrica y nombre de regla se agrupan juntos. Los resultados de la agrupación se muestran en una tabla que incluye columnas como
alertname,value,severity,startat,endatymessage.
-
Una vez completada la configuración, haga clic en Save.
Consultar los detalles de un evento de alerta
En el panel de navegación izquierdo de la consola de ARMS, seleccione .
En la página Alert Event History, haga clic en el nombre del evento de alerta para ver sus detalles. Para obtener más información, consulte View alert event history.
Gestionar la integración
En el panel de navegación izquierdo, seleccione . En la pestaña Alert Integration, puede realizar las siguientes operaciones en las integraciones que haya creado:
Consultar los detalles de una integración: Localice la integración y haga clic en la fila. En la página Integration Details, consulte los detalles de la integración.
-
Actualizar clave: Para cambiar la clave de una integración, localícela, seleccione en la columna Actions y luego haga clic en Confirm en el cuadro de diálogo que aparece.
ImportanteDespués de actualizar la clave, también debe actualizar la URL configurada en Step 2 con el nuevo endpoint de integración.
Modificar una integración: Localice la integración y haga clic en Edit en la columna Actions. En la página Integration Details, modifique la información de la integración y luego haga clic en Save.
Habilitar o deshabilitar una integración: Localice la integración y haga clic en Disable o Enable en la columna Actions.
Eliminar una integración: Localice la integración y haga clic en Delete en la columna Actions. En el mensaje que aparece, haga clic en OK.
Agregar un flujo de procesamiento de eventos a una integración: Localice la integración y haga clic en Add Event Processing Flow en la columna Actions. Para obtener más información, consulte Event processing flow.
Crear una política de notificación: Localice la integración para la cual desea crear una política de notificación y haga clic en More en la columna Actions. En la lista que aparece, haga clic en Create Notification Policy. Para obtener más información, consulte Notification policies.
Siguientes pasos
Después de crear una política de notificación, el sistema genera alertas y envía notificaciones para los eventos de alerta reportados basándose en dicha política. Para obtener más información, consulte Notification policies. En la página Alert Sending History, puede consultar las alertas generadas según la política de notificación configurada. Para obtener más información, consulte View alert sending history.