martes, julio 06, 2010

RedHat / CentOS Instalando y configurando Cacti (Herramienta de Graficación para Redes)

Tomado de:
Configurar Cacti en Centos
Cacti es una herramienta para graficar el proceso en una RED algo parecido a MRTG. Debemos instalar y configurar opciones comunes que recolecte información via SNMP u otro medios( Carga del sistema , Estado de la red , espacio en disco , usuarios activos ec ec) dentro de RRD?

Sitio oficicial del proyecto:
Cacti es un cliente de RRDTool, este almacena todo la informacion necesaria para crear graficos en una base de datos MYSQL. 
El cliente esta diseñado en solo en PHP driven. Esto permite el mantenimiento de graficos, Origen de datos Round Robin archivos en una base de datos, que manipula Cacti. Adcional a esto SNMP suporta tambien el trafico  para crear graficos con MRTG.

Requerimientos

Se requiere instalar lo siguiente las siguientes distribuciones de Linux RHEL / Fedora / CentOS.
  1. Servidor de MySQL : Para almacenar datos que requiere CACTI.
  2. NET-SNMP server - SNMP (Simple Network Management Protocol) este es un protocolo muy utilizado en manejo de redes.
  3. Un Modulo de PHP con net-snmp - Acceso a los datos SNMP utilizando PHP.
  4. Apache / lighttpd / ngnix webserver : Un servidor que permita desplegar los graficos creados con PHP y RRDTOOL.

Instalando software.

1.- Ingrese con el usuario root y digite los siguientes para instalar mysql, php y apache.
# yum install mysql-server mysql php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp php-pear-Net-SMTP php-mysql httpd

Configurar Servidor MySQL

2.- Asigne password al usuario ROOT.
# mysqladmin -u root password NEWPASSWORD

Creando base de datos CATI en MySQL.

Creamos una base de datos llamada CACTI:
# mysql -u root -p -e 'create database cacti
Creamos un usaurio llamado cacti con el siguiente password zYn95ph43zYtq, luego presionar enter:
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'zYn95ph43zYtq';
mysql> FLUSH privileges;
mysql> \q

Instalamos snmpd

Digite el siguiente comando para instalar net-snmpd
# yum install net-snmp-utils php-snmp net-snmp-libs
Configurar snmpd, editar /etc/snmp/snmpd.conf
# vi /etc/snmp/snmpd.conf
Adicionar p modificar lo siguiente (Revise ayuda de see snmpd.conf man page para mas detalle):
com2sec local     localhost           public
group MyRWGroup v1         local
group MyRWGroup v2c        local
group MyRWGroup usm        local
view all    included  .1                               80
access MyRWGroup ""      any       noauth    exact  all    all    none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root  (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
Grabe y cierre la edición del archivo, active el servicio snmpd:
# /etc/init.d/snmpd start
# chkconfig snmpd on

Revise la información que desplega desde el snmp:
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
Un ejemplo de información:
IP-MIB::ipAdEntIfIndex.10.10.29.68 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.67.yy.zz.eee = INTEGER: 3
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

Instalar cacti

Como instalar y disponer del repositorio EPEL?

Digite el siguiente comando, siempre y cuando haya ingresado con el usuario root:
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
Desplegar el repositorio:
# yum repolist
Desplega la siguiente información:
Loading "skip-broken" plugin
Loading "fastestmirror" plugin
repo id              repo name                                 status
addons               CentOS-5 - Addons                         enabled
base                 CentOS-5 - Base                           enabled
epel                 Extra Packages for Enterprise Linux 5 -   enabled
extras               CentOS-5 - Extras                         enabled
updates              CentOS-5 - Updates                        enabled

Una instalado en el repositorio revise e instale paquetes, de la siguiente manera:
# yum search package-name
# yum install package-name

 

Asegures de que exista este paquete EPEL repo , digite el siguiente comando para instalar cacti:

# yum install cacti

Instalar tablas de cacti

Con el siguiente comando buscamos el script para crear las tablas que utiliza el cacti:
# rpm -ql cacti | grep cacti.sql
Nos desplegara lo siguiente:
/usr/share/doc/cacti-0.8.7d/cacti.sql
Digite el siguiente comando para crear las tablas en el mysql que pertenecen al cacti (Requiere el password de cacti ----> zYn95ph43zYtq):
# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.7d/cacti.sql

Configurar cacti

Edite el archivo /etc/cacti/db.php file, presionar enter:
# vi /etc/cacti/db.php
Asegurese de los cambios realizados:
 
/* Asegurese de que estos datos este acorde a lo que tenemos mas abajo: 
sobre todo ponga atencion en /host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "zYn95ph43zYtq";
$database_port = "3306";
 
Grabe y cierre el archivo editado.

Configurar httpd

Editar /etc/httpd/conf.d/cacti.conf  y luego enter:
# vi /etc/httpd/conf.d/cacti.conf
Se requiere actualziar que permitan el acceso desde una redes o subredes :
 
#
# Cacti: An rrd based graphing tool
#
Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
#        Order Deny,Allow
#        Deny from all
        Allow from 10.0.0.0/8
</Directory>
 
Otra opcion es crear un archivo en /usr/share/cacti/.htaccess y su password protect al directorio.
Luego reiniciamos el servicio de httpd:
# service httpd restart

Asignar un Setup cacti cronjob

Editar el archivo /etc/cron.d/cacti file:
# vi /etc/cron.d/cacti
Elimine el comentario de esta linea:
*/5 * * * *     cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Salve el archivo y cierrelo.

Ejecute el instalador de cacti.

Ahora cacti esta listo para instalar, en el browser digite la siguiente URL:
http://your.example.com/cacti/
OR
http://your.server.ip.address/cacti/

Lea la instrucciones que estan en la pantalla , el usuario es: admin y su password: admin.
La primera vez nos exige que modifiquemos el password.

Como configuro SNMP para colectar datos?
SNMP puede ser usado para monitorear el trafico de redes. Una vez instalado haga login a cacti.
=> Click en Devices
=> Seleccione Localhost
=> Asegurese de seleccionar las siguientes opciones de SNMP como nos indica la siguiente pantalla:
Fig.01: SNMP configuration
Fig.01: SNMP configuracion
Finalmente, click en el boton salvar.

Como creo graficos SNMP?

Click en el link "Create Graphs for this Host" en la parte superior derecha:
Selecionamos SNMP - Interface Statistics
Selecionamos un  graph type (such as In/Out bytes with total bandwidth)
Finalmente, click en el boton Create.

Como puedo ver grapicos?

Para ver los graficos hacemos un click en la pestaña Graphs. Aqui nos indica un ejemplo de grafico:
Fig.02: Cacti in Action - Memory, CPU and Network Usage
Fig.02: Cacti en Accion - Memory, CPU and Network Usage

(Fig.02: Cacti en accion)
Fig.03: Cacti in Action Disk, Load average and User stats
Fig.03: Cacti en Accion Disk, Load average and User stats

2 comentarios:

MM dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

tengo dos problemas el primero es con
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
Un ejemplo de información:

IP-MIB::ipAdEntIfIndex.10.10.29.68 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.67.yy.zz.eee = INTEGER: 3
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
no tiene respuesta!!!!!!! y la segunda es asegurar de que exista este paquete EPEL repo , no aparece ya que tuve que hacer la descarga a pie por que no me dejo con el comando y la direccion



amigo que hago????? espero su respuesta !!!!!