manual de instalaciÓn y configuraciÓn de nagios 3

Upload: flor-martinez

Post on 30-Oct-2015

249 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 "" > 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. cd /tmp 2. wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz 3. tar -xzvf gd-2.0.35.tar.gz 4. cd gd-2.0.35 5. ./configure 6. make 7. 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/nagios-

    3.2.2.tar.gz/download

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

    Paso 16. Instalamos Nagios.

    view plaincopy to clipboardprint?

    1. tar xvfz nagios-3.2.2.tar.gz 2. cd nagios-3.2.2/ 3. ./configure --with-command-group=nagcmd 4. make all 5. make install 6. make install-init 7. make install-config 8. make install-commandmode 9. make install-webconf

    Paso 17. Instalamos los plugins de Nagios.

    view plaincopy to clipboardprint?

    1. cd /tmp 2. tar xvfz nagios-plugins-1.4.15.tar.gz 3. cd nagios-plugins-1.4.15/ 4. ./configure --with-nagios-user=nagios --with-nagios-group=nagios 5. make 6. 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. relayhost = [smtp.gmail.com]:587 2. smtp_use_tls = yes 3. smtp_tls_CAfile = /etc/postfix/cacert.pem 4. smtp_sasl_auth_enable = yes 5. smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd 6. 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 [email protected]: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" [email protected]

    CTRL+D ( para enviarlo )

    En el fichero:

    1. /var/log/mail.log

    debemos ver los logs del envo a la direccin de correo indicada

    ([email protected]).

    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 (250 2.0.0 OK 1285619938 u24sm9645159yba.21)

    4. Sep 27 13:38:48 ubuntu postfix/cleanup[20395]: 2FD691BC64: message-id=

  • 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/contacts.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. define contact{ 2. contact_name administrador1 3. use generic-contact 4. alias Nombre Administrador 1 5. email [email protected] 6. } 7. 8. define contact{ 9. contact_name administrador2 10. use generic-contact 11. alias Nombre Administrador 2 12. email [email protected] 13. } 14. 15. define contactgroup{ 16. contactgroup_name admins 17. alias Administradores Nagios 18. members administrador1,administrador2 19. }

    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 local-

    service ; 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 local-

    service ; 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;Connection refused

    2. Sep 27 14:24:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;2;Connection refused

    3. Sep 27 14:25:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;3;Connection refused

    4. Sep 27 14:26:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;HARD;4;Connection 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: message-

    id= 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: message-

    id= 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 (250 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. Running configuration check...done. 2. Stopping nagios: done. 3. Starting nagios:No directory, logging in with HOME=/ 4. 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/localhost.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. define hostgroup{ 2. hostgroup_name servidores-linux 3. alias Servidores Linux 4. members localhost 5. }

  • 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. define host{ 2. use linux-server 3. host_name localhost 4. alias localhost 5. address 127.0.0.1 6. } 7. 8. define service{ 9. use local-service 10. host_name localhost 11. service_description PING 12. check_command check_ping!100.0,20%!500.0,60% 13. } 14. 15. define service{ 16. use local-service 17. host_name localhost 18. service_description Root Partition 19. check_command check_local_disk!20%!10%!/ 20. } 21. 22. define service{ 23. use local-service 24. host_name localhost 25. service_description Current Users 26. check_command check_local_users!20!50 27. } 28. 29. define service{ 30. use local-service 31. host_name localhost 32. service_description Total Processes 33. check_command check_local_procs!250!400!RSZDT 34. } 35. 36. define service{ 37. use local-service 38. host_name localhost 39. service_description Current Load 40. check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0 41. } 42. 43. define service{ 44. use local-service 45. host_name localhost 46. service_description Swap Usage 47. check_command check_local_swap!20!10 48. } 49. 50. define service{

  • 51. use local-service 52. host_name localhost 53. service_description SSH 54. check_command check_ssh 55. notifications_enabled 1 56. } 57. 58. define service{ 59. use local-service 60. host_name localhost 61. service_description HTTP 62. check_command check_http 63. notifications_enabled 0 64. }

    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/midominio.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. define host{ 2. use linux-server 3. host_name midominio.com 4. alias midominio.com 5. address 10.21.112.2 6. } 7. 8. define service{ 9. use local-service 10. host_name midominio.com 11. service_description PING 12. check_command check_ping!100.0,20%!500.0,60% 13. } 14. 15. define service{ 16. use local-service 17. host_name midominio.com 18. service_description SSH 19. check_command check_ssh 20. notifications_enabled 1 21. } 22. 23. define service{ 24. use local-service 25. host_name midominio.com 26. service_description HTTP 27. check_command check_http 28. notifications_enabled 0 29. }

    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. # 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 4. 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. define hostgroup{ 2. hostgroup_name servidores-linux 3. alias Servidores Linux 4. members localhost,asisco.info 5. }

    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. define command{ 2. command_name check_tomcat 3. command_line $USER1$/check_http -p 8080 -I $HOSTADDRESS$ $ARG1$ 4. }

    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 local-

    service ; 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. define command{ 2. command_name check_mysql 3. command_line $USER1$/check_mysql -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$ 4. }

  • 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. define service{ 2. use local-service 3. host_name midominio.com 4. service_description MYSQL 5. max_check_attempts 1 6. normal_check_interval 2 7. check_command check_mysql!3306!monitor!monitorpass 8. }

    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 [email protected] 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-check-

    certificate "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: $SERVICESTATE$ 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. define contact{ 2. name generic-contact 3. service_notification_period 24x7 4. host_notification_period 24x7 5. service_notification_options w,u,c,r,f,s 6. host_notification_options d,u,r,f,s 7. service_notification_commands notify-service-by-email,service-notify-by-sms 8. host_notification_commands notify-host-by-email 9. register 0 10. }

  • 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-3-

    monitoring-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 libgd2-

    xpm-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 [email protected] ;

  • 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

  • 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 > /etc/postfix/sasl/passwd > /etc/postfix/cacert.pem

    root@localhost# /etc/init.d/postfix restart

    root@localhost# echo "Envio de correo prueba" | mail -s "[Datacenter] S.O.S" [email protected]

    root@localhost# tail -f /var/log/mail.log

    3) Configuracin de los archivos:

    root@localhost# cat >> /usr/local/nagios/etc/nagios.cfg