Notificaciones de Grafana en Slack

por | octubre 21, 2018

Siguiendo la línea del último artículo de Grafana, como ya tengo algo saturada la bandeja de correo, acabé decidiéndome por montar las notificaciones de Grafana en Slack.

En primer lugar tendremos que crearnos una cuenta en Slack si no la tenemos todavía. Crearemos un espacio de trabajo (workspace) y un canal al que en mi caso he llamado #grafana. Todas las notificaciones de mi servidor Grafana irán a parar a ese canal.

Tendremos que crear un Webhook para que lleguen notificaciones a nuestro canal. Un webhook permite a Slack recibir notificaciones de un endpoint, en este caso desde mi Grafana. Para ello podemos seguir las instrucciones oficiales de que son bastante claras.

Creamos una nueva App para nuestro Workspace:

Habilitamos “Incoming Webhooks”. Una vez hecho esto añadimos un nuevo Webhook para nuestro Workspace en la sección inferior:

Indicamos en qué canal se van a dejar los mensajes para este Webhook:

Si queremos que en cada notificación a Slack se adjunte una imagen (de una gráfica por ejemplo) tendremos que crear un bot para ello. Este bot se encargará de escribir también en el canal #grafana y de adjuntar la imagen. Una vez creado el bot el token lo podemos dentro de Oauth and Permissions en Bot User OAuth Access Token:

De vuelta en Grafana, creo un nuevo Canal de Notificaciones indicándole mi URL para Webhooks y el token del bot para adjuntar las imágenes.

Realizando un test de envío ya veo una notificación en mi canal #grafana de Slack:

Ahora en mi dashboard de alertas, basta con especificar el nuevo canal de comunicaciones al que quiero que lleguen las notificaciones cuando se alcance un determinado threshold: