sábado, 16 de marzo de 2019

Automatizar el proceso de monitoreo de nuestros servidores con un bot de Telegram

Llevo unos días cocinando este post, no es casualidad, yo mido muy bien mis palabras y más cuando escribo. Ya preparé la base, el condimento cuando publiqué el post de automatizar con Aautox los procesos con Ansible. Pero todo esto vino porque antes hablé de Ansible.Es decir, todo esto es un proceso de cocción a fuego lento. Así que sigamos cocinando.


Cuando tenemos varios servidores, muchas veces nos podemos ver saturados o casi sin tiempo para monitorizarlo todo, por eso, si tenemos un proceso que lo automatice, nos hará nuestro trabajo un poco más sencillo.



Lo primero es que pasamos el/los sripts de aautox para cada servidor a nuestro crontab ¿Qué hará esto?



Pues nos va a generar unos txt donde, entre otras cosas, podremos ver la cantidad de espacio que tenemos en nuestras distintas particiones. Esto lo podemos programar para que lo genere a las 9 de la mañana o incluso antes de que entremos en la oficina para así saber, nada más entrar, cómo están nuestros servidores.

Pues ahora demos el siguiente paso, vamos a hacer que esos reportes nos lo envíe cada vez que haya un problema a nuestro Telegram, así, si ocurre algún problema podemos sacar el portátitl rápidamente y solucionarlo.

El primer paso es crear un bot de Telegram, algo tan sencillo como ir a Both Father y escribir una serie de comandos

Tras esto, nos dará un código que tendremos que utilizar en caso de querer tirar de la API de Telegram, una API que será necesaria utilizarla.


Tendremos que irnos a la API de Telegram añadiendo, entre medias el código que anteriormente nos da el Bot Father. Nos devolverá un id que tendremos que añadir posteriormente en el comando que vamos a utilizar para enviar los mensajes a nuestro Bot. Todo el código lo he dejado en mi proyecto de RedArmy, el cual dispone de su propio repositorio.




Esos scripts, uno por cada servidor, lo añadimos al crontab. Esto fue una prueba, pero simplemente poniendo @hourly [comando] tendremos un reporte (en caso de que el disco se vaya llenando por ejemplo) cada hora del estado de los servidores.


Y tendremos, cada hora, un reporte a nuestro Telegram en caso de que los servidores se llenen.

Esta solución nos reduce trabajo, ya que si lo que tenemos que hacer es simplemente monitorizar el estado de los servidores, con esto y con que nos mande el output de algún comando como vmstat, podremos hacernos una idea de cómo están nuestros servidores. Obviamente tendremos que hacer un trabajo un poco mayor, pero con estos reportes, básicamente nuestro trabajo consistiría en ver si hay procesos en zombie state y alguna cosilla más que tengamos que revisar.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...