Monitorización basica de Windows en Nagios

Anteriormente ya hemos hablado de Nagios. Podéis ver el manual de la instalación AQUI

Pues ahora vamos a monitorizar una maquina Microsoft Windows, Para su monitorización vamos a utilizar el protocolo SNMP (Si no lo sabéis instalar en Windows AQUI tenemos un manual) y los chequeos van a ser de Memoria, CPU, Disco y PING.

Una vez ya tenemos instalado y configurado NAGIOS Y SNMP vamos a empezar a monitorizar.

Definir los comandos: 

para definir tenemos que añadir los siguientes comandos al fichero commands.cfg, este fichero estará… dependiendo de la instalación que habríais realizado:

vi /etc/nagios3/commands.cfg

Y añadimos lo siguiente:

define command{
command_name check_wincpu_snmp
command_line /usr/bin/perl $USER1$/check_snmp_load.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -T stand -w $ARG2$ -c $ARG3$
}

define command{
command_name check_winmem_snmp
command_line /usr/bin/perl $USER1$/check_disk_snmp.pl -H $HOSTADDRESS$ -s $ARG1$ -d phys -u $ARG2$ -w $ARG3$ -c $ARG4$
}

define command{
command_name check_disk_snmp
command_line /usr/bin/perl $USER1$/check_disk_snmp.pl -H $HOSTADDRESS$ -s $ARG1$ -d $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$
}

define command{
command_name check_ping
command_line $USER1$/docu $ARG3$ “$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 1”
}

Creamos las carpetas donde vamos a alojar los archivos de configuración 

mkdir /etc/nagios3/etc/cfg/Windows/

Accedemos al direcctorio 

cd /etc/nagios3/etc/cfg/Windows/

Creamos el fichero hosts.cfg con el siguiente contenido

#Definimos el grupo y los miembros que van a pertenecer a ese grupo
define hostgroup {
hostgroup_name grupo-windows
alias Microsoft Windows Servers
members cpd_192.168.1.112
}

#Definimos el chequeo de PING

#Ping to hosts

define service {
use windows-srv
hostgroup_name grupo-windows
service_description Windows CPD01 – ping
check_command check_ping!100.0,10%!500.0,20%
}
#Hosts Definition

#Definimos el host

define host {
use windows-srv
host_name cpd_192.168.1.112
alias CPD01
address 192.168.1.112

}

Creamos el fichero templete.cfg en el cual vamos a definir los servicios. 

define host {
name windows-srv
flap_detection_enabled 1
notification_period 24×7
notification_options d,u,r
retain_status_information 1
retain_nonstatus_information 1
contact_groups grupo-windows
# check_command check_command_blank
max_check_attempts 3
register 0

}

 

define service {
name windows-srv
check_period 24×7
flap_detection_enabled 1
notification_period 24×7
notification_options w,u,c,r
parallelize_check 1
retain_status_information 1
retain_nonstatus_information 1
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups grupo-windows
register 0
}

 Definimos el archivo de contacto contacts.cfg

define contact{
contact_name grupo-windows
alias grupo-windows
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email rokitoh@redorbita.com
}
define contactgroup {
contactgroup_name grupo-windows
alias Grupo de Windows
members grupo-windows
}

Y por ultimo definimos los chequeos cpd01.cfg. 

define service {
use windows-srv
host_name cpd_192.168.1.112
service_description Uso CPU
check_command check_wincpu_snmp!redorbita!80!90
}

define service {
use windows-srv
host_name cpd_192.168.1.112
service_description Uso MEM
check_command check_winmem_snmp!redorbita!MB!80%!90%
}
define service {
use windows-srv
host_name cpd_192.168.1.112
service_description Disco C:
check_command check_disk_snmp!redorbita!C!MB!1527!898
}

Una vez creado el fichero tenemos que añadir la ruta de los mismos en el archivo nagios.cfg

vi /etc/nagios3/nagios.cfg

Al final del archivo añadimos lo siguiente:

############## Monitorización Windows #############

cfg_file=/etc/nagios3/etc/cfg/Windows/templete.cfg
cfg_file=/etc/nagios3/etc/cfg/Windows/hosts.cfg
cfg_file=/etc/nagios3/etc/cfg/Windows/cpd01.cfg
cfg_file=/etc/nagios3/etc/cfg/Windows/contacts.cfg

Chequeamos para ver si no hay ningún error en los archivos de configuración

rokitoh@nagios:/etc/nagios3/etc/cfg/Windows# nagios3 -v /etc/nagios3/nagios.cfg

Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL

Website: http://www.nagios.org
Reading configuration data…
Read main config file okay…
Processing object config file ‘/etc/nagios3/commands.cfg’…
Processing object config directory ‘/usr/lib/nagios/plugins’…
Processing object config file ‘/usr/lib/nagios/plugins/mailq.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_storage.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ifstatus.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_load.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/breeze.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ftp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/apt.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/tcp_udp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ntp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/dummy.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mrtg.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/rpc-nfs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/users.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/games.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/real.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/pgsql.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_vrrp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/flexlm.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_win.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ssh.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/news.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/telnet.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/radius.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/fping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/netware.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_cpfw.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_process.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/procs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ldap.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mysql.cfg’…
Processing object config directory ‘/usr/lib/nagios/plugins/doc’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_int.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_mem.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_env.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/load.cfg’…
Processing object config directory ‘/etc/nagios3/conf.d’…
Processing object config file ‘/etc/nagios3/conf.d/timeperiods_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/contacts.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-host_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-service_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/cpd01.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/contacts.cfg’…
Read object config files okay…

Running pre-flight check on configuration data…

Checking services…
Checked 4 services.
Checking hosts…
Checked 1 hosts.
Checking host groups…
Checked 1 host groups.
Checking service groups…
Checked 0 service groups.
Checking contacts…
Checked 2 contacts.
Checking contact groups…
Checked 2 contact groups.
Checking service escalations…
Checked 0 service escalations.
Checking service dependencies…
Checked 0 service dependencies.
Checking host escalations…
Checked 0 host escalations.
Checking host dependencies…
Checked 0 host dependencies.
Checking commands…
Checked 193 commands.
Checking time periods…
Checked 4 time periods.
Checking for circular paths between hosts…
Checking for circular host and service dependencies…
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…

Total Warnings: 0
Total Errors: 0

Things look okay – No serious problems were detected during the pre-flight check
rokitoh@nagios:/etc/nagios3/etc/cfg/Windows#

Y reiniciamos nagios

rokitoh@nagios:/etc/nagios3/etc/cfg/Windows# /etc/init.d/nagios3 reload
Reloading nagios3 monitoring daemon configuration files: nagios3.
rokitoh@nagios:/etc/nagios3/etc/cfg/Windows#

Abrimos nagios en nuestro navegador favorito y si todo a salido bien lo tendríamos que tener OK!

 

Un saludo, rokitoh!

 

25 thoughts on “Monitorización basica de Windows en Nagios

  1. Pingback: Monitorización de puertos y servicios con Nagios | Red-Orbita

  2. El tutorial es muy bueno solo hay un pequeño gran error que puede ser unn fallo mio que no lo he sabido encontrar haber si me puedes ayudar.
    Indicas como definir los comandos de pero pero no indicas donde descargarlos en mi configuración por defectos estos comandos no estaban me he descagado uno y estoy probando.
    Muchas gracias por hacer estos manuales que animan a utilizar estas herramientas y hacer grandes estas aplicaciones.

        • Hola rokitoh en primer lugar darte las gracias por la información es muy buena las dos URL que me has dado .
          Solo tengo un pequeño problema en la URL http://nagios.manubulon.com/ he encontrado chequeos para windows solo para la CPU y servicios y en la otra URL no he sabido encontrar el chequeo de Disco y Memoria.
          (Para darme cuenta que no funcionaba disco y memoria me volví loco 🙂 solo daba un error de sintaxis )
          Entonces la pregunta mas concreta si puedes pasar el enlace el chequeo check_disk_snmp.pl para windows
          Gracias de nuevo

          • Perfecto rokitoh con estos dos últimos enlaces el chequeo ha ido peferctamente siguiendo el tuturial .
            No me canso de dar las gracias.

            Estoy instalando un maquina con Nagios y todos los plugis que veo interesantes por ahora he recopilado los siguientes

            Una vez instalado Nagios
            -Instalar pnp4nagios: para visualizar las gráficas
            -Instalar NDOutils :para mandar todos los datos a una base de datos
            -Instalar Nagvis :para visualizar gráficamente todos los elementos de Nagios

            ¿Se te ocurre alguno mas ? ¿ que diferencia hay entre pnp4nagios y cacti ?

            Estos temas puede que sea mejor tratarlos en otra parte distinta a este post pero soy un poco nuevo en esto de los comentarios y foros

          • Me alegro que te haya servido.

            Realmente con todo lo que vas a instalar esta muy bien. Puedes mirarte NRPE ya que hay algunos chequeos internos (Locales) que a lo mejor quieres monitorizar y mediante SNMP no puedes.

            Yo siempre querido hacer manuales sobre ello…pero no saco tiempo. Este fin de semana si le saco algo de tiempo are algún post.

            ¿Diferencia entre cacti y pnp4nagios?

            Realmente no mucha… ya que utiliza lo mismo… rrdtool. Lo bueno de php4nagios que lo tienes integrado. Pero yo creo que eso ya va mas en gustos.

          • Hola de nuevo, sigo con mi instalación limpia con las ultimas versiones y me ha surgido la siguiente duda:
            pnp4nagios o nagiosgraph no se cual elegir, pnp4nagios lo elegir en una prueba que hice y muy bien, pero nagiosgraph me lo encontre en la pagina oficial de Nagios y laverdad que no veo mucha diferencia
            Me puedes aconsejar alguno de los dos
            gracias
            Por cierto hay algun foro de nagios que conozcas para estas preguntas
            gracias

          • Hola.

            Realmente no he probado nagiosgraph. pero realmente no creo que cambie mucho uno de otro. El que mas te guste.

            y respecto a algún foro referente a ello… yo no encontrado ninguno.

            si tienes alguna pregunta y ponerlo por aquí o por el BLOG yo o otra persona que lo sepa supongo que te podrá contestar.

            Un saludo!!

          • i’ve done the above, and some command like check_load, check-users work but i cant get the other comnmads like check_disk to work, the error that comes is :NRPE: command check_disk’ not defined. what could be the problem ? i’m using nrpe v2.12

  3. Estimados, he logrado instalar Nagios correctamente y estaba siguiendo esta pauta para monitorizar Windows, pero me dio un error casi al final del proceso, ejecute el comando:

    nagios3 -v /etc/nagios3/nagios.cfg

    y me dio el error:

    Processing object config file ‘/etc/nagios3/commands.cfg’…
    Processing object config directory ‘/etc/nagios-plugins/config’…
    Processing object config file ‘/etc/nagios-plugins/config/pgsql.cfg’…
    Processing object config file ‘/etc/nagios-plugins/config/netware.cfg’…
    Processing object config file ‘/etc/nagios-plugins/config/ping.cfg’…
    Warning: Duplicate definition found for command ‘check_ping’ (config file ‘/etc/nagios-plugins/config/ping.cfg’, starting on line 2)
    Error: Could not add object property in file ‘/etc/nagios-plugins/config/ping.cfg’ on line 3.
    Error processing object config files!

    Alguien sabe que puede ser? a nadie mas le paso? se me ocurre que es algo muy pequeño que pase por alto.

    Además quería saber donde hay una guía para poder generar mas sentencias, que me permitan monitorizar la mayor cantidad de aspectos posibles de otros dispositivos.

    Saludos, mil gracias

  4. Por lo que veo ahí en el archivo de configuración: /etc/nagios-plugins/config/ping.cfg
    tienes duplicado el comando.

    Publica aquí la configuración y la echamos un vistazo.

    y por otro lado en este manual puedes ver como monitorizar procesos:

    http://red-orbita.com/?p=5404

  5. Hola gente! Estoy montando un Nagios para monitorizar una red y tenía una duda. Quizás este no sea el sitio más adecuado para lanzar la pregunta, de ser así me disculpo.
    Saben si es posible monitorizar los accesos/acciones de copiar/pegar/cortar de una maquina Windows que estemos monitorizando con Nagios? es decir, si hay algun agente para Windows que tenga esta capacidad

    Muchas gracias de antemano, un saludo

    • Supongo que se podrá realizar. Esto es un ejemplo… que se me ocurre pero no se si sera correcto.

      Si creas una directiva de seguridad para auditar carpetas y archivos…este generaría un log en el Event Viewer.

      Mediante un script podrías recoger estos datos y realizar un plugin para el nagios

  6. Una duda, igual es una tontería, este programa sirve para monitorizar el trafico de cualquier IP?
    Me explico, tengo varios clientes, cada uno con su IP fija, necesito de algo para saber cuando un cliente se cae, supera un ancho de banda determinado, que envíe alertas al cliente….

    Muchas gracias de antemano.

    • Buenas javier,

      Mediante este software puedes monitorizar el tráfico de cualquier dirección ip.
      También se puede monitorizar switchs (Puertos, transferencia, bandwidth), Firewalls y servidores bajo Microsoft Windows y GNU/Linux o Unix.

      Un saludo.

  7. con los plugins podria monitorizar la temperatura interna ya sea de discos, procesador, memoria de un servidor tanto de windows como de linux.

    si tienes algun manual relacionado al respecto se agradece

    Saludos

    :wq!

  8. hola,

    muy buena la pagina 🙂

    tengo un problema, al intentar monitorear me arroja el siguiente error en la consola de nagios : Return code of 126 is out of bounds – plugin may not be executable)

    hice la comprobacion del archivo de nagios y no tengo inconvenientes:

    Checking time periods…
    Checked 5 time periods.
    Checking for circular paths between hosts…
    Checking for circular host and service dependencies…
    Checking global event handlers…
    Checking obsessive compulsive processor commands…
    Checking misc settings…

    Total Warnings: 0
    Total Errors: 0

    Things look okay – No serious problems were detected during the pre-flight check
    [root@nagios libexec]#

    espero puedas ayudarme

    Saludos

      • me faltaba el modulo snmp de perl, por eso no hacia la consulta.

        otra consulta, necesito monitorear otro disco (particion) pero, no muestra tan exacta la información como si lo hace con el unidad C

        SALUDOS

  9. Que tal, tengo un problema al programar las ventanas de mantenimiento con el Schedule Downtime, al momento de la programación, todo corre de manera normal y correcta, se muestran los servidores y sus respectivos servicios en el Schedule Downtime, sin embargo, al cabo de unos minutos, los servicios ya no estan en la ventana de programación, solo los servidores. Que podría estar ocasionando esto? Tengo la versión 3.5.0.

  10. hola bueno estoy haciendo un proyecto sobre nagios y me falta la parte de seguridad y no le entiendo mucho. el docente dice q hay ke dar cualkier seguridad ya sea seguridad de puertos, pero no se como hacer eso me pueden ayudar.
    salu2!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*