Seguimos nuestro periplo de software libre. En este caso un proyecto de monitorización de servicios (bind, apache, mysql…), CACTI.
Cacti es una completa solución para la generación de gráficos en red, diseñada para aprovechar el poder de almacenamiento y la funcionalidad para gráficas que poseen las aplicaciones RRDtool. Esta herramienta, desarrollada en PHP, provee un pooler ágil, plantillas de gráficos avanzadas, múltiples métodos para la recopilación de datos, y manejo de usuarios. Tiene una interfaz de usuario fácil de usar, que resulta conveniente para instalaciones del tamaño de una LAN, así como también para redes complejas con cientos de dispositivos.
Nosotros vamos a aplicarla para generar gráficas sobre estadísticas de uso del sistema y número de peticiones en nuestro servidor BIND.
INSTALACIÓN EN REDHAT / CENTOS 6
PASOS PREVIOS: Deshabilitar Selinux e IPtables en un primer momento
DESCARGA: Puedes descargar desde el recurso oficial el paquete comprimido http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
o un RPM http://pkgs.repoforge.org/cacti/
1.- Descomprimimos el fichero en la ruta /var/www/html/
tar xzvf /var/www/html/cacti-version.tar.gz
si instalamos el rpm:
rpm -ivh cacti-0.8.8a-1.el6.rf.noarch.rpm
2.- Instalamos dependencias:
yum -y install mysql mysql-server net-snmp-utils php php-mysql php-snmp rrdtool
php-snmp lo he descargado de AQUÍ
3.- Arrancamos mysql-server, snmp y httpd:
service mysqld start
service httpd start
service snmpd start
4.- Hacemos que arranquen por defecto:
chkconfig mysqld on
chkconfig httpd on
chkconfig snmpd on
5.- Creamos la base de datos:
mysqladmin --user=root create cacti
6.- Importamos la base de datos:
mysql cacti < ; ; /var/www/html/cacti/cacti.sql
7.- Opcional creamos un usuario y contraseña [yo coloco el de por defecto en el ejemplo] para CACTI:
shell>;; mysql --user=root mysql
mysql>;; GRANT ALL ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'cactiuser';
mysql>;; GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER ON cacti . * TO 'cactiuser'@'localhost';
8.- Comprobamos que entramos en la base de datos:
mysql -u cactiuser -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.66 Source distribution
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>;;
9.- Editamos el fichero /var/www/html/cacti/include/config.php e incluímos usuario y contraseña:
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
$database_ssl = false;
10.- Si entra en el navegador http://server/cacti debería ver esta imagen:
Si no le funciona comprueba /etc/httpd/conf.d/cacti.conf y edítalo colocando esto:
Alias /cacti /var/www/html/cacti
< ; ;Directory /var/www/html/cacti/>;;
Order Deny,Allow
Deny from all
Allow from all
< ; ;/Directory>;;
11.- Pulsamos Next:
12.- Pulsamos Finish:
13.- Entramos con admin / admin:
14.- Nos pedirá cambiar la contraseña:
15.- Ya tenemos a nuestra disposición el panel de administración:
CONFIGURACIÓN BIND
SCRIPTS: http://www.cacti.net/additional_scripts.php
FUENTE: http://www.packetmischief.ca/monitoring-bind9/
http://blog-rito.blogspot.com.es/2012/07/bind-dns-graph-in-cacti.html
Bajamos el script para BIND o el servicio que queramos monitorizar.
tar -xvjf bind9-snmp_1.7.tar.bz2
Para colocar cada fichero en su sitio, y sean accesibles desde la interfaz gráfica, leemos el README:
SNMP Setup files (Paths depend on where your SNMP/Cacti is installed!)
=================
* BAYOUR-COM-MIB.txt
This is the MIB declaration.
Copy to /usr/share/snmp/mibs/
* BayourCOM_SNMP.pm
This is the Perl API library needed
by the bind9-snmp-stats.pl perl script.
Copy to /usr/local/lib/site_perl/
* bind9-snmp-stats.pl
This is the stat retreival script.
Copy to /etc/snmp/
* snmp.conf.stub
This is part of the snmp.conf file.
Add to the end of /etc/snmp/snmp.conf
* snmpd.conf.stub
This is part of the snmpd.conf file.
Add to the end of /etc/snmp/snmpd.conf
Cacti setup files
=================
* bind9-stats_domains.xml Domain vise statistics
* bind9-stats_totals.xml Total statistic numbers
These are the XML declaration for cacti.
Copy to /usr/share/cacti/resource/snmp_queries/
* cacti_host_template_bind9_snmp_machine.xml
This is the template to import into cacti to add Bind9 statistic
graphs to your SNMP hosts.
This file will create a new host template named ‘Bind9 SNMP
Machine’. See below how to create the graphs..
En la parte gráfica vamos al apartado Import >; Import Templates, seleccionamos el XML y pulsamos Import:
Nos mostrará el OK:
Podemos comprobar que tenemos las Templates importadas en el apartado Templates:
Vamos a Collection Methods >; Data Queries. Seleccionamos una por una las dos Queries de BIND:
Veremos que tenemos un error porque tiene la ruta mal y no encuentra el XML asociado a la query, que nosotros habíamos copiado previamente:
Modificamos la ruta en las dos Queries:
Ahora creamos un device al que asociaremos la gráfica:
Ponemos un nombre y una IP:
Ahora asociamos Data Queries de BIND:
Y pulsamos Save:
Pulsamos para Crear gráfico:
Seleccionamos las de BIND y Create:
En la pestaña gráficos veremos el objeto (tardarán las gráficas):
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?