https://www.ochobitshacenunbyte.com/2017/09/04/instalar-cacti-en-un-servidor-centos-7/
Hace tiempo que no pruebo las últimas versiones de Cacti, ya sabéis, esa fabulosa
herramienta gráfica, que nos permite ver en directo el estado de nuestros servidores,
utilizando las aplicaciones RRDtool. Además, en este caso utilizaré para las pruebas una
máquina virtual con CentOS, ya que últimamente me estoy moviendo sobre todo con
sistemas con paquetería RPM. Así que nada, vamos al lío.
Preparando el equipo
Además, he deshabilitado SELinux, para no tener ningún tipo de problemas. Para ello sólo
debemos modificar el fichero /etc/selinux/config, dejando “SELINUX=disabled”.
Recuerda que una vez modificado el fichero debemos reiniciar el servidor.
1
systemctl status firewalld
1
yum update
1
yum install MariaDB-server MariaDB-client
1
2 systemctl enable mariadb.service
systemctl start mariadb.service
1
mysql_secure_installation
De esa manera podemos asignar una contraseña segura a super usuario de la base de datos.
1 yum update
2 yum install httpd httpd-devel php-mysql php-pear php-common php-gd
3 php-devel php
yum install php-mbstring php-cli php-snmp net-snmp-utils net-snmp-libs
rrdtool
1
2 systemctl enable httpd
3 systemctl enable snmpd
4 systemctl start httpd
systemctl start snmpd
Configuración de PHP
1
php -m
1
date.timezone = Europe/Madrid
1
2 ; Enable mysql extension module
extension=mysql.so
1
2 ; Enable snmp extension module
extension=snmp.so
Para que además podamos importar ficheros desde Cacti, también descomentaremos en el
fichero /etc/php.ini
1
file_uploads = On
Una vez hechos los cambios reiniciamos el servicio ‘httpd’
1
systemctl restart httpd.service
Instalación de Cacti
Los paquetes necesarios para instalar el producto se encuentran en el repositorio EPEL, por
lo que antes tenemos que instalarlo:
1
2 yum install epel-release
3 yum update
yum install cacti
Una vez instalado, debemos crear la base de datos, que utilizará Cacti, para ello debemos
acceder a la consola de base de datos.
1
mysql -u root -p
1
2 CREATE DATABASE cacti;
GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'contrasea';
Salimos de la consola de base de datos con ‘exit’, ahora nos queda importar el fichero de
esquema de base de datos de Cacti.
1
2 cd /usr/share/doc/cacti-1.1.16/
mysql -u cactiuser -p cacti < cacti.sql
1
2 $database_type = 'mysql';
3 $database_default = 'cacti';
4 $database_hostname = 'localhost';
5 $database_username = 'cactiuser';
6 $database_password = 'contrasea';
7 $database_port = '3306';
$database_ssl = false;
Ahora ya podemos reiniciar, tanto el motor de base de datos como el servidor web:
1
2 systemctl restart mariadb.service
systemctl restart httpd.service
Ya hemos comentado antes que debemos utilizar ‘firewall-cmd’ para habilitar el puerto 80,
y así poder acceder al panel web.
1
2 firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
1
2 Alias /cacti /usr/share/cacti
3 <Directory /usr/share/cacti/>
4 <IfModule mod_authz_core.c>
5 # httpd 2.4
6 Require all granted
7 </IfModule>
8 <IfModule !mod_authz_core.c>
9 # httpd 2.2
10 Order deny,allow
11 Deny from all
12 Allow from all
13 </IfModule>
</Directory>
1
systemctl restart httpd.service
Debemos añadir una tarea utilizando Cron, cada cinco minutos, para que ejecute el script
que llama al fichero poller.php, esencial para recolectar las gráficas.
Instalación web
En la primera página debemos aceptar la licencia GPL del producto, a continuación nos
aparecerá una lista de todos los requisitos del servidor, si no los cumple, nos los dirá. El
más importante en mi caso, ha sido relativo a la tabla de uso horario, para solventarlo,
debemos ejecutar:
1
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
1 mysql –u root –p
2 MariaDB [(NONE)]> GRANT SELECT ON mysql.time_zone_name TO
3 'cactiuser'@localhost;
Query OK, 0 ROWS affected (0.00 sec)
https://www.ochobitshacenunbyte.com/2016/12/22/anadir-nuevo-dispositivo-a-cacti/
Instalación de SNMP
Para que más tarde podamos añadir las gráficas del host en Cacti, debemos instalar una
serie de paquetes en el cliente. En nuestro caso se trata de una servidor web, con Ubuntu.
1
2 sudo apt update
sudo apt install snmpd
1
2 agentAddress udp:161
3 rocommunity nombre-comunidad ip-del-servidor-cacti
4 sysLocation Mundo
sysContact correo@dominio.com
De esta manera indicamos que desde el servidor cacti, utilizando el nombre de comunidad
que nosotros decidamos, se accederá al dispositivo.
La segunda parte es permitir que el servidor Cacti pueda acceder por el firewall. Para ello
habilitamos la IP escribiendo:
1
sudo ufw allow from dirección-de-nuestro-servidor
UFW es un gestor de firewall que viene por defecto en Ubuntu, pensado para facilitar las
cosas al usuario.
Ahora viene la parte más gráfica. Desde el panel de administración, nos debemos ir a la
pestaña “Console” y allí, en la columna de la izquierda, marcar sobre “Devices”. Añadimos
un nuevo dispositivo señalando “Add” En la nueva ventana sólo hay que añadir dos datos,
el primero la descripción de la máquina y en el segundo la IP. Tambiés es importante
indicar en el desplegable la plantilla de gráficas que vamos a usar. De momento esa parte
nos la saltaremos y la dejaremos vacía.
Justo en el tercerio final de la página, añadimos una plantilla llamada “UNIX – Load
Average” y todas las querys de datos del grupo SNMP.
Al final de ventana nos encontramos con el botón “Crear“, que usaremos al finalizar la
configuración. Una vez hecho esto, volvemos a la misma vista, y en el menú superior,
marcamos “Create graphs for this host“
Nos aparecerá una extensa ventana con todos los datos que podemos visualizar, tenemos
que marcar los que más nos interesen:
Selección de datos a visualizar
Guardamos y pasamos al siguiente paso. Para poder ver las gráficas del host en la pestaña
“Graphs“, se debe añadir a la vista. Eso lo haremos desde el panel “Console“, en la
columna de izquierda, marcando sobre “Graph Trees“, desde allí la podemos añadir.
Incluso nos permite crear subcarpetas, pensado para grandes entornos.