Ir al contenido principal

Instalación de Cacti en Centos

   Siguiendo con este post de la semana pasada en el que os indicaba como realizar la instalación de un servidor Centos, hoy vamos con un manual sobre la instalación de Cacti en Centos. Cacti es un sistema de monitorización de servicios basado en SNMP orientado a la generación de estadísticas gráficas. Podéis encontrar mas información sobre Cacti en su pagina oficial Aquí.

   Para comenzar la instalación, nos conectamos a nuestro servidor por SSH, nos logamos en el con el usuario Root, y comenzamos instalando los prerrequisitos del sistema:

  • yum install -y mysql-server mysql-devel php-mysql php-devel php php-snmp httpd net-snmp net-snmp-devel net-snmp-utils rrdtool rrdtool-devel ruby-rrdtool gcc make wget

   Wget no es un prerrequisito en si, pero nos hará falta mas adelante para descargar el programa. Una vez que haya finalizado la instalación de los prerrequisitos, nos colocamos en el directorio root, descargamos la última versión de cacti de la pagina web y la descomprimimos:

   Una vez hecho esto, dejamos momentáneamente el software de Cacti, y pasamos a configurar mysql. Para ello, primero arrancamos el servicio y lo configuramos para que arranque al inicio del sistema:

  • service mysqld start ; chkconfig mysqld on

   Ejecutamos el asistente de configuración inicial de SQL para cambiar la contraseña de root de SQL. En cuanto a las preguntas sobre seguridad, podemos decir a todo que si sin problemas:

  • mysql_secure_installation

   Creamos el usuario cacti en el sistema, lo configuramos para que no se pueda iniciar sesión con el y para que sea miembro del grupo Apache:

  • useradd -s /sbin/nologin -M -N -G apache cacti

   Modificamos su contraseña con el comando:

  • passwd cacti

   Creamos e importamos la base de datos de cacti en mysql, para ello, modificaremos el fichero cacti.sql con la configuración de nuestro equipo y lo importaremos en el servidor SQL. Este paso es muy importante, repasadlo bien antes de ejecutarlo y modificad lo que sea necesario, password, rutas, etc.:

  • sed -i -e '1i USE cacti;' /root/cacti-0.8.8a/cacti.sql ; sed -i -e '1i CREATE DATABASE cacti;' /root/cacti-0.8.8a/cacti.sql ; echo "CREATE USER cacti;" >> /root/cacti-0.8.8a/cacti.sql ; echo "GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'Passw0rd’;" >> /root/cacti-0.8.8a/cacti.sql ; mysql -u root -p < /root/cacti-0.8.8a/cacti.sql

   Si os equivocáis, podéis eliminar el usuario cacti de SQL y la base de datos, ejecutando los siguientes comandos (luego repasáis el fichero y lo ejecutáis otra vez):

  • mysql -u root –p
    • drop user cacti;
    • drop database cacti;
    • exit;

   Para comprobar que la base de datos se ha creado correctamente, podéis ejecutar los comandos:

  •  mysql -u root –p
    • show databases;
    • exit;

   Debería aparecer algo así:

image

   Siguiendo la misma regla, comprobamos que el usuario cacti se ha creado correctamente:

  • mysql -u root –p
    • select * from mysql.user;
    • exit;

   Una vez configurada la base de datos de cacti en mysql, vamos a mover el directorio cacti que descomprimimos antes, desde la carpeta root hasta el directorio raíz de apache y haremos owner de esta carpeta al usuario cacti y al grupo apache (en este comando, asumimos que el directorio raíz esta por defecto, si se ha modificado, cambiar este comando con la ruta correcta):

  • mkdir -p /var/www/html/cacti ; cp -R /root/cacti-0.8.8a /var/www/html/cacti ; chown -R cacti:apache /var/www/html/cacti

   Ahora, modificamos la configuración de cacti para que pueda conectarse a la base de datos. Para ello, editamos el fichero config.php que se encuentra en el directorio include de cacti y (para editar con vi, tenemos que pulsar la tecla i y una vez que hayamos terminado de modificar el fichero, pulsamos esc y después crtl+w y crtl+q. Podéis encontrar mas info sobre vi aquí):

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

   Modificamos las siguientes líneas:

image

   Una vez hecho esto, y a no ser que hayáis desactivado iptables, hay que abrir el puerto 80 en el firewall para las conexiones entrantes. Para ello, primero tomaremos nota del numero de línea del comando REJECT all en nuestra lista de iptables:

  • iptables -L INPUT --line-numbers

   El comando anterior, nos mostrara una salida como esta:

image

   En nuestro caso, el comando que descarta las conexiones en nuestro equipo se encuentra en la línea 5. Nuestra regla de permitir trafico en el puerto 80, debe encontrarse con un numero de línea inferior al numero de línea del comando Reject, o este descartara la conexión antes de que nuestro comando pueda permitirla (para mas información sobre el uso de iptables, podéis buscar aquí). Nosotros introduciremos nuestra línea en la posición 4:

  • iptables -I INPUT 4 -p TCP -m state --state NEW --dport 80 -j ACCEPT

   Una vez introducida la línea anterior, podemos comprobar que todo esta correcto repitiendo el paso:

  • iptables -L INPUT --line-numbers

   Deberíamos tener algo arecido a esto:

image

   Cuando comprobemos que todo esta bien, tenemos que salvar la configuración de iptables y reiniciar el servicio. Para ello, ejecutaremos los comandos:

  • service iptables save; service iptables restart

   Ahora, arrancaremos el servicio snmpd y lo configuraremos para que se inicie con el sistema (para cambiar la comunidad SNMP o la configuración del servicio, editaremos el fichero snmp.conf):

  • service snmpd start ; chkconfig snmpd on

   A continuación, habilitamos php en apache si no estaba hecho ya editando el fichero php.conf que se encuentra en conf.d

  • vi /etc/httpd/conf.d/php.conf

   Modificamos lo siguiente:

image

   Iniciamos el servicio Apache y lo configuramos para que arranque al inicio del sistema:

  • service httpd start ; chkconfig httpd on

    Ahora pasamos a la configuración visual. Iniciamos el asistente de configuración de cacti usando un navegador y conectándonos a la ruta: http://IP_servidor/cacti y seguimos los siguientes pasos:

image

image

image

   Nos logamos en http://IP_servidor/cacti con el usuario admin y la contraseña admin y cambiamos la contraseña por otra mas segura:

image

image

And Weel Done! Hemos finalizado nuestra instalación de cacti.

Comentarios

Entradas populares de este blog

Error id 12294, La base de datos SAM no pudo bloquear la cuenta de administrador...

Últimamente hemos estado teniendo un problema de esos que a todo administrador de sistemas le trae de cabeza... Al menos hasta que lo ha solucionado una vez. Para aquellos de vosotros que habéis llegado hasta aqui después de toparos con el en vuestro trabajo diario y no sabeis muy bien que hacer, voy a indicaros paso por paso como solucionarlo. El error consiste en el intento reptitivo de bloqueo de la cuenta de Administrador del dominio por parte de una maquina del dominio. Estos errores se generan en el registro de eventos de sistema con el id 12294 y con origen Directory-Services-SAM si es Windows 2008 o SAM si es Windows 2003 o anterior. El error en si no aunque parece grave, no debe preocuparnos tanto, ya que la cuenta de administrador de dominio nunca se bloquea. Lo que si nos molestara mas, es el hecho de que estos errores saturan nuestro log de eventos de sistema, así como el registro de seguridad del DC. El problema que nos encontramos cuando intentamos

Solucionar Error 8344 “Insufficient access rights to perform the operation.” En Azure AD connect

Ayer termine de instalar y configurar Azure AD connect. Para los que no lo sepáis, Azure AD connect es el programa que se utiliza para sincronizar objetos de tu directorio activo local con el directorio activo de azure. Podéis acceder a la estupenda documentación de Microsoft aquí. El caso es que después de terminar la configuración, estuve repasando que las primeras sincronizaciones fueran correctas cuando vi que aparecía una tarea con errores en Azure AD sync service. El fallo era el siguiente: Como podéis ver, esta tarea de export, que ya os voy diciendo que era una sincronización de contraseñas, falla por un problema de permisos. La verdad es que era un poco confuso, ya que había seguido la documentación de Microsoft para la implementación al pie de la letra y cumplido todos los prerrequisitos. ¿Se me escapaba algo? Al final, la respuesta era bastante sencilla. Este directorio activo no lo desplegué yo, así que hay algunas cosillas “heredadas”. Una de ellas es que una Unidad Organi

DNS y reenviadores condicionales...

Resulta que estamos migrando a Windows 2008 R2 para poder poner GPOs personalizadas por OU, y el otro día nos surgió un problemilla relacionado con los reenviadores condicionales del servicio DNS en 2008 (anteriormente, los teníamos en 2003 R2). Se nos paso configurar el reenvío de las peticiones de nuestro subdominio principal a nuestro dominio raíz, lo cual, teníamos hecho mediante el uso de reenviadores condicionales. Entramos en el nuevo servidor DNS para configurarlos y @_@ ¡¡no estaban!! Resulta que los amigos de Microsoft han cambiado las pestañas de opciones del servidor DNS y las han dejado así: Como podéis ver, el reenvío de peticiones basado en sufijo, ha desaparecido. Aparentemente solo se permite el reenvío global de peticiones, ¿no? Bueno, pues no, solo lo han cambiado de sitio. Con Windows 2003, cuando querías configurar el reenvío de peticiones DNS basado en dominio, tenias que hacerlo servidor por servidor, ya que la pestaña correspondiente, se encontraba dent