Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2011, 05:05
moeb
 
Fecha de Ingreso: febrero-2011
Mensajes: 581
Antigüedad: 13 años, 2 meses
Puntos: 81
Respuesta: Monitorización NSClient++

a) El telnet en windows no es igual que en linux... Para usarlo en un batch no es demasiado operativo... Unido a que el cmd no es un bash, resulta un problema usarlo. Además, NO quieres hacer nada mas que verificar si el puerto está a la escucha y te puedes conectar a él, ¿no?

Prueba a utilizar otro programa para testear si un puerto esta abierto... Dado que es tcp tu conexión, puedes probar tcping:

http://www.elifulkerson.com/projects/tcping.php

(no lo he probado en windows 7 64bits... Pruebalo tu si lo necesitas. En windos 7 32 bits y en XP funciona).

Para no tener que parsear la salida de tcping en un bat, puedes crear un script sencillo (un .bat):


@echo off
tcping -n 1 172.XX.XXX.XXX 1523 > NUL

IF %ERRORLEVEL% == 0 (echo 0) else (echo 1)

@echo on

Ese "bat" da como salida 0 si el puerto 1523 de la IP 172.XX.XXX.XXX esta abierto (hay conexión)... Y 1 si está cerrado (o pon tú la salida que quieras en los echo del final).

b) Dos cosas: Tu comando a ejecutar se llama "telnet.bat"... No check_telnet (creo). La sintaxis es:
check_nrpe -H <nsclient++ server ip> -c <command>

Y, de nuevo, chequea los permisos por si acaso... Asegurate de que tienes permisos para ejecutar (via socket que has abierto con un usuario determinado) el comando adecuado.

Resumiendo:
Prueba a usar un bat como el de arriba con tcping para obtener una salida válida en función de que el puerto remoto esté o no abierto.

Asegúrate de que usas la sintaxis correcta y llamas al comando con el nombre que le pusistes... Y de que ese comando puede ser ejecutado por el usuario que abrió el NSClient++