Categorías
DevOps Seguridad

Cómo recibir alertas del estado de los servicios GKE en Google Chat

La adecuada monitorización de los servicios es fundamental en un entorno cloud. En este post, te contamos como recibir notificaciones en Google Chat del estado de los servicios desplegados en GKE.

Las Alertas de GCP (Uptime Alerts) son notificaciones que se generan cuando tu aplicación falla o cuando el rendimiento de la misma no cumple con los criterios definidos.

Estas pueden dirigirse a una cola de mensajería Pub/Sub para, a partir de ahí, recibirlas en un canal de Google Chat.

1. Configuración Canal de Chat y creación del Weebhook

Lo primero será crear un canal de google chat; para las pruebas hemos creado este: GKE ALERTS PRUEBAS

Una vez tengamos creado el canal de chat donde queremos emitir las alertas tendremos solo tendremos que configurar un nuevo webhooks para la emisión de las mismas.

Para ello dentro del mismo chat accederemos a la gestión de los weebhooks y creación como se indica en las siguientes imagenes:

Una vez añadido el webhook nuevo solo tendremos que copiar la url del webhook creado para después utilizarla en la configuración de GKE.

2. Configuración del servicio Pub/Sub

Para la configuración de las notificaciones en Google Cloud Platform (GCP) es importante tener los permisos necesarios para cada uno de los pasos que a continuación se detallan.

Una vez tengamos los permisos necesarios deberemos configurar un nuevo tema que será el encargado de “dispararse” para emitir la alerta hacia el canal de chat. Accederemos a esta opción de menú buscando Pub/Sub en la barra de búsqueda.

En la ventana de Crear un tema, dejaremos todo por defecto y sólo indicaremos un ID del tema.

El nombre del tema que sale debajo del input más tarde lo usaremos para otra configuración no es importante copiar ya que en la tabla de temas lo tendremos.

Después de crear el tema procederemos podremos definir es esa misma página la función pero en este caso lo haremos desde las Cloud Functions.

3. Configuración de la Cloud Function

Es la función encargada de realizar la llamada al webhook anteriormente configurado con los datos que nosotros le indiquemos que no van a ser otros que el mensaje.

Una vez dentro de Cloud Functions le daremos a “Crear Función”.

Como vemos en la imagen deberemos rellenar los datos:

  1. Nombre de la función
  2. Región en la que va a estar alojada
  3. Tipo de activador que en este caso es Cloud Pub/Sub
  4. Elegiremos el tema creado anteriormente

Guardamos.

A continuación, se desarrolla la función con la llamada al webhook del chat de google y le daremos a implementar.

Llamada webhook chat google con el mensaje:

Importante: Si se utilizan dependencias para el desarrollo se deben indicar en el package.json.

4. Configuración de Alertas (Uptime Alerts)

Se configurarán en la opción de menú de Monitoring/Alertas.

Dentro de “Edit Notification Channels” nos desplazamos hasta la parte de Cloud Pub/Sub.

Completamos el formulario con el nombre del canal y el nombre del tema antes configurado.

5. Asociar alertas

Para asociar las alertas creadas debemos crear una verificación de tiempo de actividad y en la parte de Alerta y Notificación asociar la alerta creada.

De esta manera, recibiriremos un mensaje en nuestro canal de chat cuando exista un problema con un servicio y este no se encuentre activo.