Manual de instalación y configuración de Cacti – Monitoring Parte I

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 en 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 sí, se 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 version 5 y MySQL.

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

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

cd /var/www
echo ""  > info.php

Paso 5. Reiniciamos servicio apache.

/etc/init.d/apache2 restart

Paso 6. Entramos por el navegador a la IP del servidor a la URL:

http://ip.servidor/info.php

Paso 7. Instalamos las rrdtool y el snmp.

apt-get install  rrdtool snmp

Paso 8. Instalación de las librerías 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 modulo GD de PHP.

apt-get install php5-gd

Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que esten 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. -> Aquí 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 el 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 aplicación que cacti usa y deben aparecer todas en verde con el letrero [FOUND]
Hacemos click 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 cualquier otro password de nuestra conveniencia)

Con esto ya tenemos instalado el cacti y configurado para el primer device que es localhost, el cual podemos ver si hacemos click sobre el menu superior:

Graphs -> localhost

Paso 13. Configurar el poller para spine.

En la pantalla principal del cacti, en el menú de la izquierda, abajo, hacemos click sobre el menu:

Configuration -> Settings

Y en la configuración, hacemos click sobre la pestaña que pone:
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 para monitorear.

Una vez instalado y configurado el cacti es momento de añadir más hosts o devices para monitorear.

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 el 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 lineas que comienzan por:
com2sec
Y añadimos la siguiente linea:

com2sec  readonly  default         public

En la cual le estamos diciendo que el acceso sea de sólo lectura y que 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 monitoreo donde hemos instalado el cacto, podemos probar el acceso remoto con la siguiente linea:

snmpwalk -v 2c -c public 94.23.85.84 .

O bien con la siguiente linea, que dará un resultado mas corto:

snmpwalk -v 2c -c public 94.23.85.84 system

El cual debe ser algo parecido a esto:

SNMPv2-MIB::sysDescr.0 = STRING: Linux virt129 2.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 begin_of_the_skype_highlighting              (1446404) 4      end_of_the_skype_highlighting:01:04.04
SNMPv2-MIB::sysContact.0 = STRING: Root  (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) al cacti.

Desde la pantalla principal hacemos click en el menu:

Management -> Devices

Y sólo nos aparecera localhost.
Hacemos click 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 descripción 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 -> Versión 2.
SNMP Community -> Public.

Todos estos valores tal y como hemos realizado la instalación son más que suficientes, 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 con lo que haremos click en el botón:
Save
Y volveremos al listado de devices.

Paso 6. Crear gráficas.

Desde el listado de devices hacemos click 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 monitorear.
Una vez terminado hacemos click 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 click 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 aun nada hasta pasados unos minutos (5-15) y haya ejecutado varias veces el poller para actualizar los datos.

Artículo original: El muro del saber.
Como siempre, para más información y/o detalle: documentación oficial – googlear.

12 comments

  1. Pingback: Tweets that mention Manual de instalación y configuración de Cacti – Monitoring Parte I | BeCode -- Topsy.com
  2. Roberto

    TENGO PROBLEMAS AQUI:

    snmpwalk -v 2c -c public xx.xx.xx.xx
    timeout: no responde from xx.xx.xx.xx

    snmpwalk -v 2c -c public xx.xx.xx.xx system
    timeout: no responde from xx.xx.xx.xx

    QUE HAGO ??????
    GRACIAS !!!!

  3. kpolucas

    Proba el snmpwalk desde el host remoto hacia el server de cacti, si te funciona hiciste como yo y los instalaste al reves =P (snmpd y snmp).

    siempre suponiendo que minimamente tenes ping entre las maquinas.

  4. markitos

    eso se debe basicamente a que el servidor con ip: xx.xx.xx.xx no esta respondiendo a las peticiones por lo que debes revisarlo, desde los pasos de instalacion del snmp/d, sin ese paso correctamente poco podras graficar de esa maquina…

  5. Nathalia

    Segui el tutorial paso a paso y todo bien, hasta que comienzo a instalar cacti, me sale lo siguiente.
    Deprecated: Function ereg() is deprecated in /usr/share/cacti/site/install/index.php on line 45 Deprecated: Function ereg() is deprecated in /usr/share/cacti/site/install/index.php on line 285
    A que se deberá?, si lo obvio seguramente después tendré problemas con los graficos o algo. Si tienen alguna idea de lo que puede ser se los agradecería mucho!.

  6. Pingback: Impresiones sobre Cacti at Rodrigo Ramírez – Decipher’s blog
  7. mario

    Como manual de instalacion esta correcto pero como manual de configuracion muy pero muy flojo.

    Saludos

  8. Pingback: Gráficos de tráfico de red en Cacti « Mi Raspberry Pi

Post a comment

*

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>