- 论坛徽章:
- 1
|
本帖最后由 superarmy 于 2013-09-03 14:32 编辑
Hi 兄弟们,
我在nagios中配置check_nrpe监控window service status, 我建了一个check command 名字叫check_win_service,里面调用了check_nrpe脚本:- $USER1$/check_nrpe -H $HOSTADDRESS$ -c CheckServiceState -a ShowAll $ARG1$
复制代码 然后我想在servcie定义中使用这个check_win_service的command,$ARG1$变量则调用多个windows服务名, 这样的话我就不用在nagios中建多个service了:- MSSQLServerOLAPService SQLSERVERAGENT MSSQL\\\$SQLEXPRESS MSSQLSERVER
复制代码 实际运行的时候,如果服务名中不带$符号,一切正常:- Status Information: OK: MSSQLServerOLAPService: started, SQLSERVERAGENT: started, MSSQLSERVER: started
复制代码 但如果服务名中带一个$,比如带实例名的SQL服务,nagios最终会在最后一个服务名后面添加一个$符号,弄得最后一个服务名检查失败:- Status Information: CRITICAL: MSSQLServerOLAPService: started, SQLSERVERAGENT: started, MSSQL$SQLEXPRESS: started, MSSQLSERVER$: not found (critical)
复制代码 我猜想是nagios的程序中替换变量内容的时候产生了某种变化,但是我没有读代码的能力,无法确切追踪问题点。我甚至很小白的把$ARG1$写成$ARG1,也是同样的结果囧。
求大神帮忙!
|
|