domingo, 12 de julio de 2009

Instalar Cacti en Linux

Últimamente he estado trasteando con Cacti y la verdad es que me ha sorprendido. Explicaré por encima cómo instarlo para quien le pueda interesar.

Para el que ande un poco perdido, Cacti es una solución completa para la creación de gráficas para la monitorización de dispositivos.

Para la instalación yo he utilizado Centos 5 y Fedora Core 7. Es practicamente igual para las dos distribuciones salvo la instalación de RRDTool que lo tuve que compilar "a mano".

Los paquetes necesarios para la instalación son los siguientes:
  • Apache
  • PHP
  • php-mysql
  • php-snmp
  • mysql-server
  • rrdtool
  • net-snmp
  • net-snmp-utils
Nos creamos un usuario en el sistema

useradd cactiuser

Ahora nos conectamos al MySQL...

myqsl
mysql> set password for root@localhost=password('tu_pass_root' );
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set password for cactiuser@localhost=password('Tu_pass_cactiuser');
mysql> exit

Ya tenemos creada la base de datos, asignado los permisos para el usuario root y para el usuario cactiuser y hemos tambien establecido una password para ambos usuarios.

Lo siguiente será descargarnos la última versión de Cacti: http://cacti.net/download_cacti.php

Podemos hacerlo de la siguiente forma:

# wget http://www.cacti.net/downloads/cacti-0.8.7.tar.gz

Una vez descargado, lo descomprimimos…

# tar xzvf cacti0.8.7.tar.gz -C /var/www/html

Ahora renombramos la carpeta

# mv /var/www/cacti0.8.6h /var/www/html/cacti

Nos posicionamos en la carpeta del cacti

# cd /var/www/html/cacti

Importamos el archivo cacti.sql a la base de datos que creamos anteriormente

# mysql user=root password=tu_password_root cacti.sql 


Por último, ponemos como propietario cactiuser a las carpetas rra y log.

# chown -R cactiuser /log rra/

Ahora configuramos el Cacti para que realice la conexión con MySQL. Para ello evitamos el archivo config.php

# vi /var/www/html/cacti/include/config.php

y lo dejamos de la siguiente forma:

$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "Tu_pass_cactiuser";
$database_port = "3306";

Guardamos y salimos del editor Vi.

:wq

A continuación, vamos a crearnos una tarea programada.

# vi /etc/cron.d/cacti

y le indicamos que cada 5 minutos se ejecute.

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

Ahora podemos coger el navegador y escribir:

http://ip-del-server/cacti

o si estás en el mismo servidor

http://localhost/cacti

Si todo ha ido bien, nos aparecerá un asistente para la instalación, pinchamos en next, le indicamos que es una nueva instalación y muy importante, en la siguiente pantalla, nos deberá aparecer todos los paquetes con la palabra en verde [FOUND]. Eso quiere decir que tenemos todos los paquetes necesarios instalados. En el caso de que alguno en rojo con [NOT FOUND], no seguir la instalación.

Si todo ha ido bien, pinchamos en finalizar y habremos terminado la instalación. Accedemos con el usuario admin y el password admin. En el primer logueo, nos pedirá que cambiemos la contraseña.

Listo! Ya pueden empezar a jugar con el Cacti. Asegurense de permitir en el Firewall las conexiones UDP por el puerto 161 y 162 para el SNMP.

Que aproveche :)

38 comentarios:

  1. Cacti funcionando!
    http://www.darknd.net/cacti

    Gracias tio! :D

    ResponderEliminar
  2. Por si no me crees... http://img194.imageshack.us/img194/3989/cacti1247929352093.png

    ResponderEliminar
  3. Buenas noches yo segui paso a paso la configuracion del cacti segun la pagina pero cuando le pongo la IP/cacti no me muestra nada el navegador podrian ayudarme o decirme en donde me equivoque.

    Gracias

    ResponderEliminar
  4. Hola Fractal_Crash,

    Asegúrate de que tienes arrancado el servidor Apache o que no tienes bloqueado el puerto 80 en el Firewall.

    Un saludo.

    ResponderEliminar
  5. el servidor apache esta en linea y el puerto 80 no esta bloqueado pero aun asi sigue sin mostrarme nada.

    Saludos

    ResponderEliminar
  6. Hola Fractal_Crash,

    Que distribución linux estás usando?

    Cuando pones en el navegador la http:// y la dirección donde tienes el Cacti instalado te sale algo?

    Cuando pones http://IP-del-servidor/cacti ¿Qué te aparece?

    Un saludo.

    ResponderEliminar
  7. Me pasa lo mismo, con la pgina de http://127.0.0.1/cacti y aparece una pagina en blanco, si pong http://127.0.0.1 si jala una pagina en php que cree pero dentro de la carpeta cacti no hace nada... esta en blanco..

    ResponderEliminar
  8. la distribucion es centos 5.3 y cuando pongo el http://ip /cacti solo me sale la pagina en blanco

    Saludos.

    ResponderEliminar
  9. Usa la IP de loopback si el Cacti lo tienes instalado en la propia máquina.

    Lo de la página en blanco, prueba a reinstalar o a actualizar la versión de apache y php.

    Me ha pasado con otras cosas eso de la página en blanco.

    Suerte :)

    ResponderEliminar
  10. Hola !!!

    en estos momentos necesito utilizar cacti para monitorear unos nodos de una grid...pero no se como decirle a cacti las direcciones ip de los nodos...o los puertos...no se como hacerlo...podrias explicarmelo?
    gracias

    ResponderEliminar
  11. Hola, he seguido la guia para instalar cacti paso a paso y funciona, lo pude instalar todo correctamente... lo unico es que las graficas no se muestran... saben que puede estar pasando????

    GRACIAS

    ResponderEliminar
  12. @stefania, disculpa el retraso, prueba en cactiusers.org, hay muchos tipos de plugins! espero que encuentres el que necesites!

    @Anónimo, asegúrate que tienes bien instalado la librería GD para PHP.

    Saludos.

    ResponderEliminar
  13. vale era eso... me faltaba instalar gd..... muchas gracias

    ResponderEliminar
  14. Hola, cuando quiero importar el archivo cacti.sql (# mysql user=root password=tu_password_root cacti.sql), me sale el siguiente error:
    ERROR 1045 (28000): Access denied for user '=root'@'localhost' (using password: YES)
    A que se debe esto????el comando que uso es el que escribes: "mysql -u=root -p=jupiter cacti.sql"

    ResponderEliminar
  15. Hola Xavi,

    Utiliza la siguiente sintaxis:

    mysql user=root password=tu_password_root cacti.sql

    Si quieres, también puedes gestionar la base de datos a través de phpMyAdmin.

    Saludos.

    ResponderEliminar
  16. Ok gracias!ya estoy dentro de cacti y he creado un device, tal y como pone el manual.
    Lo que pasa es que ahora no veo ninguna grafica y mirando a ver que pasa en el apartado de System Utilites/Technical Support he encontrado esto: "ERROR: Installed RRDTool version does not match configured version.
    Please visit the Configuration Settings and select the correct RRDTool Utility Version."
    He cambiado la version la 1.0.x por la 1.2.x(solo hay 2) y he reiniciado el apache y mysql y me sigue sin salir nada.
    Hay solución?
    Sabes a que se debe?

    ResponderEliminar
  17. Hola Xavi,

    Intenta actualizar la version de RRDTool. Con yum o apt-get... dependiendo de en que distribución te encuentres.

    Ya me dices si has podido solucionarlo :)

    Un saludo.

    ResponderEliminar
  18. Creo que no se me ven porque tengo la version 1.3 de rrdtool y cacti solo acepta la 1.0 o la 1.2.

    Intentare no dar mas la brasa, gracias por todo.

    ResponderEliminar
  19. Hola Xavi,

    ¿Has podido solucionar el problema con RRDtool?

    Saludos.

    ResponderEliminar
  20. No, me baje la version rrdtool 1.0.13 despues de eliminar la otra version que tenia y nada.
    Borre tambien toda la configuracion de cacti y volvi a crearlo todo y ahora ni se me ve en el firefox.
    Un desastre vamos.
    Queria ver si me monitorizaba la temperatura de la CPU y me hacia una grafica pero no hay manera. Supongo que tengo que añadir un script en la carpeta scripts pero si ni se me ve en firefox mal voy....

    Saludos!

    ResponderEliminar
  21. Por cierto esto de los plugins que te los tienes que descargar para que sirve?

    Gracias!

    ResponderEliminar
  22. Hola Xavi,

    No te rindas hombre :)

    Si usas Debian o distribuciones similares, con un simple apt-get install cacti se lo instala todo listo para su uso :)

    ResponderEliminar
  23. Respecto a los Plugins, son funcionalidades extras que crea la gente o fabricante de hardware o software para que puedan ser monitorizados con el Cacti.

    No todos los plugins se instalan igual. Lo mejor es que te leas la documentación del plugin que quieras instalar.

    Saludos :)

    ResponderEliminar
  24. hola estoy en centos 5 y el manual me funciono bien sin errores pero al momento de ir a http://localhost/cacti no me sale nada, solo me sale un:

    Not Found

    The requested URL /cacti was not found on this server.
    Apache/2.2.3 (CentOS) Server at localhost Port 80


    Por favor su apoyo

    ResponderEliminar
  25. olvide mencionar, temgo un
    Apache 2.2.3
    cacti-0.8.7g-2.el5.rf

    ResponderEliminar
  26. Hola,
    logre configurar todo pero me sale un:

    Not Found

    The requested URL /cacti was not found on this server.
    Apache/2.2.3 (CentOS) Server at localhost Port 80

    por favor su apoyo, gracias.

    ResponderEliminar
  27. Hola William,

    Revisa la configuración de Apache, puede que no esté despachando bajo /var/www/html/

    Saludos.

    ResponderEliminar
  28. Hola:

    Pude configurar todo pero me sale lo siguiente:

    Forbidden

    You don't have permission to access/cacti on this server.
    Apache/2.2.17(Fedora) Server at localhost Port 80

    Sábes pq sale?

    Realicé la configuración paso por paso.
    Te agradecería tu ayuda.
    Un saludo

    ResponderEliminar
  29. Máximo espero puedas ayudarme:
    Ya instalé la parte de comando de cacti pero ya al insertar http://localhost/cacti/ tengo el mismo problema de que aparece la página en blanco ; ya actualice mysql, php y apache ; nose si existe un error con php ldap pues me sugirieron esto para php ldap y la 3ra línea nose donde va. Porfa me puedes decir si ese es el error o cuál es

    yum install php-ldap

    vi /etc/php.ini

    add extension=ldap.so

    service httpd restart

    si alguien tiene una respuesta acertada porfa ayudeme

    ResponderEliminar
  30. hola amigo necesito ayuda quiesiera saber si hay una opcion efectiva para instalarlo con postgres y no con mysql he investigado y creo k si se puede pero al realizar cambios se queda la pagina en blanco quisiera que me pudieran ayudar ya llevo casi un mes y no puedo levantarlo desde cero con postgres ojala y me puedas ayudar te lo agradeceria muchisimo

    ResponderEliminar
  31. Hola que tal, como les va, yo tamb seguí el manual paso a paso pero me da este error:

    Not Found

    The requested URL /cacti was not found on this server.
    Apache/2.2.3 (CentOS) Server at localhost Port 80

    Alguien puede ayudarme ?? Gracias!!

    ResponderEliminar
  32. Buenas noches mi nombre es Jose Pereira soy de Honduras.

    Máximo Pérez como esta??, tengo una pregunta para usted, existe la posibilidad que me ayudes a configurar este herramienta de monitoreo en mi red, me gustaría que nos comunicáramos por medio de mi correo. apereir@villeferr.com en Skype ajpereira.82 y obviamente podemos hablar de negocio ($) podemos llegar a un acuerdo de cuando costaría..

    En espera de una pronta respuesta.

    Saludos.

    ResponderEliminar
  33. Buenas tardes amigos tendran algun manual o alguna ayuda sobre la instalacion de ldap para cacti ??

    ResponderEliminar
  34. Muy buen día amigo, instale todo Cacti sin problemas, pero no me grafica, solo sale el cuado (podría decirse que la X y Y, pero no salen los colores para graficas). Me hará falta algun complemento.
    De antemano gracias por su ayuda
    PDT: Estoy utilizando CentOS 6.5

    ResponderEliminar
    Respuestas
    1. Hola amigo, ¿tienes todas las dependencias instaladas?

      Un saludo!

      Eliminar
  35. Instalé cacti en centos 6.5 pero tampoco me sale las gráficas, puedo agregar dispositivos normal, pero en el espacio de las gráficas está vacío. Mi correo es eabanto2@hotmail.com

    ResponderEliminar