Cómo instalar Cacti en Debian 9 Stretch

En este artículo veremos cómo instalar Cacti en Debian 9 Stretch paso a paso, de modo que podrás monitorizar de forma gráfica los equipos y dispositivos de tu red o tus servidores desde tu servidor o VPS Debian.

Antes de instalar Cacti en Debian 9 Stretch

Para completar esta guía de instalación y configuración de Cacti en Debian 9 Stretch deberías satisfacer los siguientes requerimientos básicos:

  • Un sistema Debian 9 Stretch actualizado.
  • Una pila tipo LAMP (servidor web con PHP y bases de datos).
  • Acceso a línea de comandos como root o un usuario con privilegios de sudo.
  • Conexión a Internet.

Si aún no dispones del entorno necesario, puedes consultar en primer lugar nuestra guía de instalación de la pila LAMP en Debian 9 Stretch.

También se necesitan algunas herramientas del sistema que obtendremos de los repositorios de Debian 9, para lo que actualizamos su información:

~$ sudo apt update

E instalamos dichas herramientas:

~$ sudo apt install -y rrdtool

Cómo descargar Cacti para Debian 9 Stretch

Vamos a descargar Cacti para Debian 9 Stretch desde la sección de descargas del sitio oficial, ya que los paquetes que existen en los repositorios de la distribución pertenecen a versiones bastante antiguas:

como descargar cacti para debian 9 stretch

Encontraremos la última versión estable de Cacti en dos paquetes con formato de compresión, .tar.gz y .zip, siendo el paquete .tar.gz el que descargaremos, en este caso desde consola con el comando wget:

~$ wget https://www.cacti.net/downloads/cacti-1.2.17.tar.gz

Cómo instalar Cacti en Debian 9 Stretch

Para instalar Cacti en Debian 9 Stretch seguiremos una serie de pasos orientados a preparar el sistema, de forma que el instalador web corra sin encontrar incidencia alguna.

Archivos de Cacti

Extraemos el contenido del paquete que acabamos de descargar en su ubicación definitiva:

~$ sudo tar xf cacti-1.2.17.tar.gz -C /var/www/

Como el subdirectorio que se crea contiene números de versión en el nombre, para facilitar la instalación y mantenimiento creamos un enlace simbólico sin número de versión:

~$ sudo ln -s /var/www/cacti-1.2.17/ /var/www/cacti

Cacti necesita escribir en su propio directorio de instalación, por lo que cambiamos la propiedad del mismo y de su contenido al usuario con el que corre el servicio web en Debian 9:

~$ sudo chown -R www-data:www-data /var/www/cacti/

PHP

Cacti requiere la disponibilidad en Debian 9 Stretch de ciertas extensiones, que instalamos desde los repositorios del sistema; en el caso de la versión nativa para Debian 9:

~$ sudo apt install -y php-gd php-gmp php-ldap php-mbstring php-snmp php-xml

Si usamos alguna versión del repositorio alternativo, habrá que indicarla en el nombre de los paquetes; por ejemplo, para la versión 7.3:

~$ sudo apt install -y php7.3-gd php7.3-gmp php7.3-ldap php7.3-mbstring php7.3-snmp php7.3-xml

Recargamos la configuración del servicio web para poder utilizar las nuevas extensiones:

~$ sudo systemctl reload apache2

Servicio web

En el caso de trabajar con Apache creamos un archivo de configuración para hacer navegable la aplicación:

~$ sudo nano /etc/apache2/sites-available/cacti.conf

El contenido será un alias y algunas directivas para aplicar ciertos valores requeridos de PHP:

Alias /cacti /var/www/cacti

<Directory /var/www/cacti>
        php_value max_execution_time 60
        php_value memory_limit 400M
</Directory>

Guardamos el archivo y activamos la configuración:

~$ sudo a2ensite cacti.conf

Y recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Servicio de base de datos

Tendremos que realizar algunos ajustes de configuración, además de crear la base de datos sobre la que se apoya Cacti.

Configuración del servicio

Editamos el archivo de configuración del servicio, por ejemplo, para MariaDB procedente del repositorio oficial de MariaDB:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Para MariaDB 10.4 la ruta del archivo es distinta:

~$ sudo nano /etc/mysql/my.cnf

Para otras versiones de MariaDB o MySQL habrá que localizar el archivo equivalente.

Buscaremos la sección mysqld y añadiremos las siguientes líneas:

...
[mysqld]
...
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
join_buffer_size = 32M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1024M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_buffer_pool_instances = 10
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
...

Hay que tener en cuenta que algunas de estas directivas podrían encontrarse ya en el archivo con valores distintos, por lo que conviene revisarlo. Si durante la instalación se comprobase que se necesitan modificar estos u otros valores, habrá que revisar este archivo de nuevo.

Terminados los cambios y guardado el archivo reiniciamos el servicio de base de datos.

~$ sudo systemctl restart mariadb

Base de datos

Conectamos al sevicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database cacti character set utf8mb4 collate utf8mb4_unicode_ci;

En MariaDB ó MySQL 5 creamos el usuario así:

> create user cactiuser@localhost identified by 'XXXXXXXX';

Y en MySQL 8 además especificamos el plugin de conexión:

> create user cactiuser@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos los permisos:

> grant all privileges on cacti.* to cactiuser@localhost;

Y también concedemos permiso de acceso a la tabla de zonas horarias:

> grant select on mysql.time_zone_name to cactiuser@localhost;

Cerramos la conexión:

> exit;

Cargamos la base de datos de Cacti con el script SQL proporcionado por el paquete:

~$ mysql -u root -p cacti < /var/www/cacti/cacti.sql

Y cargamos la tabla de zonas horarias de MySQL, que normalmente suele estar vacía por defecto:

~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql

Puedes ignorar las advertencias que se produzcan.

Configuración de Cacti

Editamos la configuración por defecto:

~$ sudo nano /var/www/cacti/include/config.php

En pasos anteriores hemos creado la base de datos y el usuario con los nombres por defecto, pero no la contraseña. Buscamos la variable que almacena la contraseña:

...
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
...

Y la cambiamos por el valor que hayamos utilizado:

...
$database_password = 'XXXXXXXX';
...

Opcionalmente, podemos buscar la variable cacti_cookie_domain:

...
//$cacti_cookie_domain = 'cacti.net';
...

Este valor permite las conexiones a Cacti sólo si provienen de un dominio cocreto y se usa para cifrar la cookie de sesión. Si queremos aplicar este mecanismo de seguridad activamos la variable eliminando los caracteres // al inicio de línea y le damos el valor apropiado:

...
$cacti_cookie_domain = 'debian9.local.lan';
...

Guardamos.

Cron

Cacti realiza la obtención de datos de los dispositivos usando una tarea programada en Debian 9 Stretch. Debemos crear esta tarea manualmente a través del correspondiente archivo para el servicio Cron:

~$ sudo nano /etc/cron.d/cacti

Con esta línea como contenido:

*/5 * * * *     www-data /usr/bin/php /var/www/cacti/poller.php 2>&1

Desde el momento en que guardamos el archivo comienza la recolección de datos.

Instalador web

Ya podemos acceder al instalador web de Cacti para Debian 9 Stretch desde el navegador web, indicando la dirección (IP, dominio, nombre DNS, ect.) y la ruta o alias de la aplicación.

Por ejemplo, la máquina Debian 9 sobre la que hemos preparado esta guía es accesible en el subdominio debian9.local.lan, y hemos configurado el acceso a Cacti usando el alias /cacti, por lo que podemos utilizar http://debian9.local.lan/cacti como URL:

como instalar cacti en debian 9 stretch

Se muestra la página de inicio de sesión, en la que introduciremos admin como usuario y también como clave.

Por seguridad tendremos que cambiar la clave por defecto, siguiendo los requisitos de Cacti para las contraseñas:

instalar cacti en debian 9 stretch

Se mostrará el acuerdo de licencia y un desplegable para elegir el idioma de la interfaz de Cacti:

instalacion de cacti en debian 9 stretch

Seleccionamos el idioma, aceptamos el acuerdo de licencia y continuamos.

En la siguiente página se mostrará el resultado de la comprobación de requisitos del sistema para la instalación de Cacti:

instalador de cacti para debian 9 stretch

Si has seguido los pasos anteriores deberían cumplirse prácticamente todos los requisitos. En caso contrario soluciona el problema y recarga la página.

De todas formas puede que algunos valores no sean los esperados, pero normalmente se puede continuar.

Seguimos con el tipo de instalación:

instalando cacti en debian 9 stretch

En este caso se trata de un nuevo servidor primario, que es el valor por defecto.

Se revisarán los permisos de acceso a los directorios de la aplicación:

También se comprobarán las ubicaciones y versiones de binarios y herramientas de Debian 9:

Cacti usa un sistema de listas blancas en su método de instalación de datos, cuyo funcionamiento se nos explica durante la instalación:

Tendremos que confirmar el haber leído y entendido las particularidades del uso de este sistema.

El siguiente paso configura el perfil predeterminado para la obtención de datos:

Los valores adecuados funcionan, pero puedes personalizarlos.

En cuanto a la automatización de escaneo de red, configura el rango de red aplicable para tu red local antes de continuar.

Tendremos que seleccionar las plantillas disponibles:

Puedes dejar marcadas todas las plantillas disponibles sin problema.

Una última comprobación revisará las propiedades de la base de datos:

En este punto ya tenemos todo listo para iniciar la instalación:

Marcamos «Confirmar instalación» y seguimos el enlace «Instalar«.

Se inicia el proceso de instalación mostrándose el avance mediante una barra de progreso y una lista de tareas realizadas:

Finaliza la instalación con la posibilidad de consultar el registo de tareas:

Siguiendo el enlace «Comenzar» entraremos en la página principal de Cacti, con la sesión iniciada:

cacti para debian 9 stretch

Como la máquina local está siendo monitorizada, podemos acceder a sus gráficas de actividad seleccionando la solapa «Gráficos» y en el panel lateral desplegando al árbol incial «Default tree» hasta poder marcar «Local Linux Machine«:

cacti en debian 9 stretch

Dependiendo del tiempo transcurrido desde la creación de la tarea de Cron para la obtención de datos hasta la visita a esta página de gráficos, habrá más o menos datos para mostrar. Es posible que incluso ni haya comenzado la obtención de datos, pero las gráficas se actualizan automáticamente y en pocos minutos deben empezar a mostrar datos.

Conclusión

Ahora que sabes cómo instalar Cacti en Debian 9 Stretch podrás monitorizar tu servidor o VPS fácilmente, comprobando gráficamente el estado de sus recursos.

En caso de dudas, preguntas, sugerencias, etc. puedes dejar un comentario.

Ah, y si ya monitorizas los sistemas y equipos de tu red local gracias a esta guía de instalación de Cacti en Debian 9 Stretch, ¡¡puedes invitarme a un café!

 

O puedes dejar 1 $ de propina con PayPal:

¡Gracias!

 

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies