Manual de instalación y configuración de Cacti

Este manual describe la instalación y configuración de Cacti en un sistema Linux (Ubuntu 8.04) recién instalado.

El cómo instalar el sistema operativo, así como el funcionamiento del mismo, no están en el alcance de este documento, asumiendo que el usuario tiene unos mínimos conocimientos de entornos Linux.

Si la instalación se realiza en otra distribución que no sea Ubuntu, los cambios deben ser mínimos, ya que la instalación de Nagios en si se debe realizar desde el código fuente para dar mayor amplitud a los sistemas en los que pueda aplicarse este documento.

Paso 1. Entramos en modo root (su)

sudo su -mp

Paso 2. Actualización del sistema base

apt-get update

Paso 3. Instalamos Apache 2 PHP versión 5 y MySQL

apt-get install php5 php5-gd php5-mysql mysql-server

Paso 4. Creamos fichero info.php para comprobar la instalación:

cd /var/www
echo "<?php phpinfo(); ?>"  > info.php

Paso 5. Reiniciamos servicio Apache:

/etc/init.d/apache2 restart

Paso 6. Entramos por el navegador en la siguiente URL (usando la IP del servidor):

http://ip.servidor/info.php

Paso 7. Instalamos las rrdtool y el snmp

apt-get install  rrdtool snmp

Paso 8. Instalación de las librerias necesarias para jpeg, png y gd2

apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libgd2-xpm-dev

Paso 9. Instalación de la libreria GD

cd /tmp
wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar -xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure
make
make install

Paso 10. Instalamos módulo GD de PHP

apt-get install php5-gd

Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que estén las GD

/etc/init.d/apache2 restart

(navegador http://ip.servidor/info.php)

Paso 12. Instalamos Cacti

apt-get install cacti-cactid

En este paso se nos pedirá:

    
- Which kind of web server should be used by cacti?   -> Apache2
- Configure database for cacti with dbconfig-common?  -> Yes
- Password of your database's administrative user:    -> Aqui debemos poner el password del root de mysql
- MySQL application password for cacti:               -> cacti ( o cualquier otro password de nuestra elección )
- Password confirmation:                              -> cacti ( o cualquier otro password de nuestra elección )

En este punto ya tenemos instalado Cacti, el cual podemos verlo en la URL:

http://ip.servidor/cacti/    

Esta URL nos mostrará la pantalla de instalación de Cacti, punto desde el cual seguiremos para completar la instalación.

- Cacti Installation Guide                            -> Next
- Please select the type of installation              -> New Install

En la siguiente pantalla aparecerán las distintas opciones y aplicaciones que Cacti usa, y deben aparecer todas en verde, con el letrero [FOUND]

Hacemos clic en FINISH

En la siguiente pantalla nos pedirá usuario y password:

usuario: admin
password: admin    

Nos enviará a una pantalla para que de manera forzosa cambiemos el password del administrador, ponemos:

Please enter a new password for cacti:

Password: cacti
Confirm.: cacti

(o cualquiero otro password de nuestra conveniencia)

Con esto ya tenemos instalado Cacti y configurado para el primer device que es localhost, el cual podemos verlo si hacemos clic sobre el menú superior:

Graphs -> localhost    

Paso 13. Configurar el poller para spine

En la pantalla principal de Cacti, en el menú inferior izquierda, hacemos clic sobre:

Configuration -> Settings    

Y en la configuración hacemos clic sobre la pestaña:

Poller    

Y en la opción que pone:

Poller Type
The poller type to use. This setting will take effect at next polling interval.    

Le asignamos el valor:

spine    

Guardamos los cambios y salimos.

ANEXO 1. Añadir un host

Una vez instalado y configurado Cacti, es momento de añadir más hosts o devices para monitorizar.

Paso 1. Instalar el demonio snmpd en el host remoto

apt-get install snmpd

Paso 2. Configurar el acceso remoto del monitor al host remoto

Para que el host donde está instalado Cacti sea capaz de acceder vía snmp al demonio del host remoto, tenemos que editar el fichero:

nano -w /etc/default/snmpd

y asegurarnos de que las siguientes opciones queden así:

SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'

El contenido del fichero completo quedaría:

# This file controls the activity of snmpd and snmptrapd

# MIB directories.  /usr/share/snmp/mibs is the default, but
# including it here avoids some strange problems.
export MIBDIRS=/usr/share/snmp/mibs

# snmpd control (yes means start daemon).
SNMPDRUN=yes

# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
# snmptrapd control (yes means start daemon).  As of net-snmp version
# 5.0, master agentx support must be enabled in snmpd before snmptrapd
# can be run.  See snmpd.conf(5) for how to do this.
TRAPDRUN=no

# snmptrapd options (use syslog).
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'

# create symlink on Debian legacy location to official RFC path
SNMPDCOMPAT=yes

Paso 3. Configurar la comunidad y el tipo de acceso

En el host remoto editamos el fichero de configuración del snmpd:

nano -w /etc/snmpd/snmpd.conf

comentamos todas las líneas que comienzan por:

com2sec

y añadimos la siguiente línea:

com2sec  readonly  default         public

En la cual le estamos diciendo que el acceso sea de solo lectura, que en la comunidad se llama public.

Paso 4. Reiniciamos snmpd en el host remoto

/etc/init.d/snmpd restart

Una vez completados estos 4 pasos desde el host de monitorización donde hemos instalado Cacti, podemos probar el acceso remoto con la siguiente línea:

snmpwalk -v 2c -c public xxx.xxx.xxx.xxx .

o bien con la siguiente línea que dará un resultado más corto:

snmpwalk -v 2c -c public xxx.xxx.xxx.xxx system

el cual debe ser algo parecido a esto:

SNMPv2-MIB::sysDescr.0 = STRING: Linux xxxxxxx.6.32-3-pve #1 SMP Fri Sep 3 12:48:27 CEST 2010 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1446404) 4:01:04.04
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysName.0 = STRING: virt129
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00

Paso 5. Añadir el device (host remoto) a Cacti

Desde la pantalla principal hacemos clic en el menú:

Management -> Devices    

y solo nos aparecerá localhost.

Hacemos clic sobre el enlace superior derecho:

Add    

Y nos aparecerá una pantalla donde debemos rellenar todos los datos del host que queremos añadir.

De todos los valores que salen debemos completar:

Description                 -> una descripcion corta o nombre del host
Hostname                    -> Ip del host remoto
Host Template               -> ucd/net SNMP host
Downed Device Detection     -> SNMP ( en este punto podemos probar como viene por defecto )
SNMP Version                -> Version 2
SNMP Community              -> Public

Todos estos valores, tal y como hemos realizado la instalación, son más que sucifientes. Pero si hemos variado, por ejemplo, la comunidad en la instalación del demonio snmpd en el host remoto, también tendríamos que cambiarlo aquí, obviamente.

Le damos al botón:

Create

Nos aparecerá de nuevo la misma pantalla, haremos clic en el botón:

Save

y volveremos al listado de devices.

Paso 6. Crear gráficas

Desde el listado de devices hacemos clic en el nuevo host creado y seguimos el enlace que pone:

Create Graphs for this Host

En Graph Templates seleccionamos todas las opciones y lo mismo hacemos en Data Query [SNMP - Interface Statistics], así como cualquier otro checkbox
que veamos y nos resulte de interés monitorizar.

Una vez terminado, hacemos clic sobre el botón:

Create

Y volveremos nuevamente al listado de devices

Paso 7. Añadir device al árbol de gráficas.

Sobre el listado de devices hacemos clic sobre el checkbox (a la derecha) del host remoto recién creado y en el desplegable de abajo seleccionamos
la opción:

Place on a tree ( default tree )

Con eso ya lo tendríamos añadido, pudiéndolo comprobar en la pestaña superior izquierda:

graphs

Pero no veremos nada aún hasta pasados unos minutos (5 - 15) y haya ejecutado varias veces el poller para actualizar los datos.

1 Respuesta

  1. xavier

    como hago para recuperar los privilegios de admin por error copie privilegios de otro usuario y ahora no puedo manipular ciertas cosas.

Agregar comentario