Manual de instalación y configuración de Nagios 3 – Monitoring Parte II

Este manual describe la instalación y configuración de Nagios 3 en un sistema Linux (Ubuntu 8.04) recién instalado.

El cómo instalar el sistema operativo, así como el funcionamiento del mismo no están en el alcance de este documento, asumiendo que el usuario tiene unos minimos conocimientos en entornos Linux.

Si la instalación se realiza en otra distribución que no sea Ubuntu, los cambios deben ser mínimos. Ya que la instalación de Nagios en sí se realizará desde el código fuente para dar mayor amplitud a los sistemas en los que pueda aplicarse este documento.

Paso 1. Entramos en modo root (su).

sudo su -mp

Paso 2. Actualización del sistema base.

apt-get update

Paso 3. Instalamos Apache 2 y PHP version 5.

apt-get install apache2 php5

Paso 4. Creamos fichero info.php para comprobar instalación.

cd /var/www

echo ""  > info.php

Paso 5. Reiniciamos servicio Apache.

/etc/init.d/apache2 restart

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

http://ip.servidor/info.php

Paso 7. Instalamos el paquete de compilación necesario.

apt-get install build-essential

Paso 8. Instalación de las librerías necesarias para jpeg, png y gd2.

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

Paso 9. Instalación de la libreria GD.

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.

apt-get install php5-gd

Paso 11. Reiniciamos Apache y comprobamos mediante la URL de info.php que estén las GD.

/etc/init.d/apache2 restart

(navegador http://ip.servidor/info.php)

Paso 12. Creación del usuario Nagios y asignación de password.

useradd nagios
passwd nagios

Paso 13. Creación de los grupos de Nagios.

groupadd nagios
groupadd nagcmd

Paso 14. Asignación de los usuarios a sus respectivos grupos.

usermod -G nagios nagios
usermod -G nagcmd nagios
usermod -G nagcmd www-data

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

cd /tmp
wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.2/nagios-3.2.2.tar.gz/download
wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download

Paso 16. Instalamos Nagios.

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.

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 módulo SNMP de perl.

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

(… a cualquier pregunta respondemos yes)

Paso 19. Creamos usuario http para el acceso a Nagios.

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

Paso 20. Reiniciamos el Apache para que actualize este último cambio.

/etc/init.d/apache2 restart

Paso 21. Iniciamos el servicio de Nagios.

/etc/init.d/nagios start

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

http://ip.servidor/nagios/

Con los datos:

usuario..: nagiosadmin
password: (el que pusiéramos en el punto 19)

Paso 22. Creamos enlace para que arranque en inicio.

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

Paso 23. Instalamos mail. Que es el comando que Nagios usará para el envío de mail.

apt-get install mailutils

Paso 24. Creamos enlace para el comando mail.

ln -s /usr/bin/mail /bin/mail

Paso 25. Instalamos postfix como medio de transporte para el envío de correo.

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 máquina 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.

cp -p /etc/postfix/main.cf /etc/postfix/main.cf.original

Paso 27. Creamos nuestra configuración para Gmail.

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

El contenido del fichero sería:

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 autenticación.

nano -w /etc/postfix/sasl/passwd

El contenido del fichero sería:

[smtp.gmail.com]:587 usuario@gmail.com:I34Ph5PU

Reemplazando la cuenta de correo y contraseña por una cuenta valida de Gmail.

Paso 29. Asigamos permisos adecuados.

chmod 600 /etc/postfix/sasl/passwd

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

postmap /etc/postfix/sasl/passwd

Paso 31. Añadimos la autoridad certificadora.

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

Paso 32. Reiniciamos postfix.

/etc/init.d/postfix restart

Paso 33. Probar el envío de correo.

Para probar si esta todo correcto, podemos hacelo enviando un mail con la siguiente orden:

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

CTRL+D ( para enviarlo )

En el fichero:

/var/log/mail.log

debemos ver los logs del envío a la dirección de correo indicada (usuario@gmail.com).

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)
Sep 27 13:38:47 ubuntu postfix/qmgr[20385]: 193D11BC65: removed
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)
Sep 27 13:38:48 ubuntu postfix/cleanup[20395]: 2FD691BC64: message-id=<20100927203848.2FD691BC64@ubuntu.localdomain>

En este punto ya tenemos nuestro Nagios funcionando correctamente, aunque con 1 solo host: localhost

Paso 34. Guardando la configuración de contactos original.

cp -p /usr/local/nagios/etc/objects/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg.original

Paso 35. Cambiando la configuración de contactos.

Para cambiar el destinatario o destinatarios de correo para las notificaciones debemos editar el fichero:

/usr/local/nagios/etc/objects/contacts.cfg

El cual contiene la información de grupo de contactos. Así como sus nombres y direcciones de correo.

Vaciamos y editamos el fichero de contactos:

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

El contenido del fichero seria:

define contact{
contact_name                    administrador1
use                             generic-contact
alias                           Nombre Administrador 1
email                           administrador1@gmail.com
}

define contact{
contact_name                    administrador2
use                             generic-contact
alias                           Nombre Administrador 2
email                           administrador2@gmail.com
}

define contactgroup{
contactgroup_name       admins
alias                   Administradores Nagios
members                 administrador1,administrador2
}

Como se puede observar, hemos creado dos administradores y un solo grupo para los dos. Cada uno de estos contactos con su dirección de correo donde recibirán las notificaciones.

Paso 36. Comprobando configuración y reiniciando Nagios.

Con el siguiente comando podemos comprobar que los cambios realizados en la configuración son correctos:

/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:

/etc/init.d/nagios restart

Una manera de probar que la notificación se envía a las dos direcciones es editando el fichero de configuración:

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

Y al final del fichero donde pone:

define service{
use                             local-service         ; Name of service template to use
host_name                       localhost
service_description             HTTP
check_command                   check_http
notifications_enabled           0
}

Cambiamos el 0 de la propiedad:

notifications_enabled

por un 1, dejándolo así:

define service{
use                             local-service         ; Name of service template to use
host_name                       localhost
service_description             HTTP
check_command                   check_http
notifications_enabled           1
}

Reiniciamos nuevamente Nagios y hacemos un stop del servicio http.

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

Viendo los logs del sistema, podremos ver cuando Nagios haga el check y envíe el correo:

tail -f /var/log/syslog

Pasados unos minutos y tras pasar las comprobaciones veremos algunas líneas parecidas a estas:

Sep 27 14:23:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;1;Connection refused
Sep 27 14:24:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;2;Connection refused
Sep 27 14:25:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;3;Connection refused
Sep 27 14:26:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;HARD;4;Connection refused
Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador2;localhost;HTTP;CRITICAL;notify-service-by-email;Connection refused
Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 338BE1BC64: uid=1001 from=
Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador1;localhost;HTTP;CRITICAL;notify-service-by-email;Connection refused
Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 338BE1BC64: message-id=<20100927212636.338BE1BC64@ubuntu.localdomain>
Sep 27 14:26:36 ubuntu postfix/qmgr[20385]: 338BE1BC64: from=, size=597, nrcpt=1 (queue active)
Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 5231E1BC62: uid=1001 from=
Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 5231E1BC62: message-id=<20100927212636.5231E1BC62@ubuntu.localdomain>
Sep 27 14:26:36 ubuntu postfix/qmgr[20385]: 5231E1BC62: from=, size=597, nrcpt=1 (queue active)
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)
Sep 27 14:26:39 ubuntu postfix/qmgr[20385]: 5231E1BC62: removed
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)
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:

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:

/usr/local/nagios

Para corregir esto, tan simple como editar el fichero:

nano -w /etc/passwd

y en la línea del usuario Nagios en lugar de:

/home/nagios

debemos poner:

/usr/local/nagios

Bueno, y con esto ya nos hacemos una idea de cómo es y cómo funciona Nagios.

Para más información sobre configuración: documentación oficial – googlear :D

ANEXO 1. Creación de grupos de servidores.

Para esta tarea vamos a modificar los ficheros de configuración de Nagios que vienen por defecto y que están alojados en el directorio:

/usr/local/nagios/etc/objects

Así como el fichero de configuracion de Nagios:

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

Paso 1. Hacer una copia de los ficheros actuales.

cp -p /usr/local/nagios/etc/nagios.cfg /usr/local/nagios/etc/nagios.cfg.original
cp -p /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg.original

Paso 2. Creación del fichero de configuración para los grupos:

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

Con el contenido:

define hostgroup{
hostgroup_name  servidores-linux
alias           Servidores Linux
members         localhost
}

Paso 3. Modificación del fichero localhost.cfg para quitar el grupo.

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

Debemos quitar la definición de hostgroup que hemos puesto en el paso 1.

Este sería el contenido completo del fichero localhost:

define host{
use                     linux-server
host_name               localhost
alias                   localhost
address                 127.0.0.1
}

define service{
use                             local-service
host_name                       localhost
service_description             PING
check_command            check_ping!100.0,20%!500.0,60%
}

define service{
use                             local-service
host_name                       localhost
service_description             Root Partition
check_command            check_local_disk!20%!10%!/
}

define service{
use                             local-service
host_name                       localhost
service_description             Current Users
check_command            check_local_users!20!50
}

define service{
use                             local-service
host_name                       localhost
service_description             Total Processes
check_command            check_local_procs!250!400!RSZDT
}

define service{
use                             local-service
host_name                       localhost
service_description             Current Load
check_command            check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}

define service{
use                             local-service
host_name                       localhost
service_description             Swap Usage
check_command            check_local_swap!20!10
}

define service{
use                             local-service
host_name                       localhost
service_description             SSH
check_command            check_ssh
notifications_enabled        1
}

define service{
use                             local-service
host_name                       localhost
service_description             HTTP
check_command            check_http
notifications_enabled        0
}

Como podrán observar, en la definición del host en uso he dejado:

define host{
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. Añadir el nuevo fichero de configuración de grupos.

Para añadir este nuevo fichero a la configuración de Nagios debemos editar el fichero:

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

Y buscar donde está la configuración de localhost y ponerlo encima, quedando asi:

# 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

Bien, con esto ya tenemos más separados la definición de host con sus servicios y los grupos. Hecho esto por higiene, ya que, como veremos en el anexo 2, teniéndolo así más separado, resulta bien sencillo añadir más hosts.

ANEXO 2. Añadir un host a un grupo.

Para añadir al host a un grupo, en nuestro caso al grupo creado en el anexo 1, seguiremos los siguientes pasos.

Paso 1. Creación del fichero de configuración del host.

Para este paso, lo recomendable es que partiendo del fichero localhost.cfg o de algún 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 elección. Nosotros utilizaremos el fichero localhost.cfg como base y lo copiaremos con el nombre del nuevo host:

cp -p /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/midominio.com.cfg

En este nuevo host, al ser remoto, sólo dejaremos el ping el ssh y el http. Asi pues, editamos el nuevo fichero para el nuevo host:

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

Con el siguiente contenido:

define host{
use                     linux-server
host_name               midominio.com
alias                   midominio.com
address                 10.21.112.2
}

define service{
use                             local-service
host_name                       midominio.com
service_description             PING
check_command            check_ping!100.0,20%!500.0,60%
}

define service{
use                             local-service
host_name                       midominio.com
service_description             SSH
check_command            check_ssh
notifications_enabled        1
}

define service{
use                             local-service
host_name                       midominio.com
service_description             HTTP
check_command            check_http
notifications_enabled        0
}

Paso 2. Agregar el nuevo fichero a la configuración de Nagios.

Editamos el fichero de configuración de Nagios:

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

y justo debajo de la linea de localhost:

# 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

incluimos el nuevo fichero de nuestro nuevo host:

# 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. Añadir el nuevo host al grupo.

Editamos el fichero de los grupos:

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:

define hostgroup{
hostgroup_name  servidores-linux
alias           Servidores Linux
members         localhost,asisco.info
}

Paso 4. Comprobamos que la configuración sea correcta.

/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.

/etc/init.d/nagios restart

Con estos simples pasos, ya debemos ver el nuevo host en la administración de Nagios en estado pendiente de comprobaciones, las cuales se realizarán pasados unos momentos.

ANEXO 3. Comprobación servicio Tomcat.

Paso 1. Agregar el comando:

nano -w /usr/local/nagios/etc/objects/commands.cfg

añadiendo al final del mismo el siguiente bloque:

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

Paso 2. Añadir el servicio al host.

Para cualquier host que queramos comprobar si el Tomcat está funcionando bastará con editar el fichero del host en cuestión y añadir al final:

(por ejemplo nuestro host midominio.com definido en el fichero midominio.com.cfg)

define service{
use                             local-service         ; Name of service template to use
host_name                       midominio.com
service_description             TOMCAT
check_command            check_tomcat
notifications_enabled        0
}

ANEXO 4. Comprobación servicio MySQL.

Paso 1. Instalar las librerías mysql client junto a mysql_config.

Dependiendo de la distribución, la instalación será de un modo u otro, pero para nuestro caso, en una Ubuntu 8.04 (debian), la instalación sería:

apt-get install libmysqlclient15-dev

Paso 2. Compilación del plugin.

Repetir el paso Paso 17 del manual de instalación y configuración de Nagios.

Paso 3. Creación del comando check_mysql.

Editamos el fichero:

nano -w /usr/local/nagios/etc/objects/commands.cfg

y al final del mismo añadimos:

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:

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

y al final añadimos:

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 línea:

check_command             check_mysql!3306!monitor!monitorpass

ya que en ella se encuentran los datos de conexión 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 carácter:

!

Paso 5. Creación 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:

CREATE DATABASE monitor;
GRANT ALL PRIVILEGES ON monitor.* TO monitor@IP.SERVIDCOR.NAGIOS IDENTIFIED BY 'monitorpass' WITH GRANT OPTION;
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 vía SMS de un servicio caído, los pasos a seguir son sencillos.

Paso 1. Creación comando, para lo cual añadiremos y editaremos el fichero:

nano -w /usr/local/nagios/etc/objects/commands.cfg

y añadiremos al final:

define command{
command_name    service-notify-by-sms
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"
}

Donde los parametros de la URL deberán 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:

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!

define contact{
name                            generic-contact
service_notification_period     24x7
host_notification_period        24x7
service_notification_options    w,u,c,r,f,s
host_notification_options       d,u,r,f,s
service_notification_commands   notify-service-by-email,service-notify-by-sms
host_notification_commands      notify-host-by-email
register                        0
}

Paso 3. Reiniciamos Nagios.

/etc/init.d/nagios restart

Artículo Original: http://www.elmurodelsaber.com/
A partir de este momento las notificación serán enviadas mediante SMS.

24 comments

  1. Andrea

    Hola,
    yo tengo dos usuarios, uno administrador y otro de monitoreo, las restriciones cambian ya que no puede uno sino solo monitorear y no puede entrar a todos los equipos.
    quisiera saber como puedo cambiar las contraseñas de estos, ya que cuando las cambio tengo qeu dejar el mismo usuario y contraseña para lso dos pero en diferente dirección.
    muchas gracias

  2. markitos

    Hola Andrea,

    Cambiar la clave de acceso de un usuario nagios se realiza a traves del comando:

    htpasswd

    En el caso de este manual por ejemplo para cambiar la clave de acceso del usuario que se usa como ejemplo seria:

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

    Sin el flag -c ya que te crearia nuevamente el usuario….

    root@virt348:~# htpasswd
    Usage:
            htpasswd [-cmdpsD] passwordfile username
            htpasswd -b[cmdpsD] passwordfile username password
    
            htpasswd -n[mdps] username
            htpasswd -nb[mdps] username password
     -c  Create a new file.
     -n  Don't update file; display results on stdout.
     -m  Force MD5 encryption of the password.
     -d  Force CRYPT encryption of the password (default).
     -p  Do not encrypt the password (plaintext).
     -s  Force SHA encryption of the password.
     -b  Use the password from the command line rather than prompting for it.
     -D  Delete the specified user.
    On Windows, NetWare and TPF systems the '-m' flag is used by default.
    On all other systems, the '-p' flag will probably not work.
  3. Luis

    Que tal… recien estoy en esto de nagios y me parecio interesante tu aporte, pero tengo probleamas con el envio de las notificaciones por email, tengo centos 5.5, se que viene por defecto instalado sendmail, pero que mas se necesita para que haga las notificaciones? he leido bastente y este el punto mas complicado de hacer y la informacion que existe es bastante confusa…la PC que tiene instalado nagios debe ser un server de correo? donde configuro esas cosas? si existe otro server de correo un mi empresa donde digo que apunte hacia el correo?, por el momento lo hice en una maquina virtual que tiene internet y otra maquina virtual tiene instalado Zimbra, hay comunicacion entre ellos, hasta le cree un correo, pero esto me tiene muy colgado. no lo hecho asi como explicas, pero tengo hecho una topologia bastante grande con maquinas virtuales y GNS3 (Routers), todo virtualizado, supongo que para que haga las notificaciones a gmail, es lo mismo, gracias y tu explicacion esta excelente.

    • markitos

      Hola Luis, veras para la notificacion de correo si es necesario tener un servicio de envio de correo en el servidor, bien sea sendmail o postfix o cualquier otro, para este tutuorial como veras en los primeros pasos yo utilizo postfix, mas que nada porque con el lo que hago es configurarlo para utilizar una cuenta de gmail… mira los primeros pasos de este manual y veras como se configura el postfix para el envio de notificaciones de correo. Para otras configuraciones sobre otros sistemas de correo la verdad lo desconozco como seria :(

  4. gusano

    Hola que tal muchas gracias por el tutorial esta muy bueno me ha servido mucho para un proyecto de la escuela… en estos momentos estoy batallando para monitorear el SNR de un AP Cisco, si alguien tubiera por hay un poco de info se lo agradeceria…
    Gracias

  5. Oriel

    Buenas quisiera que alguien me instrullera en como hacer para que nagios pueda monitorear por mi modem de proovedor de servicio de internet, lo que realmente quisiera saber es cuales son los comandos necesarios para poder crear un cliente nuevo para monitoreo.

    • markitos

      no entendi bien la pregunta, si te refieres con cliente a monitorear un servicio nuevo es crear basicamente un .sh diferente, nagios te ofrece variables que puedes usar y pasar a dichos scripts, te recomiendo que veas algunos ejemplos sobre mysql tomcat etc. por otro lado desde tu modem no tiene nada que ver tan solo que tengas un linux con su nagios montado y conexion a internet no necesitas mas para la conectividad…

  6. J.B

    Hol@,

    Tengo configurado el sistema de correos como indicas por gmail recibo notificaciones del servidor pero cuando se cae un servidor o un servicio no llega esa notificacion.

    • markitos

      Debes mirar los logs del mail a ver que dice, por si algun dato no esta correctamente…. en /var/log/mail.info /var/log/mail.log puedes ver que ocurre tumba tu el servicio y mira a ver que dice…

  7. J.B

    Hola buenos días,

    Lo que es mail.log no tengo, tengo maillog y lo que me parece es:

    Jul 5 04:02:10 nagios postfix/pickup[26056]: 1DB6316DDD9: uid=0 from=
    Jul 5 04:02:10 srvftp postfix/cleanup[3181]: 1DB6316DDD9: message-id=
    Jul 5 04:02:10 nagios postfix/qmgr[25255]: 1DB6316DDD9: from=, size=2876, nrcpt=1 (queue active)
    Jul 5 04:02:10 nagios postfix/local[3195]: warning: dict_nis_init: NIS domain name not set – NIS lookups disabled
    Jul 5 04:02:10 nagios postfix/cleanup[3181]: 70F7416DDD8: message-id=
    Jul 5 04:02:10 nagios postfix/qmgr[25255]: 70F7416DDD8: from=, size=3009, nrcpt=1 (queue active)
    Jul 5 04:02:10 nagios postfix/local[3195]: 1DB6316DDD9: to=, orig_to=, relay=local, delay=3.8, delay$
    Jul 5 04:02:10 nagios postfix/qmgr[25255]: 1DB6316DDD9: removed
    Jul 5 04:02:14 nagios postfix/smtp[3196]: 70F7416DDD8: to=, orig_to=, relay=smtp.gmail.com[209.85.$
    Jul 5 04:02:14 nagios postfix/qmgr[25255]: 70F7416DDD8: removed

    Y /var/log/mail.info no lo tengo

    Un saludo y gracias

    • markitos

      puedes mirar en /etc/syslog.conf a ver si tienes una linea de este tipo:

      nano -w /var/log/mail.log

      siempre y cuando tu sistema use syslog claro…

  8. Mario

    Hola…
    tengo un problema al ingresar a /var/log/mail.log cada vez que introduzco el comando me aparece Permiso denegado:

    root@ubuntu:~/nagios-plugins-1.4.15# /var/log/mail.log
    bash: /var/log/mail.log: Permiso denegado

    *Si envia correos pero no me deja ingresar a los logs. En otra ocasion me aparecio un mensaje como el siguiente:
    Tiene correo nuevo en var/mail/root
    Sabes cual es el problema?

    Gracias…

    • markitos

      veras mario tu problema es que estas intentando ejecutar un fichero que no es ningun binario sino un fichero de log…. que es lo que quieres hacer exactamente ver ese log ??

      tail -f /var/log/mail.log

      editarlo ???

      nano -w /var/log/mail.log

      cualquier cosa mejor ejecuitarlo

  9. steven

    buenas esto del nagio soy my nuevo. Tengo un problema estoy usando la 3.4.3 y la instale en mi compu para monitorear 4 servidores de distinta clase para ver el ancho de banda de consumen el asunto esq me voy nabegador web inreso y no veo nada es como si no estuviera monitoreando nda ya he editado la configuracion y no se qe mas hacer porqfa ayuda

  10. Marcelo Fusse

    Estimado gracias por wl howto tengo un problema cuando quiero monitoriar algo via snmp me tirar “(Return code of 127 is out of bounds – plugin may be missing) ” el servicio snmp anda perfecto en el destino, que puede ser

    • mArKitos

      Estimado marcelo ese error suele ser debido a que el plugin que estas usando en ese check en el comando en la línea “check_command” no existe en el directorio de los plugin de nagios, para solucionarlo tienes que comprobar la definición de este comando en el fichero /urs/local/nagios/etc/commands.cfg y comprobar que el fichero indicado en “command_line”. El fichero del plugin debe estar en la carpeta: /usr/local/nagios/libexec, con los permisos apropiados para ejecución (por ejemplo 775) por parte del usuario “nagios” y el grupo de seguridad “nagios”, tambien depende de como lo hayas instalado y configurado pero ese error el 99% de las veces es por eso.

      Espero te haya sido de ayuda, recomendandote para mas dudas sobre muchos otros temas:

      http://www.elmurodelsaber.com

  11. john

    Saludos amigos, estoy intentando monitorear un disco (/dev/sda1)en un servidor externo. Encontre una documentacion donde dice que pruebe el comando check_ssh, sin embargo me muestra error de ejecucion. Por favor, podria ayudarme? Que debo hacer? Gracias

    • markitos

      veras para que puedas ponerlo por SSL es mas bien configuracion de tu apache, en lugar de crear el virtualhost asociado al puerto 80 debes hacerlo al 443 que es el que usa apache (a menos que tu quieras otro).

      El como hacerlo no es complicado pero demasiado extenso como para hacerlo a travez de un reply aqui porque tienes que generar un certificado etc etc no es complicado en serio te recomiendo cualquier manual basico de como configurar el https en apache y veras que es sencillo.

      Suerte y cualquier cosa aqui estamos para ayudarte !!

  12. Enrique

    El nagios lo tengo instalado en Centos 6.4 y la version del nagios es la 3.4.1 un compañero que ya no labora mas con nosotros implemento esta solucion para monitorear los equipos que tenemos en la empresa (ya sean router, AP, switcher y PC’s) y yo necesito actualizar los datos ya que cambiamos la configuración IP y el Nagios ya no esta monitoreando los equipos por obvias razones quisiera saber cuales son los pasos a seguir. te agradesco de antemano

  13. Nicolas

    Buenas, realice la instalacion paso por paso en ubuntu 13.10, con nagios 4
    al momentos de poner sudo /etc/init.d/nagios start
    me sale lo siguiente
    /etc/init.d/nagios: 20: .: Cant open /etc/rc.d/init.d/functions.

    luego edite /etc/init.d/nagios, borre la linea ./etc/rc.d/init.d/function y continua sin funcionar.

    Gracias por su ayuda !!!

  14. Elizabetth

    Saludos amigos necesito de su buena ayuda, estoy en el ultimo paso de la configuración de Nagios Core 4 y me gustaría saber si funciona el envió de sms con el servicio de 12 VoIP… para contratar ese servicio de inmediato..
    Gracias por su amable atencion y en espera de su pronta respuesta.

Post a comment

*

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>