Algunas veces, en nuestro servidor PostgreSQL no sabemos lo que ha provocado que disminuya el rendimiento que tenemos configurado. Para averiguarlo debemos de analizar los recursos, esto se consigue con una monitorización del sistema y para ello podemos utilizar un software Open Source llamado munin.
¿Qué es munin y para qué sirve?
Se trata de una herramienta de monitorización de recursos en red. Con ello, nos puede ayudar a analizar las tendencias de recursos y memoriza (de ahí su nombre) lo que ha provocado una bajada de nuestro rendimiento. También alerta a los usuarios cuando el servidor PostgreSQL no va bien y nos alerta por segunda vez cuando este problema se ha resuelto.
¿Dónde podemos descargar munin?
En la plataforma de repositorios github, podemos encontrar la herramienta de monitorización y, además, el paquete de complementos contrib y otros plugins.
En la web oficial de munin encontraremos un enlace para descargar un paquete comprimido del código fuente que contiene la última versión estable de los archivos de la aplicación munin, y otro enlace para la última versión en desarrollo.
Plataformas soportadas
Munin 2.0 está disponible entre otros en los repositorios de las siguiente distribuciones de Linux:
- Debian.
- Ubuntu.
- Fedora.
- Red Hat.
- Mandriva.
- Gentoo.
También está disponible en las diversas versiones de FreeBSD.
Consideraciones previas
Se recomienda instalar desde los empaquetados existentes según el sistema, ya que la distribución de código fuente está menos testeada. El estado actual del empaquetado del sistema es tan satisfactorio, que incluso los programadores lo usan en vez del código fuente.
Munin está escrito en Perl, el nodo maestro requiere perl 5.10 o superior y todos los módulos requeridos para poder construir Munin. También es recomendable un servidor web, aunque es opcional. Para los nodos no son necesarios todos los módulos, sólo los siguientes:
- Net::Server
- Net::Server::Fork
- Time::HiRes
- Net::SNMP (Optional)
Conectar con PostgreSQL
- Instalar los plugins necesarios para monitorizar los recursos de PostgreSQL. Dado que están programado en Perl, debemos de instalar previamente el módulo DBD::pg perl.
- Hay que activar los parámetros de recolección de estadística y monitorización de PostgreSQL. Por lo tanto hay que editar el archivo de configuración “postgresql.conf”.
- Para que munin se pueda conectar con nuestra base de datos, debemos de crear las variables del sistema PGHOST, PGDATA y PGPORT.
Ejemplo
Una vez que tenemos configurado el servidor y el nodo donde vamos a analizar los recursos de Postgres (en mi caso es en la misma máquina con sistema Debian), y realizado lo descrito anteriormente. Arrancamos el servidor postgres y el nodo.
Abrimos el navegador e indicamos la ruta donde se encuentran los archivos html (file:///var/cache/munin/www/index.html). Veremos que nos aparece el módulo de postgresql.
Este gráfico muestra las conexiones diarias a las bases de datos de mi servidor postgres. Donde podemos observar que actualmente sólo hay una conexión a la BD “postgres”. Cuyo tiempo medio es de 962 milisegundos. Además, podemos ver que hubo una conexión a la base de datos “template1” y que el tiempo medio fue de 480 milisegundos.
Conclusión
Con munin podemos monitorizar de forma sencilla todo nuestro servidor al completo. Podemos obtener gráficas del hardware, procesos, sistema, red, softwares, servicios, etc. Al igual que otras herramientas gráficas para monitorizar PostgreSQL. Para más información sobre la herramienta munin para realizar la monitorización de PostgreSQL, visita la guía oficial.