我正在尝试使用Nagios(3.0.1)监视MSMQ队列计数器。 远程服务器正在运行NC_Net。 check_commandconfiguration如下所示:
check_command check_nt!COUNTER!-l "\\MSMQ Queue(servername\\private$\\queuename)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
这不起作用。 我相信美元符号需要逃脱,而且在解决问题方面遇到困难。
这篇文章build议“$$”即。
check_command check_nt!COUNTER!-l "\\MSMQ Queue(servername\\private"$$"\\queuename)\\Messages in Queue","%.f messages in MSMQ queue" -w 5 -c 10
但是这不起作用。 我已经尝试了一些其他的方法(反斜杠,单引号等)。
有什么build议么?
编辑:
我一直在通过命令行进行一些testing,这是我认为这是造成问题的原因之一。 以下工作:
./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来看看这些命令是如何扩展的,但是这对我没有帮助。
编辑:
原来这不是美元符号。 见下文。
您可以在nagios.cfg中启用完整的debugging来查看命令实际扩展到的内容,这会告诉您美元符号是否真的存在问题。 为此,请设置以下内容:
debug_level=-1 debug_verbosity=2 # DEBUG FILE debug_file=/usr/local/nagios/var/nagios.debug max_debug_file_size=1000000
如果你有很多的检查,你需要设置最大的debugging文件的大小,因为在这种冗长的级别上日志填满很快。
他们可能(例如):
sudo /etc/init.d/nagios reload
然后你需要运行检查,而拖尾日志。 你也可能想用“check_nt”之类的东西来pipe理grep,这样可以减less噪音。
我相信你需要使用\来逃避angular色,但下面的链接显示你可能需要两个\
希望这有助于 – > 链接 < –
我发现远程服务器上的NC_Netlogin到Windows事件日志。 看看这些错误,我开始认为这不是美元符号的问题:
我已经运行了一些testing(我预计会失败)。 首先,我将计数器名称指定为“\ MSMQ队列(服务器名称)\队列中的消息”
由此产生的错误是:
Exeption occured during Counter check :Instance 'servername' does not exist in the specified Category.::>\MSMQ Queue(servername)\Messages in Queue
在这种情况下,它找不到计数器实例。 对于第二个,我指定了“\ MSMQ队列(servername \ test1)\消息队列中”
Exeption occured during Counter check :Could not locate Performance Counter with specified category name 'MSMQ Queue', counter name 'test1)\Messages in Queue'.::>\MSMQ Queue(servername\test1)\Messages in Queue
在这种情况下,找不到柜台。
在我看来,NC_Net正在parsing计数器名称,因为“servername \ test1”中有\。
编辑:
这个问题是由于“柜台名称”中的“\”。 我发现有一个指定计数器名称的替代语法,所以下面的工作:
^MSMQ Queue^servername\\private\$\\queuename^Messages in Queue