CONFIGURACION CACTI EN DEBIAN ETCH ¿Qué es Cacti? Cacti es una completa solución de graficado en red, diseñada para aprovechar el poder de almacenamiento y la funcionalidad de graficar que poseen las 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. Instalación de los Paquetes Desde la consola como root (su y contraseña del root) copiaremos los siguientes comandos: # apt-get install apache2 php5 php5-cli libapache2-mod-php5 mysql-server php5-mysql rrdtool snmp snmpd php5-snmp Después debemos de crear la base de datos del cacti con una cuenta y un Password, debemos de hacerlo por que de contrario habrá conflicto con la instalación del Cacti, así (en la consola como root): # mysql mysql> set password for root@localhost=password('sena2008'); Query OK, 0 rows affected (0.01 sec) mysql> create database cacti; Query OK, 1 row affected (0.00 sec) mysql> grant all on cacti.*to root; Query OK, 0 rows affected (0.00 sec) mysql> grant all on cacti.*to root@localhost; Query OK, 0 rows affected (0.00 sec) mysql> grant all on cacti.*to cacti; Query OK, 0 rows affected (0.01 sec) mysql> grant all on cacti.*to cacti@localhost; Query OK, 0 rows affected (0.00 sec) mysql> set password for cacti@localhost=password('sena2008'); Query OK, 0 rows affected (0.00 sec) mysql> exit Bye
Después de esto para ingresar de nuevo a la configuración del Mysql por consola debe de ser con el siguiente comando: # mysql -u root -p Enter password: sena2008 Porque en el momento que nosotros ejecutamos el comando: mysql> set password for root@localhost=password('sena2008'); Le dimos un usuario (root) y una contraseña. En el comando la -u es de Usuario, root es el Usuarios y -p es que nos pida el Password (En el comando lo debemos de especificamos, si no lo especificamos no podemos ingresar a la consola del Mysql). Despues de esta pequeña explicación debemos de configurar la Comunidad con la cual nos Comunicaremos y los permisos para dicha Comunidad, para ello entraremos a la ruta /etc/snmp/ en la cual se encuentra el archivo de configuración para el SNMP, el archivo tiene el nombre de snmpd.conf al cual le haremos un Backup con el siguiente comando (No es obligatorio): # cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf_Respaldo Se deben de crear las listas de control de acceso (ACL) correspondientes a nuestra red en el fichero /etc/snmp/snmpd.conf y que servirán para definir quién tendrá acceso hacia el servicio SNMP. A una de estas listas se le otorgará permiso de Lectura y Escritura y a la otra de solo Lectura. Por razones de seguridad solo la interfaz 127.0.0.1 será la de lectura escritura. Se otorgará permiso de acceso de solo lectura a una red o bien a un ID de Red en la otra lista de control de acceso (ACL). Entraremos al archivo de configuración del SNMP a configurarlo con el siguiente comando: # nano /etc/snmp/snmpd.conf Buscaremos las siguientes líneas, aquí definiremos el nombre o los nombres de las comunidades a las que el Servidor accederá, las cambiaremos por los siguientes parámetros: com2sec com2sec
local miredlocal
127.0.0.1/32 192.168.0.0/24
private public
Donde local será la Comunidad de Lectura y Escritura y miredlocal de solo Lectura, prívate será el nombre de la comunidad para 127.0.0.1 (Localhost) y 192.168.0.0 será el ID de nuestra Red, en vez de la IP lo podemos dejar con el parámetro default (Opcional). Private será el nombre de la Comunidad para local y Public para miredlocal.
Crearemos dos grupos (debemos de tener en cuenta que ya hay unos grupos creados por defecto y no debemos de crear un conflicto), MyRWGroup y MyROGroup. El primero será un grupo al que se asignarán más adelante permisos de lectura-escritura y el segundo será un grupo al que posteriormente se asignarán permisos de solo lectura. Por cada grupo se asignan tres líneas que especifican el tipo de acceso que se permitirá en un momento dado a un grupo en particular. Es decir, MyRWGroup se asocia a local y MyROGroup a miredlocal, las líneas deben de quedar así: group group group
MyRWGroup MyRWGroup MyRWGroup
v1 local v2c local usm local
group group group
MyROGroup MyROGroup MyROGroup
v1 miredlocal v2c miredlocal usm miredlocal
Especificaremos las ramas que se van a permitir ver a través del servicio. Lo más común, por ejemplo, utilizarse con MRTG, buscaremos las siguientes líneas y debemos de encontrarlas así: ## View
name all
incl/excl included
subtree 1
mask(optional) 80
Se debe especificar que permisos tendrán los dos grupos, MyROGroup y MyRWGroup. Son de especial interés las últimas columnas, recordemos que local será de lectura-escritura y miredlocal lectura, debe de quedar así, tendremos cuidado con las últimas líneas: ## group context sec.model sec.level access MyROGroup "" any noauth access MyRWGroup ""
any
noauth
prefix read exact all exact
all
write none all
notif none all
Se definen dos parámetros de carácter informativo para que cuando utilicen aplicaciones cliente como MRTG se incluya algo de información acerca de qué sistema se está accediendo, cambiaremos las líneas con la información de nuestro dominio (en nuestro caso ejemplo.com), así: syslocation Servidor Linux en server1.ejemplo.com syscontact Administrador (
[email protected]) Reiniciaremos el servicio de SNMP y lo añadiremos al resto de los servicios que arrancan junto con el sistema (Si no nos da este comando es porque ya está en el arranque del sistema): # /etc/init.d/snmpd restart
# chkconfig snmpd on Antes de probar el Servidor verificaremos la conexión con el Localhost o si queremos con la IP de un equipo de la Red, para ello necesitaremos instalar el scli con el siguiente comando: # apt-get install scli Después de instalarlo basta con ejecutar el comando seguido de la IP a verificar, así: # scli 127.0.0.1 100-scli version 0.2.12 (c) 2001-2002 Juergen Schoenwaelder 100-scli trying SNMPv2c ... good (127.0.0.1) scli > En esta prom le podemos dar el comando monitor y nos debe dar información del Equipo, como la memoria y las particiones del Disco Duro. Probaremos el Servidor con el siguiente comando (nos debe de arrojar información acerca del Equipo, con la primera línea información del Sistemas y la segunda de las Interfaces): # snmpwalk -v 1 127.0.0.1 -c private system # snmpwalk -v 1 127.0.0.1 -c private interfaces Ahora si podemos instalar el Cacti, lo haremos con el siguiente comando: # apt-get install cacti En la instalación nos saldrán las siguientes pantallas de configuración las cuales configuraremos de la siguiente forma:
Le diremos que si queremos configurar la base de datos para cacti:
Le daremos una Contraseña para el usuario de administración de la base de datos:
Le daremos también una Contraseña a la aplicación del Mysql para Cacti:
Confirmaremos la contraseña para el Cacti:
Escogeremos el tipo de Servidor Web (En nuestro caso es el Apache2), si tenemos otro servidor Web (Como el Apache) lo escogeremos y Aceptar:
Ahora debemos de configurar el Cacti para que escanee los Equipos y Dispositivos de la Red cada 5 minutos, para ello editaremos el archivo cacti en la tuta /etc/cron.d/ de la siguiente forma: # Cambiaremos
nano el
contenido
de
/etc/cron.d/cacti este
archivo
por
las
siguiente
lineas:
*/5 * * * * cactiuser /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1 Ahora debemos de entrar a la interfaz Web del Cacti, con la ayuda del navegador Web, digitaremos http://localhost/cacti y nos debe de salir una ventana como esta, pero antes reiniciaremos el servidor Mysql y el Apache2, así (Debemos de tener cuidado si estamos trabajando en un Equipo con un
PDC ya montado y configurado debemos de crear un HostVirtual para el Cacti además de un Alias para poder ingresar al Cacti): # /etc/init.d/mysql restart # /etc/init.d/apache2 restart Esta es la ventana que nos debe de salir:
Si en vez de la ventana anterior nos aparece algo como esto:
Es por la configuración del archivo debian.php en el directorio del Cacti, es porque le falta por definir los siguientes parámetros de la base de daros, entraremos a editarlo, así: # nano /etc/cacti/debian.php Y debemos de agregar los parámetros de nuestra base de datos, el nombre, la contraseña y la base de datos por defecto para la base de datos del Cacti, debe de quedar así: $database_username='cacti'; $database_password='sena2008'; $basepath=''; $database_default='cacti'; $database_hostname=''; $database_port=''; $dbtype='mysql'; Después de editarlo Reiniciamos el servidor Mysql, así: # /etc/init.d/mysql restart Probaremos de nuevo la interfaz Web del Cacti en el navegador Web con http://localhost/cacti, pero es posible que nos aparezca el siguiente error:
Haremos lo siguiente, debemos de entrar a la ruta /usr/share/doc/cacti/ para desempaquetar la base de datos del Cacti, importarla a la base creada anteriormente en Mysql, entraremos así:
# cd /usr/share/doc/cacti/ Después la desempaquetaremos con el siguiente comando en la siguiente ruta (La ruta donde lo desempaquetaremos puede ser la que deseemos): # zcat cacti.sql.gz > /home/cacti.sql Entraremos a la ruta donde desempaquetamos el archivo cacti.sql.gz: # cd /home/ Y le daremos el siguiente comando, con el cual estamos integrando la base de Datos del Cacti a la que creamos en el Mysql, así: # mysql -u root -p cacti < cacti.sql Con esto debemos de tener la interfaz Web para el Cacti y seguiremos con la configuración, ya en el navegador Web nos debe de salir la siguiente ventana en la cual le daremos Clic en Next:
Lo dejaremos en New Install (Nueva Instalación) y Clic en Next:
Aquí nos mostrara la configuración por defecto del Cacti e información como la versión de SNMP con la cual trabajara (Net-SNMP 5.x), la versión del RRDTOLS (Rrdtol 1.2.x), donde se almacenaran los Logs del Sistema, Binarios del Sistema, etc. Clic en Next:
Aquí debemos de ingresar con el usuario admin y Contraseña admin, pero el nos pedirá que cambiemos la Contraseña por la que deseemos (En nuestro caso por sena2008):
Nos dirá si queremos que recuerde la Contraseña (Not Now, Ahora no):
Ingresaremos la Nueva Contraseña y la Confirmamos:
Al final de esta configuración debemos de tener la Siguiente Ventana con la Información de Nuestra maquina (Localhost) y podremos monitorear y administrar a los demás Equipos y Dispositivos de Nuestra Red, debemos de esperar un poco para que grafique las estadísticas del equipo: