Documente Academic
Documente Profesional
Documente Cultură
CentOS7
Héctor Martínez Tobar
26 Jun, 2017
1 Comment
Antes de comenzar
Esta guía trata la instalación del software de monitorización gráfica
mediante RRDTool, Cacti en un sistema CentOS7.
La mayoría de guías explican la instalación con una versión de MySQL inferior a la sugerida
por el sistema Cacti (recomienda una versión >= 5.6). Además, no tienen en cuenta los
distintos trabajos paralelos o workarounds que deben realizarse para su correcta instalación
respetando las recomendaciones de sus desarrolladores.
Requisitos
CentOS 7
MariaDB (min.) v. 10 con sus respectivas parametrizaciones
PHP con sus respectivas dependencias
httpd
MariaDB
Adición del repositorio
Para instalar la versión que requerida (la v. 10), se procede a crear el repositorio en el
directorio correspondiente.
Tecleamos:
# vi /etc/yum.repos.d/MariaDB.repo
Y añadimos:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Cuando los paquetes se hayan instalado en el sistema, se deben ejecutar los siguientes
comandos:
Con la ejecución de éstos, en primer lugar, se iniciará el servicio MariaDB, en segundo lugar,
quedará seteado para que se inicie automáticamente cuando el sistema arranque y, en
tercer lugar, y último, seremos capaces de ver el estado del servicio, el cual debería
aparecer como active (running).
Después de este último paso, se podría llevar a cabo la configuración segura de MariaDB,
pero de eso ya se hablará durante la configuración de Cacti.
Otras dependencias
Configuración del tiempo (date/time) de Linux
Cacti puede presentar problemas durante la impresión de datos si no se cuenta con el
tiempo UTC en el sistema, por lo tanto, debe ser modificado para evitar problemas.
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/UTC /etc/localtime
Se aprecia que el sistema tiene el sistema de tiempo UTC, por lo que todo está correcto.
# yum install httpd httpd-devel php-pear php-common php-gd php-devel php php-
mbstring php-cli epel-release -y
Instalación de rddtool
La herramienta rddtool permitirá a Cacti graficar todos los parámetros deseados.
# mysql -u root -p
Password: <xxxxx>
Instalación de Cacti
Ahora el sistema ya dispone de todo lo necesario para que Cacti pueda ser instalado sin
ningún problema de dependencias.
Ahora es necesario crear la estructura de datos y para ello se usa el siguiente comando:
Nota: Si se copia y pega este último comando, probablemente no funcione, pues la parte
resaltada en negrita variará en función de la versión que se haya descargado de Cacti.
En el momento de la redacción de esta guía la versión de Cacti que había era 1.1.10, por lo
que el comando tiene el siguiente aspecto:
# vi /etc/cacti/db.php
$database_type = "mysql";
$database_default = "cactiProd";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "XXXXX";
$database_port = "3306";
$database_ssl = false;
Configuración de httpd
Como en toda configuración de httpd (Apache) se requiere la configuración de los virtual
hosts que van a permitir (o no) a los usuarios acceder al servicio publicado en Apache.
# vi /etc/httpd/conf.d/cacti.conf
Se añaden las líneas en negrita y se deja el archivo local tal y como se muestra a
continuación:
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
#Require host localhost
Require all granted
#Require host 192.168.1.0/24
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
#Allow from 192.168.1.0/24
</IfModule>
</Directory>
# mkdir -p /var/log/cacti
# cd /var/log/cacti/
# touch cacti.log
Y se elimina el comentario.
Para su instalación, lo primero que se debe hacer es instalar los requisitos/dependencias del
mismo.
Una vez el sistema cuenta con las dependencias, se puede proceder a la descarga,
configuración y compilación del recurso.
# cd /tmp
# wget http://www.cacti.net/downloads/spine/cacti-spine-1.0.1.tar.gz
Nota: es importante tener en cuenta que, por defecto, Spine se instala en el directorio
/usr/local/spine/, en el caso de quererlo en otro directorio, tan sólo se debería añadir un
parámetro en uno de los comandos ejecutados anteriormente:
./configure --prefix=/directorio/deseado
Una vez Spine está en el sistema, se deben realizar algunas configuraciones para que éste
trabaje correctamente con la base de datos de Cacti.
Se hace una copia del template y se edita en función de las necesidades/configuración de
cada uno:
# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
# vi /usr/local/spine/etc/spine.conf
DB_Host localhost
DB_Database cactiProd
DB_User cacti
DB_Pass xxxxx
DB_Port 3306
DB_PreG 0
# mysql -u root -p
# password: xxxxx
# MariaDB [(none)]> use mysql;
# MariaDB [mysql]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
# MariaDB [mysql]> FLUSH privileges;
Aun así, todavía es necesario realizar una serie de operaciones de optimización para hacer
que el rendimiento sea óptimo.
Se pretenden realizar todos los cambios de golpe, para ello, se abre el fichero que se
muestra unas líneas más abajo y se procede a añadir todos los valores pertinentes.
# vi /etc/my.cnf.d/server.cnf
[server]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Bajo la etiqueta [galera], además de todos los parámetros que figuran por defecto, añadir
lo que se muestra a continuación:
innodb_buffer_pool_size=700M
max_heap_table_size=140M
max_allowed_packet=16777217
tmp_table_size=65M
join_buffer_size=65M
innodb_doublewrite=OFF
innodb_additional_mem_pool_size=85M
innodb_flush_log_at_timeout=4
innodb_read_io_threads=32
innodb_write_io_threads=16
Con estas configuraciones, el sistema quedará verde y cumpliendo los requisitos mínimos
de Cacti tal y como muestra la siguiente imagen:
Asistente de instalación de Cacti
Éste será el último de los pasos de la instalación de Cacti.
Para finalizar con la instalación, se debe abrir el explorador que se use para navegar por
Internet y en la barra de direcciones escribir la dirección del servidor que aloja el servicio
de Cacti seguido de /cacti:
http://ip_servidor/cacti
Modificar:
/usr/local/spine/bin/spine/spine
Por:
/usr/local/spine/bin/spine
Y siguiente.
En siguiente punto el asistente verifica que se dispongan de los permisos suficientes para
poder escribir sobre los directorios críticos de instalación. Si hay algún directorio que no
cuenta con los permisos necesarios, se deberán ajustar para que cumplan los requisitos
establecidos, una vez hecho, pulsar siguiente.
Por último, el asistente ofrece una serie de templates para monitorizar algunos dispositivos,
se procede a la selección de los que puedan resultar útiles en función de las necesidades
existentes y finalizar.
admin/admin
El sistema pedirá un cambio de password justo después del primer login al mismo.