Monitoreo de CPU y memoria de Servidor de Base de datos PostgreSQL

El monitoreo de nuestros servidores es una tarea importante para los devops, supongamos que se tiene un clúster de servidores de bases de datos PostgreSQL y se desea de una manera facil administrar el uso de recursos de la memoria y CPU.

Se puede implementar un sistema de monitoreo como Nagios, Collectd, Munin, zabbix, etc., pero eso significaria abrir otro puerto en su firewall y mantener otro proceso en ejecución. Si lo único que se busca es información básica como CPU y uso de memoria, con los siguientes pasos se podra realizar.

Crearemos dos tablas de base de datos que le permitirán consultar el uso de CPU y memoria desde la conexión de la base de datos. De esta manera, sus aplicaciones podran controlar el estado de los servidores sin necesidad de preocuparse por otra conexión u otro protocolo.

Puede ejecutar estos comandos en la base de datos maestra y también se propagarán a todas las bases de datos esclavas.

Primero, cargue el contenedor externo de datos del archivo y cree el servidor de datos externo:

A continuación, crearemos la tabla que carga loadavg de CPU desde el archivo /proc/loadavg:

La creación de la tabla que le permitirá consultar información de memoria, desde el archivo /proc/meminfo, es similar:

Ahora puede ejecutar consultas SELECT para ver la información.

Por supuesto, siempre puedes consultar partes específicas de meminfo de esta manera:

Como se puede observar, los datos de meminfo están un poco desordenados debido a los espacios en blanco en /proc/meminfo, por lo que esto requerirá cierta limpieza al momento de hacer la consulta.

Para tener nuestros datos un poco mas ordenados, crearemos una tabla donde se almacenará esta información.

Luego se puede crear una tarea que se ejecute cada cierta cantidad de minutos, horas, o de acuerdo a demanda y que inserte los valores en la tabla creada.

Del mismo se podría crear una tabla e ir registrando periódicamente los valores del archivo /proc/loadavg

Share on FacebookTweet about this on TwitterShare on Google+

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *