Cómo instalar Cacti con Cacti-Spine en Debian y Ubuntu


En este tutorial, aprenderemos cómo instalar y configurar la herramienta de monitoreo de red Cacti en la versión más reciente de Debian y Ubuntu 16.04 LTS . Cacti se compilará e instalará desde los archivos de origen durante esta guía.

Cacti es una herramienta de monitoreo de código abierto creada para monitorear redes, especialmente dispositivos de red, como conmutadores, enrutadores, servidores a través del protocolo SNMP. Cacti interactúa con los usuarios finales y se puede administrar a través de una interfaz de herramienta web.

  1. LAMP Stack Installed in Debian 9
  2. LAMP Stack Installed in Ubuntu 16.04 LTS

Paso 1: Instale y configure los requisitos previos para Cacti

1. En Debian 9 , abra el archivo de la lista de fuentes para editar y agregue los depósitos contrib y no-libres a El archivo cambiando las siguientes líneas:

# nano /etc/apt/sources.list

Agregue las siguientes líneas al archivo sources.list .

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. Luego, asegúrese de actualizar el sistema emitiendo el siguiente comando.

# apt update
# apt upgrade

3. En tu pila LAMP, asegúrate de que las siguientes extensiones de PHP estén presentes en el sistema.

# apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. A continuación, edite el archivo de configuración de PHP y cambie la configuración de zona horaria para que coincida con la ubicación física de su servidor, emitiendo el siguiente comando.

# echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. A continuación, inicie sesión en la base de datos MariaDB o MySQL desde la instalación de la pila LAMP y cree una base de datos para instalar Cacti emitiendo los siguientes comandos.

Reemplace el nombre de la base de datos de cacti, el usuario y la contraseña para que coincidan con sus propias configuraciones y elija una contraseña segura para la base de datos de cactus.

# mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. Además, emita los siguientes comandos para permitir que los usuarios de cactus seleccionen los permisos para la configuración de MySQL data.timezone emitiendo los siguientes comandos.

# mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
# mysql -u root -p -e 'grant select on mysql.time_zone_name to [email protected]'

7. A continuación, abra el archivo de configuración del servidor MySQL y agregue las siguientes líneas al final del archivo.

# nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
# nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

Agregue las siguientes líneas al final del archivo 50-server.cnf o mysqld.cnf .

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

Para la base de datos MariaDB también agregue la siguiente línea al final del archivo 50-server.cnf :

innodb_additional_mem_pool_size	= 80M

8. Finalmente, reinicie los servicios MySQL y Apache para aplicar todas las configuraciones y verificar el estado de ambos servicios emitiendo los siguientes comandos.

# systemctl restart mysql apache2
# systemctl status mysql apache2

Paso 2: Descargar y preparar la instalación de cactus

9. Comience a instalar Cacti desde las fuentes descargando y extrayendo la última versión del archivo de Cacti y copie todos los archivos de extracción a la raíz del documento web Apache, emitiendo los siguientes comandos.

# wget https://www.cacti.net/downloads/cacti-latest.tar.gz
# tar xfz cacti-latest.tar.gz 
# cp -rf cacti-1.1.27/* /var/www/html/

10. Elimine el archivo index.html del directorio /var/www/html , cree el archivo de registro de Cacti y otorgue a Apache permisos de escritura en la web ruta de la raíz.

# rm /var/www/html/index.html
# touch /var/www/html/log/cacti.log
# chown -R www-data:www-data /var/www/html/

11. A continuación, edite el archivo de configuración de cactus y modifique las siguientes líneas como se muestra en el siguiente ejemplo.

# nano /var/www/html/include/config.php

Cacti config.php muestra de archivo. Reemplace el nombre de la base de datos de cactus, usuario y contraseña en consecuencia.

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. A continuación, complete la base de datos de cactus con el directorio cacti.sql de /var/www/html/ emitiendo el siguiente comando.

# mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. Ahora instale algunos recursos adicionales, ya que el motor de Cacti recopila datos de dispositivos a través del protocolo SNMP y muestra los gráficos mediante el uso de RRDtool. Instalar todos ellos emitiendo el siguiente comando.

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Verifique si el servicio SNMP está activo y en funcionamiento reiniciando el daemon snmpd emitiendo el siguiente comando. También verifique el estado del demonio snmpd y sus puertos abiertos.

# systemctl restart snmpd.service 
# systemctl status snmpd.service
# ss -tulpn| grep snmp

Paso 3: Descarga e instala Cacti-Spine

15. Cacti-Spine es un reemplazo escrito de C para el sondeador predeterminado cmd.php . Cacti-Spine proporciona un tiempo de ejecución más rápido. Para compilar el pooler de Cacti-Spine desde las fuentes, instale las dependencias requeridas a continuación en su sistema.

---------------- On Debian 9 ---------------- 
# apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
# apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. Después de instalar las dependencias anteriores, descargue la última versión del archivo Cacti-Spine , extraiga el archivo comprimido y compile cacti-spine emitiendo la siguiente serie de comandos .

# wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
# tar xfz cacti-spine-latest.tar.gz 
# cd cacti-spine-1.1.27/

17. Compile e instale Cacti-Spine desde las fuentes emitiendo los siguientes comandos.

# ./bootstrap 
# ./configure 
# make
# make install

18. A continuación, asegúrese de que el binario de la columna vertebral sea propiedad de la cuenta raíz y establezca el bit suid para la utilidad de la columna vertebral ejecutando los siguientes comandos.

# chown root:root /usr/local/spine/bin/spine 
# chmod +s /usr/local/spine/bin/spine

19. Ahora, edite el archivo de configuración de Cacti Spine y agregue el nombre de la base de datos de cactus, el usuario y la contraseña al archivo de configuración de Spine como se ilustra en el siguiente ejemplo.

# nano /usr/local/spine/etc/spine.conf

Agregue la siguiente configuración al archivo spine.conf.

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

Paso 4: Configuración del asistente de instalación de Cacti

20. Para instalar Cacti, abra un navegador y navegue hasta la dirección IP o el nombre de dominio de su sistema en la siguiente URL.

http://your_IP/install

Primero, marque Aceptar el acuerdo de licencia y presione el botón Siguiente para continuar.

21. A continuación, verifique los requisitos del sistema y presione el botón Siguiente para continuar.

22. En la siguiente ventana, seleccione Nuevo servidor primario y presione el botón Siguiente para continuar.

23. A continuación, verifique ubicaciones y versiones binarias críticas y cambie la ruta binaria de Spine a /usr/local/spine/bin/spine . Cuando termines, presiona el botón Siguiente para continuar.

24. A continuación, verifique si todos los permisos de directorio del servidor web están en su lugar (los permisos de escritura están establecidos) y presione el botón Siguiente para continuar.

25. En el siguiente paso, compruebe todas las plantillas y presione el botón Finalizar para finalizar el proceso de instalación.

26. Inicie sesión en la interfaz web de Cacti con las credenciales predeterminadas que se muestran a continuación y cambie la contraseña de administrador, como se muestra en las siguientes capturas de pantalla.

Username: admin
Password: admin

27. A continuación, vaya a Consola - & gt; Configuración - & gt; Configuración - & gt; Poller y cambie el Poller Type de cmd.php a Spine binario y desplácese hacia abajo para Guardar Botón para guardar la configuración.

28. Luego, vaya a Consola - & gt; Configuración - & gt; Configuración - & gt; Rutas y agregue la siguiente ruta al archivo de configuración Cacti-Spine :

/usr/local/spine/etc/spine.conf 

Presione el botón Guardar para aplicar la configuración.

29. La configuración final que permite a Cacti poller comenzar a recopilar datos de los dispositivos monitoreados es agregar una nueva tarea de crontab para consultar cada dispositivo a través de SNMP cada 5 minutos.

El trabajo crontab debe ser propiedad de la cuenta www-data .

# crontab -u www-data -e

Añadir entrada de archivo Cron:

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Espere unos minutos a que Cacti recopile datos y vaya a Gráficos - & gt; Árbol predeterminado y debería ver los gráficos recopilados para sus dispositivos monitoreados.

¡Eso es todo! Ha instalado y configurado con éxito Cacti con Cacti-Spine , desde las fuentes, en la última versión de Debian 9 y Ubuntu 16.04 LTS servidor.