• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

Grafana: Vistazo profundo a Grafana Alerting, recibiendo alertas sobre paneles, consultas, etc.

19 October, 2022 - Escrito en: opensource

Saludos amigos, hace tres años os conté cómo activar notificaciones en Microsoft Teams para nuestros Grafanas. Es un post con muchas visitas, pero sin duda necesitaba ya una actualización.

Desde Grafana v8, Grafana introdujo un sistema mucho más avanzado para lla gestión de alarmas. Mucho más avanzado, pero si cabe algo más complejo, es por ello que conozco casos que no han dado el salto a estas notificaciones todavía y siguen usando viejos scripts u otras maneras menos eficaces. Espero que después del post de hoy, tengáis ganas de darle otro vistazo, y otra oportunidad.

Grafana Alerting – Qué es

Las alertas de Grafana nos permiten conocer los problemas de nuestros sistemas momentos después de que se produzcan. Podemos crear, gestionar y actuar sobre nuestras alertas en una vista única y consolidada, y además mejorar la capacidad de nuestro equipo para identificar y resolver problemas rápidamente.

Grafana Alerting está disponible para Grafana OSS, Grafana Enterprise o Grafana Cloud. Con las reglas de alerta Mimir y Loki podemos ejecutar expresiones de alerta más cerca de nuestros datos y a escala masiva, todo ello gestionado por la interfaz de usuario de Grafana con la que ya estás familiarizado.

Yo en mi caso utilizo InfluxDB v2, con lo que los ejemplos que hoy os mostraré están más pensados para InfluxDB, pero la lógica es igual para Loki, Mimir, etc. Os dejo un interesante diagrama, que viene dentro del producto, para que comprendamos mejor el flujo de datos desde que una alarma se genera, hasta que se entrega:

Grafana Alerting – Data sources

Cuando hablamos de data sources, u orígenes de datos, esto es necesario para las consultas a información. Es algo primordial que sin ello no podríamos ni tener dashboards 🙂 Seguramente ya tengáis data sources configurados, pero por si acaso, os dejo la lista completa que soporta Grafana hoy en día:

  • AWS CloudWatch
  • Azure Monitor
  • Elasticsearch
  • Google Cloud Monitoring
  • Graphite
  • InfluxDB
  • Loki
  • Microsoft SQL Server MSSQL
  • MySQL
  • Open TSDB
  • PostgreSQL
  • Prometheus
  • Jaeger
  • Zipkin
  • Tempo
  • Testdata

Una lista realmente extensa, en nuestro caso, vamos a ver InfluxDB. En caso de que no tuvieráis instalado InfluxDB v2.0, os dejo el paso a paso para que lo tengáis funcionando realmente rápido:

  • https://jorgedelacruz.uk/2021/04/14/looking-for-the-perfect-dashboard-influxdb-telegraf-and-grafana-part-i-installing-influxdb-telegraf-and-grafana-on-ubuntu-20-04-lts/

Una vez tenemos data sources, tendremos ya nuestros paneles y dashboards favoritos, vamos a crear alertas sobre información que conocemos.

Grafana Alerting – Alert rules

Como el propio nombre indica, alert rules son las reglas que queremos crear para que se genera una alerta, los umbrales, resultados específicos, etc. Voy a coger como ejemplo un viejo conocido por todos vosotros, la temperatura de un servidor. En mi caso quiero monitorizar todo de un tirón, todas las métricas de temperatura de un servidor en concreto:

La consulta a InfluxDB v2.0 con Flux es la siguiente:

from(bucket: v.defaultBucket)
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "ipmi_sensor")
  |> filter(fn: (r) => r["server"] == "192.168.1.61")
  |> filter(fn: (r) => r["unit"] == "degrees_c")
  |> filter(fn: (r) => r["_field"] == "value")
  |> filter(fn: (r) => r["name"] == "cpu_temp" or r["name"] == "dimma2_temp" or r["name"] == "dimmb2_temp" or r["name"] == "peripheral_temp" or r["name"] == "system_temp" or r["name"] == "vrmab_temp" or r["name"] == "vrmcpu_temp")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

Como podéis ver, podríamos ser algo más granulares con la consulta y solamente preocuparnos por la CPU, o por la temperatura de un módulo de RAM, etc. ¡Importante! Las alarmas solo pueden ser generadas para consultas sin variables, lo que una vez nos puede limitar un poco, pero claro es que hay que ir a tiro acertado cuando se genera una alarma, con lo cuál comprendo esta limitación.

Bueno que me enrollo, si hacemos click en el panel que nos gusta, y no tiene variables, podremos ver la pestaña de Alert, al hacer click veremos lo siguiente:

Paso 1 – Consulta al datasource y condiciones, o umbrales

Una vez más, podremos ver una consulta A, desde un datasource llamado InfluxDB (el mío que tengo por defecto). Pero además, veremos una consulta B que se llama expression, y en ella configuraremos el umbral exacto que queremos que valide contra la consulta.En mi caso, muy sencillo, cualquiera de esas temperaturas, cuando es más de 40 en su último resultado. A su vez, le diremos que la condición para la alerta está vinculado a la expression.

Paso 2 – Intervalo de evaluación de la alarma

Ahora podremos ser más granulares, o poner más tiempo. Yo quiero que compruebe cada minuto si el umbral ha sido alcanzado, y que al menos se haya superado durante 5 minutos para recibir una alarma. Como hablo de temperatura yo creo que es suficiente, pero podéis configurarlo a vuestro gusto.

Paso 3 – Detalles de la alarma en sí

En este paso, tendremos que introducir un nombre para la alarma, en mi caso he sidop muy genérico, pero seguramente os gustaría aquí añadir algo que identifique al servidor, etc. Además tendremos que seleccionar una carpeta donde se guardará esta alerta, y un grupo.

Paso 4 – Notificaciones

Es curioso, pero en esta sección no se genera ninguna notificación. En esta sección añadiremos una label/etiqueta que nos guste, en mi caso severity = error que posteriormente será usada en las políticas de notificación.

¡Ya hemos terminado de configurar nuestra alerta! Vamos al siguiente paso.

Grafana Alerting – Contact points

Aquí es donde definiremos los diferentes puntos de contacto, esto pueden ser direcciones de email, canales de telegram, slack, Microsoft Teams y mucho más.

Añadiendo un canal de Microsoft Teams como contact point

Vamos a hacer click en “New contact point” para crear un nuevo registro:

Añadiremos un nombre a nuestro contact point, que sea descriptivo para vosotros. Además de ello, seleccionaremos que el tipo es Microsoft Teams, e introduciremos la URL del WebHook. Pero Jorge, nose cómo crear un WebHook en mis canales. Una vez terminamos, os recomiendo hacer click en Test:

Si todo ha ido bien, podremos ver un nuevo mensaje en nuestro canal de Microsoft Teams:

Grafana Alerting – Notification policies

Pues hemos llegado a la última parte, ya tenemos alertas que queremos, en mi caso temperatura de un servidor en todos sus componentes, tenemos también a donde queremos mandar las alarmas (recordar a un canal de Teams), y nos queda crear el flujo, o políticas, que lanze las alarmas. Para ello, usaremos esas labels, etiquetas, que definimos en nuestras alarmas, por ejemplo:

  • Usar las labels que sean severity = error, y mandame las alarmas que usen este label al contact point Microsoft Teams.

Grafana Alerting – Comprobando que todo ha ido bien

La alarma se ha producido durante un espacio en tiempo superior a los cinco minutos y se ha generado una alerta, ya que ha pasado de estado processing a firing, el flujo de notificaciones ha comprobado que el label que tenía esta alarma tiene un contact point y ha lanzado una notificación:

Si nos fueramos a nuestro panel de Alarmas de Grafana, también podríamos ver todas las alarmas que estan en estado Firing, Normal o Pending, a más alarmas, una visualización mucho más bonita:

Arriba tenéis el ejemplo sencillo que hemos creado paso a paso, y aquí os dejo una captura con muchas más alertas, y lo útil que son:

 

Conclusiones y mucho más

El nivel de alarmas de Grafana es para un usuario medio/avanzado, ya que no hay nada que con un simple drill down podamos configurar. Tenemos que manejar las consultas de datos, que dependiendo del datasource pueden ser más amigables (como por ejemplo el datasource de Azure, o Prometheus, o InfluxDB v1.8), o mucho más ásperas como es InfluxDB v2 el cuál es todo consultas a mano dentro de Grafana, tengo que reconocer que es complicado. Algo menos complicado si ya tuvieramos al menos los paneles con las consultas que queremos.

Filed Under: opensource Tagged With: grafana alarms, grafana alert, grafana alerting, grafana notifications, grafana teams

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

October 2022
M T W T F S S
 12
3456789
10111213141516
17181920212223
24252627282930
31  
« Jun   Dec »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz