Instalación de Cacti en RHEL5

Hace ya tiempo estamos usando Cacti para monitorizar en tiempo real las redes, servidores y servicios de algunos de nuestros clientes, y tener reportes gráficos con los que poder tomar tomar decisiones pro-activas y detectar cuellos de botella. Además, al ser software libre, le vamos haciendo hacks, para integrarlo en otras herramientas del cliente como Nagios. Cacti lo podemos probar descargando appliance donde ya viene preconfigurado, el problema es que estos appliances suelen venir instalados con una gentoo capada que nos permite instalar más paquetes con conary, pero la lista de repositorios es limitada, y cuando queremos empezar a sacarle partido a Cacti, no podemos instalar lo que ayuda pide que se necesita, y no podremos monitorizar muchos dispositivos. Para tener una referencia rápida de los dispositivos que podemos monitorizar con cacti, y cómo hacerlo podemos visitar: http://www.debianhelp.co.uk/cactitemplates.htm. Si queremos ver una instalación funcionando podemos visitar https://ciist.ist.utl.pt/cacti/graph_view.php?action=tree: Así podemos echar un vistazo a qué tipo de métricas presta atención otra gente.
Para instalar Cacti en RHEL5, lo primero será descargar los paquetes RPM. Un buen sitio es dag.wieers.com, donde encontraremos un montón más de paquetes que nos pueden venir muy bien instalar desde el RPM en vez de usar el fuente directamente:


Como estos paquetes no son de la distribución oficial, los guardaré en /opt/software. Así, cuando pase tiempo y tenga que volver a instalar el cacti en otro equipo no tengo que pensar: ¿qué versión usé, de dónde descargué los paquetes?: Voy a /opt/software y allí deben estar. Después me planteo si actualizo y pongo una versión más moderna o sigo usando la misma.
Una vez están todos los paquetes descargados, los instalaremos ejecutando:
  1. Instalar las dependencias de la distribución, ejecutando:
    yum -y install net-snmp net-snmp-utils php-mysql php-snmp
  2. Ahora instalar los paquetes que hemos descargado:
    cd /opt/software/cacti
    rpm -ivh cacti-*rpm perl-rrdtool-*rpm \
    python-rrdtool-*.rpm rrdtool-*.rpm rrdutils-*.rpm
  3. Ahora necesitaremos un servidor MySQL. Podemos instalar el que viene con RHEL ejecutando yum -y install mysql-server . Una vez tengamos arrancado el servidor, nos conectaremos como root y crearemos el usuario que usará cacti para conectar a la BBDD:
    create database cacti;
    GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY "pwd4cacti";
    flush privileges;
    Usaremos localhosts cuando Cacti y MySQL estén en la misma máquina. Si no, podremos una segunda línea, sustituyendo localhost por la dirección IP desde se espera que conecte el servidor CACTI.
  4. Volver a la consola del servidor donde hayamos instalado Cacti, y cargar el esquema de Base de Datos, ejecutando:
    mysql -h localhost -u cactiuser --password=pwd4cacti cacti < /var/www/cacti/cacti.sql
  5. Editar el fichero /var/www/cacti/include/config.php, para configurar en las líneas 26 a 31 los parámetros de conexión a la base de datos
  6. Editar /etc/httpd/conf.d/cacti.conf y cambiar en la línea 8 desde qué direcciones IP queremos se puedan conectar los usuarios. Si queremos que esté abierto a nuestras suredes podemos poner allow from 192.168. Luego reiniciar Apache y configurarlo para que se inicie con el sistema.
    /etc/init.d/httpd restart
    chkconfig httpd on
  7. Añadir al crontab del usuario cacti la siguiente línea:
    */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

Ya habremos terminado de instalar. Ahora desde un navegador, accederemos a la página de Cacti, poniendo la IP o nombre del equipo seguido de /cacti/. En mi caso yo pongo http://draw.casa.tecnoquia.com/cacti/, y nos aparecerá el asistente de configuración :
  1. En la primera pantalla Cacti Installation Guide, pulsar el botón Next>>
  2. En Please select the type of installation, dejar seleccionada New Install y pulsar el botón Next>>.
  3. Después en Make sure all of these values are correct before continuing deberíamos tenerlo todo en OK. Pulsar el botón Finish.
  4. Nos aparecerá una ventana para que nos autentiquemos. Usaremos como nombre de usuario y contraseña admin.
  5. Ahora nos aparecerá un mensaje *** Forced Password Change *** donde nos obliga a cambiar la contraseña por defecto. Pondremos la que nos interese tenga el administrador de Cacti y pulsaremos el botón Save.

Ahora configuraremos brevemente Cacti, para fijar los valores predeterminados de monitorización y permitir acceso como invitado, que siempre viene bien cuando lo usamos desde otras herramientas.
  • Ir a la pestaña Console, y luego a Settings. En general Snmp version dejaremos seleccionada Versión 1, y pulsaremos el botón Save
  • Luego, en Settings en la pestaña Poller, ir a la opción Downed Host Detection, y seleccionar Ping and SNMP. Pulsar Save.
  • Todavía en Settings, ir a la última pestaña Authentication y en Guest User, seleccionar guest. Pusar el botón Save.
  • Ahora ir seleccionar User Management el panel de la izquierda, dentro de la pestaña general Console. Hacer click en guest y luego marcar la casilla de verificación Enabled y justo debajo, desmarcar la opción User Must Change Password at Next Login. Pulsar Save.

Cerrar la sesión como admin e intentar acceder a la URL http://draw.casa.tecnoquia.com/cacti/graph_view.php?action=tree. No nos debería pedir login ni password.
La foto la he sacado del album de hipopotominha en flickr

No hay comentarios: