Tuesday, September 28, 2010

Guia de Instalacion de Cacti (Probada en CentOS 5.5)

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, Aqui les dejare una completa y sencilla guia para lograr la instalacion de Cacti, escribi la guia basandome en CentOS 5.5. A continuacion un poco mas de lo que es Cacti, extraido de Wikipedia.





¿Qué es una RRDtool?


RRDtool es el acrónimo de Round Robin Database tool, o sea que se trata de una herramienta que trabaja con una BD que manejaPlanificación Round-robin. Esta técnica trabaja con una cantidad fija de datos y un puntero al elemento actual. El modo en que trabaja una base de datos utilizando Round Robin es el siguiente; se trata la BD como si fuera un círculo, sobrescribiendo los datos almacenados, una vez alcanzada la capacidad de la BD. La capacidad de la BD depende de la cantidad de información como historial que se quiera conservar.


¿Qué tipo de datos pueden ser almacenados en una RRD?


Cualquiera, siempre que se trate de una serie temporal de datos. Esto significa que se tiene que poder realizar medidas en algunos puntos de tiempo y proveer esta información a laRRDtool para que la almacene.
Un concepto ligado a las RRDtool es el de SNMP, acrónimo de Simple Network Management Protocol. Este protocolo puede ser usado para realizar consultas a dispositivos acerca del valor de los contadores que ellos tienen (ej: una impresora). El valor obtenido de esos contadores es el que queremos guardar en la RRD.


¿Qué puedo hacer con esta herramienta?


Puedo, a través de Cacti , representar graficamente los datos almacenados en la RRD: uso de conexión a internet, datos como temperatura, velocidad, voltaje, número de impresiones, etc. La RRD va a ser utilizada para almacenar y procesar datos recolectados vía SNMP.
En definitiva, para hacer uso de una RRDtool, lo que se necesita es un sensor para medir los datos y poder alimentar al RRDtool con esos datos. Entonces, la RRDtool crea una base de datos, almacena los datos en ella, recupera estos datos y basandose en ellos, Cacti crea gráficos en formato PNG.


Mas info: Wikipedia


Instalación de Cacti


Dependencias a instalar:

-httpd
-php
-php-mysql
-php-snmp
-mysql
-mysql-server
-net-snmp

Luego de instaladas estas dependencias, debemos verificar que PHP tenga los siguientes módulos externos (Lo podemos hacer con el comando “php –m | less”:

-mysql
-snmp
-xml
-session
-sockets
-ldap

Luego de verificar que php tenga los siguientes módulos externos, el siguiente paso será editar el archivo de configuración “/etc/php.ini” y modificar el siguiente parámetro:

extensión_dir = /etc/php.d

En ese directorio se encuentran mayormente las librerías necesarias, pero en caso de CentOs y otras distribuciones, estas librerías se encuentran en “/usr/lib/php/modules” así que necesitaremos copiar las librerías ubicadas en ese directorio y copiarlas a “/etc/php.d”, con el siguiente comando lo hacemos:

cp /usr/lib/php/modules/* /etc/php.d/

Y verificamos, modificamos o creamos los siguientes archivos del directorio /etc/php.d/

En /etc/php.d/mysql.ini

; Enable mysql extension module
extension=mysql.so

En /etc/php.d/snmp.ini

; Enable snmp extension module
extension=snmp.so

Luego de verificar que este todo correcto hasta el momento, debemos modificar el archivo /etc/php.ini, verificando que este parámetro este de la siguiente manera:

file_upload = on ::: Para permitir la importación de plantillas :::

Configurando Apache

Editamos el archivo de configuración /etc/httpd/conf.d/php.conf y verificamos que los siguientes parámetros estén de la siguiente manera:


LoadModule php5_module modules/libphp5.so

AddHandler php5-script .php

AddType text/html .php

DirectoryIndex index.php

Configurando Mysql

Subimos el servicio de mysql, con el comando ''service mysqld start''

Le damos una password a root:

mysqladmin –-user=root password ‘contraseña’

Instalando Cacti

Para instalar cacti en CentOS es necesario tener los repositorios RPMforge, para su instalación:

Descargamos los repositorios dependiendo de su arquitectura:

X86:

X86_64:

Importamos las llaves Públicas:


Instalamos el paquete:

rpm –i rpmforge-release-XXX.XXX.XXX.rpm


Y verificamos que se instalaron los repositorios con:

yum check-update

Luego podemos instalar Cacti, con todos las dependencias necesarias.

yum install cacti

Entre las dependencias que se instalaran estan:

-rrdtool
-perl-rrdtool

Cuando finalice la instalación, podemos verificar que Cacti se instalo en /var/www/cacti, y que creo un alias en /etc/http/conf.d/ llamado cacti.conf

Creación de base de datos MYSQL

Nos ubicamos en /var/www/cacti, y usamos mysql para crear nuestra base de datos para cacti.

Shell>mysqladmin –-user=root –p create cacti

shell> mysql --user=root -p cacti < cacti.sql

shell> mysql --user=root -p mysql

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘Contraseña’;

mysql> flush privileges;

mysql> exit

Editamos el archivo /var/www/cacti/include/config.php, y verificamos que los siguientes parámetros estén de la siguiente manera:

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "contraseña";
Asignando permisos necesarios

Nos ubicamos en el directorio /var/www/, y le cambiamos el propietario a la carpeta cacti, le ponemos como propietario a apache.

chown –R apache.apache cacti/

Entramos a el directorio cacti, y le cambiamos el usuario a las carpetas rra y log.

chown –R cacti rra/ log/

Agregamos a /etc/crontab, lo siguiente:

*/5 * * * * cacti php /var/www/html/cacti/poller.php > /dev/null 2>&1

Reiniciamos los servicios

service httpd restart
service snmpd restart
service mysqld restart

Y entramos desde nuestro explorador a htto://localhost/cacti/

Entorno Web paso a paso
(Extraido de el manual cacti de la FCLD - Franky Almonte)


1er Paso – Guia de Instalacion


2do Paso – Elegir nueva instalacion


3er Paso – Confirmas todas las rutas






En caso de falta de paquetes, instalar net-snmp-utils


4to Paso – Ingresar a Cacti


El UserName y el Password son admin, luego nos pedira que escribamos la nueva contraseña.



Graficando la Red

El primer paso para crear gráficas de la red es agregando un host por cada host en la red que se desea crear gráficas. Un host especifica detalles importantes como el nombre del host, parámetros SNMP y el tipo de host.
Para manejar equipos dentro de Cacti, haga click en Devices en el menú de la izquierda. Luego haga click en Add para llenar el formulario de una nuevo equipo. Los primeros dos campos, Description y Hostname son los únicos campos que requieren entrada mas allá de las por defecto. Si su tipo de host esta definido bajo el menu desplegable, asegúrese de seleccionar este en el menú. Usted siempre puede elegir “Generic SNMP-enables host” si solo va a graficar trafico o “None” si no esta seguro.


Ahora que ha creado nuevos equipos, es tiempo de crear gráficas para el mismo. Para hacer esto, selección del menú de la izquierda la opción “New Graphs”. SI aun esta en la pantalla de editar el equipo, seleccione “Create Graphs for this Host” para ver una pantalla similar a la siguiente imagen mostrada mas abajo.



El menú desplegable que contiene cada equipo debe ser usado para seleccionar el equipo al cual usted quiere crear nuevas gráficas. El concepto básico en esta pagina es simple, seleccione el cuadro de verificación en cada columna que usted quiere crear una grafica y haga click en “Create”.


Si usted esta creando gráficas dentro de la caja “Data Query”, hay algunas cosas adicionales para tener en mente. Primero es que se puede encontrar con la situación mostrada en la grafica mostrada mas arriba con la consulta de datos “SNMP – Interface Statistics”. Si esto ocurre usted quizás quiera consultar la sección en consultas de datos en depuración para ver por que su consulta de datos no esta retornando ningún resultado. También, usted quiera ver el menú desplegable debajo de algunas cajas de consulta de datos. Cambiando el valor de este menú afecta cual tipo de grafica Cacti construirá después de hacer click en el botón “Create”. Cacti solo muestra este menú cuando hay mas de un tipo de donde escoger, así que puede que no se muestre en todos los casos.

Una vez ha seleccionado las gráficas que quiere crear, simplemente haga click en el botón “Create” al final de la pagina. Usted sera llevado a una nueva pagina que le permite especificar información adicional sobre las gráficas que esta por crear. Solo vera los campos que no son parte de cada plantilla, de todas formas el valor viene automáticamente de la plantilla. Cuando todos los valores en esta pagina parezcan correctos, haga click en el botón “Create” una ultima vez para crear finalmente las gráficas.

Si le gustaría editar o eliminar gráficas después de haberlas creado, use el enlace “Graph Management” en el menú de la izquierda de la pagina.


Viendo las graficas

En la parte superior de la pagina haga click en el boton “graphs” para ver las graficas.








3 comentarios:

Anonymous said...

Superb blog post, I have book marked this internet site so ideally I’ll see much more on this subject in the foreseeable future!

Anonymous said...

Muchas gracias por este post.
Instale Cacti, sin tener ni idea de linux, así que creo que es todo un acierto.

Grcias de nuevo

Milton Padilla said...

Excelente publicación he estado trabajando con cacti y la información que has brindado es muy buena.

Post a Comment