Sei sulla pagina 1di 10

Instalar Cacti en un servidor CentOS 7

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

La primera parte es la instalación, es importante que tengamos el sistema operativo


actualizado, ya os he comentado que voy a utilizar CentOS, la versión del sistema es la
siguiente:

1 [root@servcacti ~]# uname -a


2 Linux servcacti.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22
3 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
4 [root@servcacti ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

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.

El firewall lo he dejado habilitado, podemos comprobar su estado escribiendo:

1
systemctl status firewalld

Más adelante veremos cómo añadir reglas utilizando la herramienta “firewall-cmd”

Instalando los paquetes necesarios


Cacti está escrito en PHP y a nivel de servidor web vamos a utilizar Apache. En lo que
respecta a la base de datos, me voy a decantar por la última versión disponible de
MariaDB, utilizando sus repositorios.

Lo primero que haremos es instalar el repositorio de MariaDB, podemos saber cuál es el


que le corresponde a nuestro sistema operativo desde el siguiente enlace.

Añadimos la información que nos muestra a un fichero en /etc/yum.repos.d/, llamado, por


ejemplo, MariaDB.repo. En mi caso, con la información:

1 # MariaDB 10.2 CentOS repository list - created 2017-08-31 08:31 UTC


2 # http://downloads.mariadb.org/mariadb/repositories/
3 [mariadb]
4 name = MariaDB
5 baseurl = http://yum.mariadb.org/10.2/centos7-amd64
6 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

A continuación actualizamos e instalamos:

1
yum update

1
yum install MariaDB-server MariaDB-client

Ya hemos instalado el motor de la base de datos. Ahora debemos añadir el servicio al


arranque además de encenderlo:

1
2 systemctl enable mariadb.service
systemctl start mariadb.service

Siempre es recomendable asegurar la instalación, para ello utilizaremos la orden:

1
mysql_secure_installation

De esa manera podemos asignar una contraseña segura a super usuario de la base de datos.

Y voilà, ya tenemos una cosa menos:

1 [root@servcacti yum.repos.d]# mysql --version


2 mysql Ver 15.1 Distrib 10.2.8-MariaDB, for Linux (x86_64) using
readline 5.1

Empezamos instalando los paquetes de Apache y PHP. Además de SNMP, protocolo


imprescindible para el funcionamiento de Cacti, ya que se encarga de intercambiar
información entre dispositivos en red. Y el más importante, rrdtool, esencial para generar
las gráficas.

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

Añadimos los servicios al arranque y los encendemos:

1
2 systemctl enable httpd
3 systemctl enable snmpd
4 systemctl start httpd
systemctl start snmpd

Configuración de PHP

Para el correcto funcionamiento de Cacti, debemos modificar algunos parámetros del


fichero de configuración de PHP, ubicado en /etc/php.ini

1
php -m

Comprobamos que en el fichero /etc/php.ini tengamos estas líneas de la siguiente manera:

1
date.timezone = Europe/Madrid

Además comprobamos el fichero /etc/php.d/mysql.ini

1
2 ; Enable mysql extension module
extension=mysql.so

Y la extensión para SNMP , en el fichero /etc/php.d/snmp.ini

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

Creamos la base de datos y el usuario, llamado “cactiuser”, además de asignarle los


permisos sobre ella.

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

Cacti tiene un fichero de configuración de la base de datos, ubicado en /etc/cacti/db.php,


lo tenemos que editar con los datos de usuario y base de datos:

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

Configurar el Virtual Host

Vamos a modificar el fichero de configuración de Apachel del Virtual Host de Cacti,


ubicado en /etc/httpd/conf.d/cacti.conf, con una configuración similar a la siguiente:

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>

Volvemos a reiniciar el servidor web.

1
systemctl restart httpd.service

Tareas programadas con Cron

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.

Descomentamos la línea ubicada en el fichero /etc/cron.d/cacti

1 */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php >


/dev/null 2>&1
Con esto ya podemos pasar a la parte web. En nuestro navegador http://nuestra-ip/cacti

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

Y desde la consola de base de datos, con el usuario ‘root’

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)

El resto de alertas no son graves, se tratan de mejoras de rendimiento, podéis consultar el


siguiente enlace, donde se ofrece ayuda al respecto.

Cuando nos aparezca la página de entrada, utilizando el usuario ‘admin’ y contraseña


‘admin’, nos pedirá cambiar la contraseña, algo básico a nivel de seguridad.

Y con esto ya lo tenemos listo:


Espero que en algún momento os sirva de ayuda el artículo, nos vamos leyendo.

Os dejo enlaces a otros artículo en los que hablo de Cacti:

Añadir nuevo dispositivo a Cacti

https://www.ochobitshacenunbyte.com/2016/12/22/anadir-nuevo-dispositivo-a-cacti/

Añadir nuevo dispositivo a Cacti


Vamos a ver cómo añadir un nuevo dispositivo a Cacti, una completa herramienta de
visualización de gráficas en red, de la que ya hablé, justo antes de verano. Para realizar los
pasos necesarios, antes de nada necesitamos una pieza imprescindible, snmp, una
herramienta diseñada para monitorizar recursos de red.

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.

Actualizamos e instalamos el paquete necesario:

1
2 sudo apt update
sudo apt install snmpd

El fichero de configuración del demonio es /etc/snmp/snmpd.conf . Para que el servidor


cacti pueda comunicarse correctamente con el demonio debemos hacer varias cosas. La
primera es añadir las siguientes líneas si no existen o bien modificarlas:

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.

Por último, reiniciamos el servicio escribiendo : “sudo service snmpd restart”

Añadir gráficas de cliente en Cacti

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.

Añadir nuevo dispositivo

En la parte inferior es importante utilizar la versión 2 de SNMP, además del nombre de la


comunidad que hemos indicado a principio del artículo.
Selección versión SNMP y nombre comunidad

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.

Si todo ha ido bien, ya tenemos las nuevas gráficas funcionando:

Para el artículo el entorno ha consistido en dos máquinas virtuales, en la primera he


utilizado Debian Jessie, para la instalación del servidor Cacti. En la segunda máquina he
utilizado Ubuntu en su versión 14. Aquí, utilizando el rol de cliente, he realizado los pasos
de éste artículo. Ambas máquinas tenían dos IP, una pública y otra privada. Los hosts
compartían la misma subred en la interfaz privada.

Potrebbero piacerti anche