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