Upload
flor-martinez
View
249
Download
0
Embed Size (px)
Citation preview
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
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