Sei sulla pagina 1di 29

MANUAL DE INSTALACIN Y CONFIGURACIN DE NAGIOS 3 MONITORING PARTE II

Este manual describe la instalacin y configuracin de Nagios 3 en un sistema Linux (Ubuntu 8.04) recin instalado. El cmo instalar el sistema operativo, as como el funcionamiento del mismo no estn en el alcance de este documento, asumiendo que el usuario tiene unos minimos conocimientos en entornos Linux. Si la instalacin se realiza en otra distribucin que no sea Ubuntu, los cambios deben ser mnimos. Ya que la instalacin de Nagios en s se realizar desde el cdigo fuente para dar mayor amplitud a los sistemas en los que pueda aplicarse este documento. Paso 1. Entramos en modo root (su).
1. sudo su -mp

Paso 2. Actualizacin del sistema base.


1. apt-get update

Paso 3. Instalamos Apache 2 y PHP version 5.


1. apt-get install apache2 php5

Paso 4. Creamos fichero info.php para comprobar instalacin.


view plaincopy to clipboardprint?

1. cd /var/www 2. 3. echo "<!--?php phpinfo(); ?-->"

> info.php

Paso 5. Reiniciamos servicio Apache.


1. /etc/init.d/apache2 restart

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


view plaincopy to clipboardprint?

1. http://ip.servidor/info.php

Paso 7. Instalamos el paquete de compilacin necesario.


1. apt-get install build-essential

Paso 8. Instalacin de las libreras necesarias para jpeg, png y gd2.


view plaincopy to clipboardprint?

1. apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libgd2-xpm-dev

Paso 9. Instalacin de la libreria GD.


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7.

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.


1. apt-get install php5-gd

Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que estn las GD.
1. /etc/init.d/apache2 restart

(navegador http://ip.servidor/info.php) Paso 12. Creacin del usuario Nagios y asignacin de password.
1. useradd nagios 2. passwd nagios

Paso 13. Creacin de los grupos de Nagios.


1. groupadd nagios 2. groupadd nagcmd

Paso 14. Asignacin de los usuarios a sus respectivos grupos.


1. usermod -G nagios nagios 2. usermod -G nagcmd nagios 3. usermod -G nagcmd www-data

Paso 15. Descargamos los fuentes de Nagios y sus plugins.


view plaincopy to clipboardprint?

1. cd /tmp 2. wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.2/nagios3.2.2.tar.gz/download

3. wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagiosplugins-1.4.15.tar.gz/download

Paso 16. Instalamos Nagios.


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9.

tar xvfz nagios-3.2.2.tar.gz cd nagios-3.2.2/ ./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode make install-webconf

Paso 17. Instalamos los plugins de Nagios.


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6.

cd /tmp tar xvfz nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15/ ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install

Paso 18. Instalamos el mdulo SNMP de perl.


view plaincopy to clipboardprint?

1. perl -MCPAN -e "install Net::SNMP"

( a cualquier pregunta respondemos yes) Paso 19. Creamos usuario http para el acceso a Nagios.
1. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Paso 20. Reiniciamos el Apache para que actualize este ltimo cambio.
1. /etc/init.d/apache2 restart

Paso 21. Iniciamos el servicio de Nagios.


1. /etc/init.d/nagios start

En este punto ya podemos acceder a la URL de Nagios.


view plaincopy to clipboardprint?

1. http://ip.servidor/nagios/

Con los datos: usuario..: nagiosadmin password: (el que pusiramos en el punto 19)

Paso 22. Creamos enlace para que arranque en inicio.


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

Paso 23. Instalamos mail. Que es el comando que Nagios usar para el envo de mail.
1. apt-get install mailutils

Paso 24. Creamos enlace para el comando mail.


1. ln -s /usr/bin/mail /bin/mail

Paso 25. Instalamos postfix como medio de transporte para el envo de correo.
1. apt-get install postfix

(cuando nos pregunte por General type of mail configuration respondemos Internet Site) (cuando nos pregunte por el nombre del host le indicamos el nombre de la mquina completo) En este punto tenemos el sistema de correo, pero no configurado. Vamos a configurarlo con un sistema externo, en nuestro caso con una cuenta de correo de Gmail. Paso 26. Copiamos la configuracion original del postfix.
1. cp -p /etc/postfix/main.cf /etc/postfix/main.cf.original

Paso 27. Creamos nuestra configuracin para Gmail.


view plaincopy to clipboardprint?

1. echo "" > /etc/postfix/main.cf 2. nano -w /etc/postfix/main.cf

El contenido del fichero sera:


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6.

relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd smtp_sasl_security_options = noanonymous

Paso 28. Generemos fichero con la autenticacin.


1. nano -w /etc/postfix/sasl/passwd

El contenido del fichero sera: [smtp.gmail.com]:587 usuario@gmail.com:I34Ph5PU Reemplazando la cuenta de correo y contrasea por una cuenta valida de Gmail. Paso 29. Asigamos permisos adecuados.
view plaincopy to clipboardprint?

1. chmod 600 /etc/postfix/sasl/passwd

Paso 30. Transformamos el fichero passwd a un fichero indexado hash.


1. postmap /etc/postfix/sasl/passwd

Paso 31. Aadimos la autoridad certificadora.


1. cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem

Paso 32. Reiniciamos postfix.


1. /etc/init.d/postfix restart

Paso 33. Probar el envo de correo. Para probar si esta todo correcto, podemos hacelo enviando un mail con la siguiente orden:
view plaincopy to clipboardprint?

1. mail -s "el.asunto" usuario@gmail.com

CTRL+D ( para enviarlo ) En el fichero:


1. /var/log/mail.log

debemos ver los logs del envo a la direccin de correo indicada (usuario@gmail.com).
view plaincopy to clipboardprint?

1. Sep 27 13:38:47 ubuntu postfix/smtp[20410]: 193D11BC65: to=, relay=smtp.gmail.com[ 74.125.47.109]:587, delay=10, delays=0.15/0.02/7.3/3, dsn=2.0.0, status=sent (250 2.0.0 OK 1285619937 t2sm6274965yba.14) 2. Sep 27 13:38:47 ubuntu postfix/qmgr[20385]: 193D11BC65: removed 3. Sep 27 13:38:48 ubuntu postfix/smtp[20398]: 748501BC5F: to=, relay=smtp.gmail.com[ 74.125.157.109]:587, delay=24, delays=0.04/0.23/21/2.6, dsn=2.0.0, status=sent (25 0 2.0.0 OK 1285619938 u24sm9645159yba.21) 4. Sep 27 13:38:48 ubuntu postfix/cleanup[20395]: 2FD691BC64: messageid=<20100927203848.2FD691BC64@ubuntu.localdomain>

En este punto ya tenemos nuestro Nagios funcionando correctamente, aunque con 1 solo host: localhost Paso 34. Guardando la configuracin de contactos original.
1. cp p /usr/local/nagios/etc/objects/contacts.cfg /usr/local/nagios/etc/objects/contact s.cfg.original

Paso 35. Cambiando la configuracin de contactos. Para cambiar el destinatario o destinatarios de correo para las notificaciones debemos editar el fichero:
1. /usr/local/nagios/etc/objects/contacts.cfg

El cual contiene la informacin de grupo de contactos. As como sus nombres y direcciones de correo. Vaciamos y editamos el fichero de contactos:
view plaincopy to clipboardprint?

1. echo "" > /usr/local/nagios/etc/objects/contacts.cfg 2. nano -w /usr/local/nagios/etc/objects/contacts.cfg

El contenido del fichero seria:


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

define contact{ contact_name use alias email } define contact{ contact_name use alias email } define contactgroup{ contactgroup_name alias members }

administrador1 generic-contact Nombre Administrador 1 administrador1@gmail.com

administrador2 generic-contact Nombre Administrador 2 administrador2@gmail.com

admins Administradores Nagios administrador1,administrador2

Como se puede observar, hemos creado dos administradores y un solo grupo para los dos. Cada uno de estos contactos con su direccin de correo donde recibirn las notificaciones.

Paso 36. Comprobando configuracin y reiniciando Nagios. Con el siguiente comando podemos comprobar que los cambios realizados en la configuracin son correctos:
1. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

El cual debe darnos una salida terminada en: Total Warnings: 0 Total Errors: 0 Si es correcto reiniciamos Nagios:
1. /etc/init.d/nagios restart

Una manera de probar que la notificacin se enva a las dos direcciones es editando el fichero de configuracin:
1. nano -w /usr/local/nagios/etc/objects/localhost.cfg

Y al final del fichero donde pone:


view plaincopy to clipboardprint?

1. define service{ 2. use localservice ; Name of service template to use 3. host_name localhost 4. service_description HTTP 5. check_command check_http 6. notifications_enabled 0 7. }

Cambiamos el 0 de la propiedad: notifications_enabled por un 1, dejndolo as:


view plaincopy to clipboardprint?

1. define service{ 2. use localservice ; Name of service template to use 3. host_name localhost 4. service_description HTTP 5. check_command check_http 6. notifications_enabled 1 7. }

Reiniciamos nuevamente Nagios y hacemos un stop del servicio http.

1. /etc/init.d/nagios restart 2. /etc/init.d/apache2 stop

Viendo los logs del sistema, podremos ver cuando Nagios haga el check y enve el correo:
1. tail -f /var/log/syslog

Pasados unos minutos y tras pasar las comprobaciones veremos algunas lneas parecidas a estas:
view plaincopy to clipboardprint?

1. Sep 27 14:23:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;1;Conne ction refused 2. Sep 27 14:24:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;2;Conne ction refused 3. Sep 27 14:25:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;3;Conne ction refused 4. Sep 27 14:26:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;HARD;4;Conne ction refused 5. Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador2;localhost;HTTP ;CRITICAL;notify-service-by-email;Connection refused 6. Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 338BE1BC64: uid=1001 from= 7. Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador1;localhost;HTTP ;CRITICAL;notify-service-by-email;Connection refused 8. Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 338BE1BC64: messageid=<20100927212636.338BE1BC64@ubuntu.localdomain> 9. Sep 27 14:26:36 ubuntu postfix/qmgr[20385]: 338BE1BC64: from=, size=597, nrcpt=1 ( queue active) 10. Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 5231E1BC62: uid=1001 from= 11. Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 5231E1BC62: messageid=<20100927212636.5231E1BC62@ubuntu.localdomain> 12. Sep 27 14:26:36 ubuntu postfix/qmgr[20385]: 5231E1BC62: from=, size=597, nrcpt=1 ( queue active) 13. Sep 27 14:26:39 ubuntu postfix/smtp[25475]: 5231E1BC62: to=, relay=smtp.gmail.com[ 74.125.157.109]:587, delay=3.1, delays=0.1/0.02/1.6/1.4, dsn=2.0.0, status=sent (2 50 2.0.0 OK 1285622811 e7sm6311584ybe.4) 14. Sep 27 14:26:39 ubuntu postfix/qmgr[20385]: 5231E1BC62: removed 15. Sep 27 14:26:39 ubuntu postfix/smtp[25474]: 338BE1BC64: to=, relay=smtp.gmail.com[ 74.125.157.109]:587, delay=3.6, delays=0.22/0.05/1.9/1.4, dsn=2.0.0, status=sent ( 250 2.0.0 OK 1285622812 u42sm9674777yba.12) 16. Sep 27 14:26:39 ubuntu postfix/qmgr[20385]: 338BE1BC64: removed

Como podemos observar en el cuarto intento, ha intentado enviar las notificaciones a los contactos que hemos definido anteriormente. Paso 37. Eliminar mensaje HOME usuario Nagios. Cada vez que reiniciamos Nagios vemos este mensaje:
1. 2. 3. 4. Running configuration check...done. Stopping nagios: done. Starting nagios:No directory, logging in with HOME=/ done.

y eso es debido a que no existe el directorio /home/nagios ya que el home directory del usuario Nagios est en:
1. /usr/local/nagios

Para corregir esto, tan simple como editar el fichero:


1. nano -w /etc/passwd

y en la lnea del usuario Nagios en lugar de:


1. /home/nagios

debemos poner:
1. /usr/local/nagios

Bueno, y con esto ya nos hacemos una idea de cmo es y cmo funciona Nagios. Para ms informacin sobre configuracin: documentacin oficial googlear :D ANEXO 1. Creacin de grupos de servidores. Para esta tarea vamos a modificar los ficheros de configuracin de Nagios que vienen por defecto y que estn alojados en el directorio:
1. /usr/local/nagios/etc/objects

As como el fichero de configuracion de Nagios:


1. /usr/local/nagios/etc/nagios.cfg

PASO 1. HACER UNA COPIA DE LOS FICHEROS ACTUALES.


1. cp -p /usr/local/nagios/etc/nagios.cfg /usr/local/nagios/etc/nagios.cfg.original 2. cp p /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/localh ost.cfg.original

PASO 2. CREACIN DEL FICHERO DE CONFIGURACIN PARA LOS GRUPOS:


1. nano -w /usr/local/nagios/etc/objects/grupos.cfg

Con el contenido:
1. 2. 3. 4. 5. define hostgroup{ hostgroup_name servidores-linux alias Servidores Linux members localhost }

PASO 3. MODIFICACIN DEL FICHERO LOCALHOST.CFG PARA QUITAR EL GRUPO.


1. nano -w /usr/local/nagios/etc/objects/localhost.cfg

Debemos quitar la definicin de hostgroup que hemos puesto en el paso 1. Este sera el contenido completo del fichero localhost:
view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.

define host{ use host_name alias address } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command } define service{

linux-server localhost localhost 127.0.0.1

local-service localhost PING check_ping!100.0,20%!500.0,60%

local-service localhost Root Partition check_local_disk!20%!10%!/

local-service localhost Current Users check_local_users!20!50

local-service localhost Total Processes check_local_procs!250!400!RSZDT

local-service localhost Current Load check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

local-service localhost Swap Usage check_local_swap!20!10

51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.

use host_name service_description check_command notifications_enabled } define service{ use host_name service_description check_command notifications_enabled }

local-service localhost SSH check_ssh 1

local-service localhost HTTP check_http 0

Como podrn observar, en la definicin del host en uso he dejado:


1. define host{ 2. use linux-server

ya que este hace referencia al template del host y no al grupo que antes s hemos cambiado su nombre a Servidores Linux (servidores-linux).
PASO 4. AADIR EL NUEVO FICHERO DE CONFIGURACIN DE GRUPOS.

Para aadir este nuevo fichero a la configuracin de Nagios debemos editar el fichero:
1. nano -w /usr/local/nagios/etc/nagios.cfg

Y buscar donde est la configuracin de localhost y ponerlo encima, quedando asi:


view plaincopy to clipboardprint?

1. # Definitions for monitoring the local (Linux) host 2. cfg_file=/usr/local/nagios/etc/objects/grupos.cfg 3. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

Bien, con esto ya tenemos ms separados la definicin de host con sus servicios y los grupos. Hecho esto por higiene, ya que, como veremos en el anexo 2, tenindolo as ms separado, resulta bien sencillo aadir ms hosts. ANEXO 2. Aadir un host a un grupo. Para aadir al host a un grupo, en nuestro caso al grupo creado en el anexo 1, seguiremos los siguientes pasos.
PASO 1. CREACIN DEL FICHERO DE CONFIGURACIN DEL HOST.

Para este paso, lo recomendable es que partiendo del fichero localhost.cfg o de algn otro que sea de nuestro agrado, lo guardemos con un nombre que indique que nos sirve como base. Tal como:

host_base.cfg o cualquier otro nombre de nuestra eleccin. Nosotros utilizaremos el fichero localhost.cfg como base y lo copiaremos con el nombre del nuevo host:
1. cp p /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/midomi nio.com.cfg

En este nuevo host, al ser remoto, slo dejaremos el ping el ssh y el http. Asi pues, editamos el nuevo fichero para el nuevo host:
1. nano -w /usr/local/nagios/etc/objects/midominio.com.cfg

Con el siguiente contenido:


view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.

define host{ use host_name alias address } define service{ use host_name service_description check_command } define service{ use host_name service_description check_command notifications_enabled } define service{ use host_name service_description check_command notifications_enabled }

linux-server midominio.com midominio.com 10.21.112.2

local-service midominio.com PING check_ping!100.0,20%!500.0,60%

local-service midominio.com SSH check_ssh 1

local-service midominio.com HTTP check_http 0

PASO 2. AGREGAR EL NUEVO FICHERO A LA CONFIGURACIN DE NAGIOS.

Editamos el fichero de configuracin de Nagios:


1. nano -w /usr/local/nagios/etc/nagios.cfg

y justo debajo de la linea de localhost:

view plaincopy to clipboardprint?

1. # Definitions for monitoring the local (Linux) host 2. cfg_file=/usr/local/nagios/etc/objects/grupos.cfg 3. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

incluimos el nuevo fichero de nuestro nuevo host:


view plaincopy to clipboardprint?

1. 2. 3. 4.

# Definitions for monitoring the local (Linux) host cfg_file=/usr/local/nagios/etc/objects/grupos.cfg cfg_file=/usr/local/nagios/etc/objects/localhost.cfg cfg_file=/usr/local/nagios/etc/objects/asisco.info.cfg

PASO 3. AADIR EL NUEVO HOST AL GRUPO.

Editamos el fichero de los grupos:


1. nano -w /usr/local/nagios/etc/objects/grupos.cfg

y al lado de localhost separado por el simbolo coma (,), ponemos el nombre de nuestro nuevo host, quedando el fichero como sigue:
1. 2. 3. 4. 5. define hostgroup{ hostgroup_name servidores-linux alias Servidores Linux members localhost,asisco.info }

PASO 4. COMPROBAMOS QUE LA CONFIGURACIN SEA CORRECTA.


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

Al final de la salida debemos ver: Total Warnings: 0 Total Errors: 0 Paso 5. Reiniciamos Nagios.
1. /etc/init.d/nagios restart

Con estos simples pasos, ya debemos ver el nuevo host en la administracin de Nagios en estado pendiente de comprobaciones, las cuales se realizarn pasados unos momentos. ANEXO 3. Comprobacin servicio Tomcat.
PASO 1. AGREGAR EL COMANDO:
1. nano -w /usr/local/nagios/etc/objects/commands.cfg

aadiendo al final del mismo el siguiente bloque:


view plaincopy to clipboardprint?

1. 2. 3. 4.

define command{ command_name check_tomcat command_line $USER1$/check_http -p 8080 -I $HOSTADDRESS$ $ARG1$ }

PASO 2. AADIR EL SERVICIO AL HOST.

Para cualquier host que queramos comprobar si el Tomcat est funcionando bastar con editar el fichero del host en cuestin y aadir al final: (por ejemplo nuestro host midominio.com definido en el fichero midominio.com.cfg)
view plaincopy to clipboardprint?

1. define service{ 2. use localservice ; Name of service template to use 3. host_name midominio.com 4. service_description TOMCAT 5. check_command check_tomcat 6. notifications_enabled 0 7. }

ANEXO 4. Comprobacin servicio MySQL.


PASO 1. INSTALAR LAS LIBRERAS MYSQL CLIENT JUNTO A MYSQL_CONFIG.

Dependiendo de la distribucin, la instalacin ser de un modo u otro, pero para nuestro caso, en una Ubuntu 8.04 (debian), la instalacin sera:
1. apt-get install libmysqlclient15-dev

PASO 2. COMPILACIN DEL PLUGIN.

Repetir el paso Paso 17 del manual de instalacin y configuracin de Nagios.


PASO 3. CREACIN DEL COMANDO CHECK_MYSQL.

Editamos el fichero:
1. nano -w /usr/local/nagios/etc/objects/commands.cfg

y al final del mismo aadimos:


1. 2. 3. 4. define command{ command_name check_mysql command_line $USER1$/check_mysql -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$ }

PASO 4. CREAMOS EL SERVICIO PARA LOS HOSTS QUE QUERAMOS COMPROBAR.

En nuestro caso y siguiendo con el host midominio.com editamos el fichero:


1. nano -w /usr/local/nagios/etc/objects/midominio.com

y al final aadimos:
view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8.

define service{ use local-service host_name midominio.com service_description MYSQL max_check_attempts 1 normal_check_interval 2 check_command check_mysql!3306!monitor!monitorpass }

De este ltimo bloque hay que destacar la ultima lnea:


view plaincopy to clipboardprint?

1. check_command

check_mysql!3306!monitor!monitorpass

ya que en ella se encuentran los datos de conexin al servidor de MySQL del host midominio.com. Tras el nombre del comando: check_mysql encontramos los datos de puerto usuario y password separador por el carcter: !
PASO 5. CREACIN DE ACCESO REMOTO DE MYSQL PARA NAGIOS.

En el host remoto donde tengamos el servidor de MySQL que queramos monitorear, en nuestro midominio.com, debemos acceder a la consola de MySQL como administrador y ejecutar la siguiente orden:
view plaincopy to clipboardprint?

1. CREATE DATABASE monitor; 2. GRANT ALL PRIVILEGES ON monitor.* TO monitor@IP.SERVIDCOR.NAGIOS IDENTIFIED BY 'mo nitorpass' WITH GRANT OPTION; 3. FLUSH PRIVILEGES;

Con esas instrucciones, aseguramos que desde la IP del servidor Nagios podemos acceder a la base de datos monitor.

ANEXO 5. Notificacion por SMS. Si queremos que Nagios nos notifique va SMS de un servicio cado, los pasos a seguir son sencillos.
PASO 1. CREACIN COMANDO, PARA LO CUAL AADIREMOS Y EDITAREMOS EL FICHERO:
1. nano -w /usr/local/nagios/etc/objects/commands.cfg

y aadiremos al final:
view plaincopy to clipboardprint?

1. define command{ 2. command_name service-notify-by-sms 3. command_line /usr/bin/wget --no-checkcertificate "https://www.12voip.com/myaccount/sendsms.php?username=xxxxx&password= xxxxx&from=xxxxx&to=xxxxxxx&text='GEREMIASv340 hawk ... Service Notification - Host: $HOSTNAME$, State: $HOSTSTATE$ Service $SERVICEDESC$ Description: $SERVICE STATE$ Time: $LONGDATETIME" 4. }

Donde los parametros de la URL debern ser cambiados por los de tu cuenta SIP 12voip.com. from: nombre usuario to: numero del telefono deber ser formato internacional, por ejemplo: +57300123123
PASO 2. MODIFICAR EL TEMPLATE DE CONTACTOS.

Editamos el fichero:
1. nano -w /usr/local/nagios/etc/objects/templates.cfg

y lo dejamos como sigue: # Generic contact definition template This is NOT a real contact, just a template!
view plaincopy to clipboardprint?

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

define contact{ name service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands register }

generic-contact 24x7 24x7 w,u,c,r,f,s d,u,r,f,s notify-service-by-email,service-notify-by-sms notify-host-by-email 0

PASO 3. REINICIAMOS NAGIOS.


1. /etc/init.d/nagios restart

Artculo Original: http://www.elmurodelsaber.com/ A partir de este momento las notificaciones sern enviadas mediante SMS.

http://www.becodemyfriend.com/2011/04/manual-de-instalacion-y-configuracion-de-nagios-3monitoring-parte-ii/

Nagios est licenciado bajo la GNU General Public License Version 2 publicada por la Free Software Fundation.

Instalacion de Nagios en Ubuntu Server 12.04


Bien despues de una breve explicacion vamos a instalarlo:

Instalamos Apache, PHP y librerias; apt-get install apache2 libapache2-mod-php5 build-essential php5 libgd-graph-perl postfix libgd2xpm-dev mailutils unzip

Creamos los usuarios y grupos;

/usr/sbin/useradd -m -s /bin/bash nagios passwd nagios /usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd www-data

Descargamos el software de Nagiosmkdir ~/downloads

mkdir ~/downloads cd ~/downloads wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

Otras fuentes de descarga:

-nagios-3.2.3.tar.gz -nagios-plugins-1.4.11.tar.gz

Compilamos e instalamos el software tar xzf nagios-3.2.3.tar.gz cd nagios-3.2.3 ./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode make install-webconf

Editamos el fichero de contactos modificando el email definido actualmente por el nuestro; vim /usr/local/nagios/etc/objects/contacts.cfg define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email nagios@osties.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }

Seguimos con la instalacin;

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin /etc/init.d/apache2 reload cd ~/downloads tar xzf nagios-plugins-1.4.11.tar.gz cd nagios-plugins-1.4.11 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install

Lo configuramos para iniciarse con el sistema; ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

El siguiente comando se utuliza para ver si el nagios (binario) funciona correctamente con el nagios.cfg (similar al apache2ctl -t en Apache) Asi veremos si funcionan nuestras modificaciiones : /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios start

Ya podemos acceder a nuestro servidor http://pre.osties.com/nagios/ User:nagiosadmin Una virtud de Nagios no es su entorno grafico. Por eso vamos a modificarle el frontend. cd ~/downloads wget www.be-root.com/downloads/nagios/vautour/vautour_style.zip mkdir vautour unzip vautour_style.zip -d vautour cp -Rfa /usr/local/nagios/share /usr/local/nagios/share_OLD cp -Rfa vautour/* /usr/local/nagios/share/.

Otras fuentes de descarga:

vautour_style.zip

Ahora ya tenemos un Nagios mas "visible".

2) Post-Configuracin
Configuracin del postfix para el envi del correo, est opcin es util siempre y cuando tengas una cuenta de correo en tu empresa en mi caso por ejemplo tenia una asignacin de ips estaticas por los que poda enviar correo masivo sin ser baneado, en caso de tener una ip dnamica te recomendara usar la opcin de enviar por un correo electronico existente, de alguna empresa conocida como gmail,hotmail.(ver ejemplo )

a) Si cuentas con una cuenta de correo o un servidor dns publico que direccione tu cuenta: root@localhost# cat >> /etc/postfix/main.cf << "EOF" inet_interfaces = all mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost mydomain = acti.ich.edu.pe myhostname = mail.acti.ich.edu.pe myorigin = $mydomain mynetworks = 127.0.0.0/8 mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination EOF

b) Si tienes una cuenta de correo en gmail.com seria mejor utilizar el siguiente procedimiento: root@localhost# cp -rfv /etc/postfix/main.cf /etc/postfix/main.cf.bk root@localhost# cat >> /etc/postfix/main.cf << "EOF" relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd smtp_sasl_security_options = noanonymous EOF root@localhost# cat >> /etc/postfix/sasl/passwd << "EOF" smtp.gmail.com]:587 tu_cuenta@gmail.com:J912sdp12123 EOF root@localhost# chmod 600 /etc/postfix/sasl/passwd root@localhost# postmap /etc/postfix/sasl/passwd root@localhost# cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem root@localhost# /etc/init.d/postfix restart root@localhost# echo "Envio de correo prueba" | mail -s "[Datacenter] S.O.S" admin@gmail.com root@localhost# tail -f /var/log/mail.log

3) Configuracin de los archivos: root@localhost# cat >> /usr/local/nagios/etc/nagios.cfg << "EOF" log_file=/usr/local/nagios/var/nagios.log cfg_file=/usr/local/nagios/etc/objects/commands.cfg cfg_file=/usr/local/nagios/etc/objects/contacts.cfg cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg cfg_dir=/usr/local/nagios/etc/servers EOF

Potrebbero piacerti anche