nsclient使用nrpe的方法 + windows检测udp端口的bat脚本

参考  http://www.nsclient.org/nscp/wiki/NRPEListener

在NSClient\nsc.ini中[NRPE]下的配置项取消注释
[NRPE]
port=5666
command_timeout=60
;允许参数
allow_arguments=1
allow_nasty_meta_chars=0
use_ssl=1
allowed_hosts=192.168.1.0/24
socket_timeout=30

;# 手动添加
performance_data=1

把[NRPE Client Handlers]改成[NRPE Handlers],并添加测试脚本或命令
[NRPE Handlers]
;check_other=-H 192.168.0.1 -p 5666 -c remote_command -a arguments
my_ping_check=scripts\check_ping.bat $ARG1$
my_udp_check=scripts\check_udp.bat $ARG1$
;#监测内存
check_mem=inject checkMem MaxWarn=80% MaxCrit=90% ShowAll=long type=physical

监控服务器上可以用check_nrpe的来添加监控命令,可以在命令行中先测试,然后再通过centreon添加,或直接手动添加。
#./check_nrpe -H 192.168.1.196 -p 5666 -c my_udp_check -a 445


check_udp.bat的文件内容如下:

@echo off
rem nrpe方式检测 udp 端口
SET UDP_PORT=%1
netstat -an | find ":%UDP_PORT%" |find "UDP" > NUL

IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
 
:err
echo CRITICAL: port %UDP_PORT% not listening
exit /B 1
 
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
 
:ok
echo OK: port %UDP_PORT% working
exit /B 0

posted @ 2012-08-01 21:32  SmartDog  阅读(2020)  评论(0编辑  收藏  举报