Nagios + Cacti + MySQL + PHPMyAdmin + Centreon

Vamos a realizar la instalación de un sistema NAGIOS (3.2.1) con sus Plugins (1.4.14), PHP (5),  gráficas Cacti (0.8.7e), sistema CENTREON (2.1.5) para control GUI de Nagios, PHPMyAdmin (3.3.2) y MySQL (5.0.51).

Nuestro sistema es una Debian Lenny y sus source, por si alguien le interesa (se de uno que tenia problemas por eso :P) aquí las dejo.

PREPARACIÓN DEL SISTEMA

vim /etc/apt/sources.list

deb http://ftp.caliu.cat/debian/ lenny main
deb-src http://ftp.caliu.cat/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Modificando o no las source vamos hacer un update para tener actualizado los paquetes a instalar;

apt-get update

Como tendremos que “crear paquetes” necesitamos los build-essential;

apt-get install build-essential

Verdad verdadera es la que dice que necesitamos muchas cosas mas, ala a instalar;

apt-get install libdatetime-perl libdbi-perl libdbd-mysql-perl libclass-autouse-perl libmd5-perl libdigest-sha1-perl libhtml-template-perl libimage-size-perl libmime-lite-perl libmime-perl libcompress-zlib-perl libnet-dns-perl liburi-perl libhtml-tagset-perl libhtml-parser-perl libwww-perl libwww-perl libgd-gd2-perl libmailtools-perl libunicode-maputf8-perl libxml-simple-perl libio-stringy-perl libcaptcha-recaptcha-perl libdigest-hmac-perl libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Dicen que no hay Nagios sin Apache, pues vamos a fumar pipa de la paz con su php

apt-get install apache2 libapache2-mod-php5 libgd2-xpm-dev php5-common php5-cgi php5-cli php5-mysql

Con esto ya tenemos un apache con las librerías necesarias para hacer la instalación de NAGIOS. Ahora vamos a la intalación pura y dura del motor NAGIOS

INSTALACIÓN NAGIOS

Creamos los usuarios, grupos y modificamos sus características;

/usr/sbin/useradd -m nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd www-data

Nos descargamos Nagios, compilamos e instalamos;

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
tar xzf nagios-3.2.1.tar.gz

cd nagios-3.2.1

./configure –with-command-group=nagcmd
make all


make install
make install-init
make install-config
make install-commandmode
make install-webconf

Creamos un usuario para nuestro Nagios

NOTA! (El parametro -c es de CREATE, si queremos vamos usuarios el primero hacemos con el -c y los demás sin el!)

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin


/etc/init.d/apache2 reload

Vamos a por los plugins…

cd /tmp
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
tar xzf

nagios-plugins-1.4.14.tar.gz

cd nagios-plugins-1.4.14
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install

Vamos a reiniciar apache y nagios. Si funciona crearemos un enlace para que se inicia Nagios con el inicio del  sistema.

/etc/init.d/apache2 restart

/etc/init.d/nagios restart

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Nota! Para confirmar que funciona vamos hacer un check de la config (como un /etc/init.d/apache2ctl -t) y nos dirá si hay errores y donde.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors: 0

Ya nos podemos conectar a la web http://servidor/nagios con el usuario y contraseña que hemos configurado.

Nagios Login

INSTALACIÓN PHPMYADMIN

Procedemos a la instalación del PhpMyAdmin (por si las moscas 😛 )

cd /tmp

wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.4/phpMyAdmin-3.3.4-all-languages.tar.gz?use_mirror=freefr

tar xzf phpMyAdmin-3.3.4-all-languages.tar.gz

mv phpMyAdmin-3.3.4-all-languages /var/www/phpmyadmin

Login PhpMyAdmin

Entramos en la web http://servidor/phpmyadmin

INSTALACIÓN CACTI


apt-get install mysql-server rrdtool snmp

Activaremos la extensión para el SNMP añadiendo la siguientes lineas;

vim /etc/php5/conf.d/snmp.ini

; Enable snmp extension module

extension=snmp.so

file_uploads = On

vim /etc/apache2/mods-enabled/php5.conf (Añadimos o modificamos los siguientes campos)

# PHP is an HTML-embedded scripting language which attempts to make it

# easy for developers to write dynamically generated webpages.

LoadModule php5_module modules/libphp5.so

# Cause the PHP interpreter to handle files with a .php extension.

AddHandler php5-script .php

AddType text/html .php

# Add index.php to the list of files that will be served as directory

# indexes.

DirectoryIndex index.php

vim /etc/apache2/httpd.conf

Include conf.d/*.conf

Vamos  a preparar la MySQL para la instalación de CACTI;

mysqladmin -u root –p create cacti

cd /tmp

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

tar xzvf cacti-0.8.7e.tar.gz

mv cacti-0.8.7e /var/www/cacti

cd /var/www/cacti/

mysql -u root -p cacti < cacti.sql

adduser cacti

mysql -u root -p mysql

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ’somepassword’;

mysql> flush privileges;

mysql> quit

Agregamos las siguientes lineas;

vim include/config.php

$database_type = “mysql”;

$database_default = “cacti”;

$database_hostname = “localhost”;

$database_username = “cacti”;

$database_password = “cacti”;

Con los passwords que hemos puesto y el usuario que toca.

chown -R cacti log

chown -R cacti rra

Agregamos;

vim /etc/crontab

*/5 *   * * *   cacti   php /var/www/cacti/poller.php > /dev/null 2>&1

Nos conectamos con http://website_host/cacti y pulsamos Next 2 veces y Finish

Cacti

Cacti

Cacti Resumen Instalación

Cacti Login

Nos logamos como Admin y passwd : admin. Luego cambiamos el password y ya podremos añadir los hosts

Ya tenemos nuestro entorno de gráficas 😉

Cacti Inside

Procedemos al Centreon…

INSTALACIÓN CENTREON

Vamos a empezar…

apt-get install tofrodos php5-cli php-db php-date php5-gd php5-mysql php5-snmp php5-ldap php-mail php-mail-mime php-net-smtp php-net-socket php5-xmlrpc rrdtool librrds-perl libconfig-inifiles-perl

Si aparece el siguiente mensaje (debería…);

Fichero de configuración `/etc/php5/conf.d/snmp.ini’
==> Fichero en el sistema creado por usted o por algún script.
==> Fichero también en el paquete.
¿Qué quisiera hacer al respecto? Sus opciones son:
Y o I : instalar la versión del paquete
N o O : conservar la versión actualmente instalada
D : mostrar las diferencias entre versiones
Z : ir a un shell para examinar la situación
La acción por omisión es conservar la versión actual.
*** snmp.ini (Y/I/N/O/D/Z) [por omisión=N] ?

Le damos a D

Seguimos…

apt-get install snmp snmpd libnet-snmp-perl lsb-release mailx libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl libnet-snmp-perl libsnmp-perl

vim /etc/snmp/snmpd.conf

Buscamos a linea #com2sec readonly default public y eliminamos la “#”. Guardamos y salimos

Reiniciamos

invoke-rc.d snmpd restart

Miramos si funciona

snmpget -v1 -c public localhost sysDescr.0

Actualizamos PEAR

pear channel-update pear.php.net

pear upgrade pear

pear install -f -a DB_DataObject DB_DataObject_FormBuilder MDB2 Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Net_Traceroute Net_Ping Validate XML_RPC SOAP

y para finalizar antes de instalar… los ndo..

apt-get install nagios-nrpe-plugin ndoutils-nagios3-mysql

Nos va a pedir el WORKGROUP (por el SAMBA) y el  WINS. Dejamos los valores por defecto.

Nota! En la configuración de ndoutils (pantalla azul) le damos a SI

Descargamos…

cd /tmp

wget http://download.centreon.com/centreon/centreon-2.1.5.tar.gz

tar xzvf centreon-2.1.5.tar.gz

cd centreon-2.1.5

ln -s /usr/sbin/nagios2 /usr/sbin/nagios

bash ./install.sh -i

NOTA!! En mitad de la instalación nos pedirá el fichero de NDOUTILS, este por defecto esta en /usr/sbin/ndomod.o pero en la instalación esta en /etc/nagios3/ndomod.cfg por lo que aparecerá la siguiente pantalla.

El típico error de /usr/sbin/ndomod.o is not a valid file. 😉

NDO ERROR NAGIOS

Le pondremos que la ruta correcta es  /etc/nagios3/ndomod.cfg

NDO OK

Despues de muchos checks llegamos al final y ya podemos entrar en la web: http://servidor/centreon

Centreon Config

Seguimos confirmando la licencia

Centreon Config

Parece que ya esta todo ok…

Centreon Confirmado

De nuevo todo ok

Centreon Confirmado

Configuración Base de datos

Configuración Base de datos

Ya queda poco..

Confirmación Base de datos

La configuración de acceso a centreon…

Configuración de acceso

LDAP, a gusto del consumidor, seria aconsejable en un entorno “perfecto” pero no es el caso…

LDAP Config

Una de las ultimas y siguiente siguiente..

Mas...

Y ya lo tenemos…

Login

Por ultimo editamos el siguiente fichero

vim /etc/default/ndoutils

Modificamos “ENABLE_NDOUTILS=0” y lo dejamos como “ENABLE_NDOUTILS=1

Advertisements

24 thoughts on “Nagios + Cacti + MySQL + PHPMyAdmin + Centreon”

  1. La verdad, muchisimas felicitaciones por esta guia. La segui al pie de la letra (obviamente que siempre tiene sus complicaciones dependiendo de la maquina), pero salio todo adelante y funcionando!

    Pude realizarlo en RH5 sin inconvenientes. Nuevamente, felicitaciones y muchas gracias 🙂

    Like

    1. Gracias a ti!

      Yo la he seguido en una instalación nueva y a funcionado perfectamente en una Debian 😉

      Si detectas algo avisa!

      Like

  2. Genial tu instructivo! mil felicitaciones! ya que por lo que veo, sos un experto en el tema, tengo el siguiente inconveniente y tal vez, puedas ayudarme. Tenía instalado Nagios 3 desde los repositorios. Lo desinstalé por completo con –remove y luego seguí tu guía. Logré instalar todo, pero lamentablemente no puedo ver los gráficos en cacti. no arroja ningún error. Simplemente no aparecen los gráficos. Alguna sugerencia?

    Muchisimas gracias!
    Ariel Mannelli

    Like

  3. Hola! Nuevamente yo por aquí. Tengo todo funcionando, ya he agregado hosts y servicios pero no encuentro la manera de que me tome los servicios para que me realice los graficos. Tendrás alguna idea de donde puedo configurar eso?

    La verdad que tampoco puedo encontrar mucha info ya que esta en Frances la mayoría, pero si sabes de alguna especie de guia (tal como la tuya) u otra Wiki (ya que la de Centreon me la lei de pies a cabeza) y no hay nada.

    Gracias nuevamente!

    Like

    1. Buenas!!!

      No ves los graficos o aparecen con un X? Lo digo porque se tiene que modificar el /etc/crontab para que actualize los graficos cad 5 min:

      vim /etc/crontab

      */5 * * * * cacti php /var/www/cacti/poller.php > /dev/null 2>&1

      Like

  4. Tengo una pregunta, vengo trabajando con el Nagios + Centreon para la monitorizacion de algunas redes instaladas por mi trabajo, y mi curiosidad va por lo siguiente, es posible ver o integrar las graficas que produce el Cacti en elNagios y Centreon???? Porfavor si alguien pudiera ayudarme con esta interrogante

    Like

  5. Gracias por el tutorial, llevaba un tiempo probando nagios pero había cosas como cacti y centreo que no había probado.
    Gracias a ti ahora tengo una instalación de nagios mucho mejor.
    Saludos.

    Like

  6. Yo he seguido la instalacion pero tengo problemas con las notificaciones, y he leido que es un parto para muchos, alguien sabe manejar nagios bien con este tema=?

    Like

  7. Hola estimado, muchas gracias por el aporte, mi pregunta pasa por saber si al instalar cetreon no me dañara mi Nagios 3.2.3 la cual la tengo en producción estable.

    Como hago para instalar cetreon y hacerlo hablar sin problemas con nagios.

    Gracias.

    Like

    1. Buenas!

      No hay problema para hacerlo! Centreon lo tienes que configurar con los datos que tienes en nagios, poor lo que, por defecto, el no te pone.nada. Si te nagios es muy critico, create una maquiba virtual con la misma configuracion de nagios y luego instalale el centreon y prueba.

      Centreon es muy potente y es bueno al principio probarlo en un entorno no productivo!

      Like

  8. Hola Eric, tengo una duda, el sistema lenny ya esta obsoleto, he intentado montarlo con el nuevo debian, pero por ejemplo con el mailx me da problemas, y algunas cosas mas, que puedo hacer? donde puedo conseguir la distribución lenny? o podrías adaptar este tuto para la nueva versión? muchísimas gracias de antemano!

    Like

    1. Hola,
      Como bien dices esta info es para lenny y tengo q actualizarlo para la nueva version de debian, la 6 per decir q lenny esta obsoleto no!!!!

      En la web d debia. Estan las old versions y puedes encontrar la debian, si no la puedes descargar dimelo que te la paso!!

      Like

  9. Gracias por tu contestación tan rápida, ya lo he conseguido xD me ha costado lo mio, en la web de debian no la encontré pero he podido hacerme con una torrent y se esta instalando en estos momentos, ya te contare según avance 😉 un saludo y mil gracias!.

    Like

  10. Hola Eric, ya he conseguido que este todo operativo, ahora toca empezar a añadir los recursos a monitorizar jeje, la verdad es que con lenny ha sido coser y cantar, te doy la enhorabuena por el pedazo de manual que hiciste 😉 gracias de nuevo.

    Like

  11. Muy buen tutorial, pero tengo un problema, no me aparecen los hosts activos ni el tactical overview.
    Alguien me puede ayudar?

    Muchas Gracias

    Like

  12. En nagios, me aparecen todos los host, donde no me aparecen es en centreon.
    En centreon en los pequeños recuadros en la parte superior derecha, no aparecen los hosts (ni activos,ni inactivos, etc…)

    Like

  13. Hola Enric! retomando luego de 2 años Nagios, me encuentro nuevamente con tu post! pero uno nuevo y mejorado! Bien por tí, siempre en la vanguardia!

    Saludos desde Argentina!
    Ariel Mannelli

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s