Instalación y configuración básica de Cacti en Debian para monitorizar un host

herramientas La instalación más sencilla (y, me atrevería a decir, más frecuente que he tenido que realizar) que suele hacerse con Cacti es aquella que se se usa para monitorizar los recursos de un único host (típicamente un servidor dedicado o VPS en una empresa de hosting) en el que el propio Cacti se encuentra instalado de forma local.

Cacti necesita para funcionar un servidor web (apache2, por ejemplo) con php, una base de datos de mysql-server, las rrdtools y snmp (cliente y agente). Seguramente tendremos ya instalados apache2 y mysql-server y, si no, añade los paquetes apache2, php5 y mysql-server al comando siguiente:

sudo apt-get install cacti snmp snmpd rrdtool

Durante la instalación se nos pedirá si queremos configurar de forma automática la base de datos que necesita cacti (en caso afirmativo, se nos pedirá la contraseña de root de mysql-server para crear dicha base de datos y un usuario de acceso a la misma) y el servidor web que usaremos (apache2 en nuestro caso).

Una vez concluida la instalación podremos acceder a Cacti con la URL http://ip_o_nombre_del_servidor/cacti. En el primer acceso se ejecutará un asistente en el que se nos pedirá aceptar la licencia de uso, decidiremos el tipo de instalación (nueva o actualización de una versión anterior) y se realizará un chequeo de dependencias:
chequeo inicial de dependencias durante la instalación de Cacti

Una vez cumplimentado esto se nos redirecciona a la ventana de login. El usuario inicial es admin y su password la misma. Inmediatamente después de realizar el primer login se nos forzará a cambiar esta password, así que tenla pensada de antemano 😉
Login inicial en Cacti. Usuario admin y password admin

Cacti está ya funcionando y recogiendo datos de forma automática del servidor en el que se encuentra instalado. Si lo dejamos unos minutos para que le de tiempo a recoger algunos y pulsamos sobre la solapa de gráficos (arriba a la izquierda) veremos que ya tenemos gráficas (no tan completas como estas que llevan ya más de 24 horas, claro) de carga de la CPU, ocupación de memoria, número de procesos y número de usuarios conectados.
Solapa de entrada a los gráficos de Cacti
Gráficos iniciados de forma automática para localhost en cacti

Para monitorizar el tráfico de red es preciso “tirar” de snmp. Lo primero que tenemos que hacer es configurar el daemon de snmp para que Cacti pueda leer de él. Para ello editamos el fichero /etc/snmp/snmpd.conf y quitamos el comentario que deshabilita la siguiente línea:

rocommunity public localhost

Reiniciamos el servicio (sudo service snmpd restart) y volvemos a Cacti para configurar la nueva gráfica. Para ello entramos en la opción Devices del menú de la izquierda, pulsamos sobre la entrada de localhost (la única que tendremos) y, en la ficha resultante, editamos el campo destacado en la imagen de aquí abajo (el correspondiente a la versión de SNMP que aparecerá como Not in Use) y luego pulsamos el botón de Save. Si todo ha salido bien y Cacti es capaz de contactar con el demonio SNMP de nuestro equipo, arriba a la izquierda aparecerán las líneas de información que también puedes ver resaltadas en este gráfico:
Añadiendo SNMP al dispositivo localhost en Cacti

En la parte inferior de esta misma ficha de datos, en el bloque de “Associated Data Queries” debería de aparecer ahora una línea etiquetada como “SNMP – Interface Statistics” (a la derecha de “Add Data Query”). La seleccionamos, pulsamos el botón de Add y, a continuación, el de Save.
Añadiendo gráficos de SNMP en Cacti

Bien, ahora volvemos a la parte superior de la página y pulsamos en el enlace de “Create Graphs for this Host”. En la página que nos aparece marcamos los interfaces de red cuyo tráfico queremos monitorizar y, ya que estamos, las unidades de disco cuya ocupación queremos controlar (eth0 y sda1, respectivamente, en el ejemplo aquí abajo). Bajo las líneas correspondientes a los interfaces de red tenemos, como puedes ver, un selector que nos permite elegir entre diferentes tipos de gráficos. A mi particularmente la que aparece por defecto (In/Out bits) es la que me parece más cómoda pero, ya sabéis, para gustos… 😉
Añadiendo gráficos de SNMP en Cacti

Pulsamos Create y listo. Los datos se empezarán a tomar inmediatamente y, a los pocos minutos, si volvemos a entrar en la solapa de Gráficos tendremos ya las primeras muestras disponibles. Después de 24 horas tus nuevas gráficas de tráfico de red y de ocupación de disco lucirán como estas:
Gráfica de tráfico de red en Cacti
Gráfica de ocupación de disco en Cacti

El siguiente gráfico que añadiremos será el de activida de lectura y escritura en discos, muy interesante sobre todo para monitorizar la actividad de nuestro disco de swap y detectar si la máquina está corta de memoria. También es el que más “trabajo” nos va a dar para ponerlo en marcha, así que atención.

Lo primero que necesitas es descargarte y descomprimir este fichero (extraído de este hilo del foro de Cacti que es de donde he sacado las instrucciones que te voy a contar) donde encontraras dos archivos con extensión XML. El que se llama net-snmp_devio.xml tienes que copiarlo al directorio /usr/share/cacti/site/resource/snmp_queries/ de la máquina. El otro, llamado cacti_data_query_ucdnet_device_io.xml, tienes que importarlo desde la opción “Import Template” que aparece en el menú de la izquierda.
Importando plantilla para IO de disco en Cacti

Si el resultado es correcto veremos algo como esto:
Importando plantilla para IO de disco en Cacti

Ahora volvemos a la opción de Devices, volvemos a seleccionar localhost y en la parte inferior, en el mismo bloque de ??Associated Data Queries?. ahora nos aparecerá una nueva línea etiquetada como “ucd/net – Device I/O” que debemos de seleccionar y, luego, pulsar el botón de Add y salvar los cambios.
Añadiendo una gráfica de tráfico de disco en Cacti

Volvemos a pulsar ahora en el enlace de “Create Graphs for this Host” y en el nuevo bloque que nos aparece seleccionamos las líneas correspondientes a los discos cuya actividad queremos seguir. En el ejemplo de aquí abajo se han seleccionado sda1 (la partición donde reside el sistema) y sdb (el disco de swap).
Añadiendo una gráfica de tráfico de disco en Cacti

Cambiamos al pie del bloque el tipo de gráfico si así lo deseamos y pulsamos el botón de Create. Listo:
Gráfica de tráfico de disco en Cacti

Y para terminar, un pantallazo con todos los gráficos de monitorización que tenemos ahora en nuestro servidor tras configurar sus dimensiones para que puedan verse cómodamente con un sólo vistazo (pulsa sobre él para verlo ampliado):
Mosaico de gráficas de monitorización de un host con Cacti

19 opiniones en “Instalación y configuración básica de Cacti en Debian para monitorizar un host”

  1. Pingback: @taranis1979
  2. Pingback: @Liamngls
  3. “Instalación y configuración básica de Cacti en Debian para monitorizar un host” ¡Es buenísimo, José María! ¡Es un título cojonudo para un libro canónico en los Mitos de Cthulhu!
    Imagínate: el “Necronomicón”, “los Manuscritos Pnakóticos”, “Cultes des Goules”, “el Libro de Eibon”, los “Unaussprechlichen Kulten” y, ahora, “Instalación y configuración básica de Cacti en Debian para monitorizar un host”. ¡Sublime!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *