我正在尝试使用 Nagios (3.0.1) 监视 MSMQ 队列计数器。远程服务器正在运行 NC_Net。check_command 配置如下所示:
check_command check_nt!COUNTER!-l "\\MSMQ Queue(servername\\private$\\queuename)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
这行不通。我相信美元符号需要转义,但我无法弄清楚如何转义。
本文建议使用“$$”,即。
check_command check_nt!COUNTER!-l "\\MSMQ Queue(servername\\private"$$"\\queuename)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
但这不起作用。我尝试了其他一些方法(反斜杠、单引号等)。
有什么建议么?
编辑:
我一直在通过命令行进行一些测试,这是我认为是 $ 导致问题的原因之一。以下作品:
./check_nt -H hostip -v COUNTER -l "\\MSMQ Queue(Computer Queues)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
但这不是:
./check_nt -H hostip -v COUNTER -l "\\MSMQ Queue(servername\\private$\\queuename)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
我还使用 ECHO 来查看这些命令是如何扩展的,但这对我没有帮助。
编辑:
原来它不是美元符号。见下文。