lunes, 1 de octubre de 2018

Monitorización de procesos y memoria de tus sistemas con htop

Una de las partes más importantes de la administración de un servidor es saber la memoria que tiene, cómo corren los procesos, cuáles se han ejecutado, cuáles no,etc. Es más, mucho de los problemas que me encuentro cuando entro en la oficina y entro a los servidores, es la memoria de la base de datos que está casi al 100% y da problemas a todo el entorno, por lo que controlar bien esto es elemental.


Sobre el monitoreo, ya os hablé un poco en el post en el que hablaba sobre Pandora FMS, pero no es la única forma de hacerlo por supuesto.

Pandora FMS está más destinado a cuando tenemos varios servidores conectados entre sí como en un clúster de ata disponibilidad. Ahí podremos ver bien qué sistemas están fallando y podremos entrar rápidamente a ponerlos Up de nuevo o a utilizar el server de backup si el que ha fallado es el de Prod.

Pero ahora imaginemos que en nuestros servidores GNU/Linux, tenemos varios programas corriendo {procesos}. Uno de ellos, es un script que obtiene datos de la web y los transforma a un json. Este script, lo metemos en un crontab para que se ejecute todos los días a las 7 de la mañana por ejemplo. Ahora tenemos otro script que lo que hace es obtener ese script y enviarlo por scp a otro servidor. Este segundo scrip tendría que ejecutarse a lo mejor a las 7:30, pero claro, si el primer script no termina antes de las 7:30, el segundo script ya empieza con retraso y podría fallar este segundo.

Pues esto es gran parte de mi trabajo ahora. Esto, como os imagináis, con Pandora FMS no se puede hacer bien. Esto lo podemos hacer tirando de ps y grep, pero si son muchos scripts los que analizar, esto puede serultar poco eficiente. Para solucionar esta situación tenemos una herramienta bastante buena que se llama htop.


Como veis, nos lista todos los procesos abajo, y arriba nos muestra el estado de nuestra CPU, las tareas que está haciendo, la memoria y la swap. Y como he dicho monitorizar esto es bastante importante, ya que uno de los errores que más me suelo encontrar es que la memoria de la base de datos pete o que estén corriendo tantos procesos que la CPU peta o bien que hay tantos procesos que se empieza a hacer swapping, por lo que el rendimiento del server se ve afectado.

Esta tarea es casi tan importante o más que la configuración de nuestros servidores, lo digo siempre. Te puedes equivocar en la configuración de los conf files de cada servidor o bien es que no tenías pensado que tuvieses tanto tráfico o simplemente está ocurriendo algo que desconoces. Que pase esto es normal, y no pasa nada, lo único es que hay que hacer un buen trabajo de monitorización de los procesos, de cuál está siendo el rendimiento de la base de datos,etc.

No obstante, con htop suele existir una confusión que es bastante común, y es el tema de los colores usados en la parte superior para describir el estado de la memoria y la swap.


Para aclararnos, podemos, mientras está ejecutándose htop, pulsar "h" y veremos una ayuda que nos aclara esto bastante. Como vemos, en la Memory Bar, el color verde es la memoría usada y no la libre. La azul es el buffer y la naranja es la cache.

Por otro lado, el rojo en la Swap bar es la usada y no la que queda ni nada por el estilo. Esto es importante, ya que si interpretamos mal los datos, podemos estar tomando malas decisiones a la hora de configurar nuestros servidores.

En cuanto a lo demás, lo que nos queda es probar y equivocarnos, no hay otra. Un fallo en nuestro servidor es una ocasión para aprender el por qué está pasando eso. Por supuesto, la idea ser´ia probar esto en un server de backup y no en el de Prod. Nuestro trabajo es este, no nos queda otra.

¿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...