Búsqueda de sitios web

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 última versión de Debian y Ubuntu 16.04 LTS. Cacti se compilará e instalará a partir de archivos fuente 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 y 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.

Requisitos

  1. Pila LAMP instalada en Debian 9
  2. Pila LAMP instalada en Ubuntu 16.04 LTS

Paso 1: instalar y configurar los requisitos previos para cactus

1. En Debian 9, abra el archivo de lista de fuentes para editarlo y agregue los repositorios contrib y non-free 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 su pila LAMP, asegúrese de que las siguientes extensiones 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 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 su instalación de pila LAMP y cree una base de datos para instalar Cacti . emitiendo los siguientes comandos.

Reemplace el nombre, el usuario y la contraseña de la base de datos de cactus 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 el usuario de cactus seleccione permisos para la configuración data.timezone de MySQL 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 cactiuser@localhost'

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, agregue también 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: descargue y prepare la instalación de Cacti

9. Comience a instalar Cacti desde las fuentes descargando y extrayendo la última versión del archivo Cacti y copie todos los archivos de extracción a la raíz de documentos web de 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 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

Ejemplo de archivo cactus config.php. Reemplace el nombre, el usuario y la contraseña de la base de datos de cactus 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 script cacti.sql del directorio /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 Cacti recopila datos de los dispositivos a través del protocolo SNMP y muestra gráficos utilizando RRDtool. Instálelos todos emitiendo el siguiente comando.

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. Verifique si el servicio SNMP está funcionando reiniciando el demonio 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: descargue e instale Cacti-Spine

15. Cacti-Spine es un reemplazo escrito en C para el encuestador predeterminado cmd.php. Cacti-Spine proporciona un tiempo de ejecución más rápido. Para compilar el pooler de Cacti-Spine a partir de 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 haber instalado las dependencias anteriores, descargue la última versión del archivo Cacti-Spine, extraiga el archivo tar 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 columna sea propiedad de la cuenta raíz y configure el bit suid para la utilidad de columna 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 de su sistema o el nombre de dominio en la siguiente URL.

http://your_IP/install

Primero, marque Aceptar 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 las 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 del directorio del servidor web están implementados (los permisos de escritura están establecidos) y presione el botón Siguiente para continuar.

25. En el siguiente paso, verifique 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 ilustra en las siguientes capturas de pantalla.

Username: admin
Password: admin

27. A continuación, vaya a Consola -> Configuración -> Configuración -> Encuesta y cambie el Tipo de encuestador de cmd.php< al binario Spine y desplácese hacia abajo hasta el botón Guardar para guardar la configuración.

28. Luego, vaya a Consola -> Configuración -> Configuración -> Rutas y agregue la siguiente ruta al archivo de configuración de 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 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

Agregar entrada de archivo Cron:

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

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

¡Eso es todo! Ha instalado y configurado correctamente Cacti con el pooler Cacti-Spine, desde fuentes, en la última versión de Debian 9 y Ubuntu 16.04. Servidor LTS.