我正在尝试在 OMD nagios 中监控 mssql 服务,但目前还没有成功。
通信端口:1433
实例名称如下:MSSQL$instance
这是我的支票:
check_command check_nt!SERVICESTATE!-l 'MSSQL$$instance' (like you've suggested here http://serverfault.com/questions/517291/monitor-services-with-in-the-service-name-in-icinga-nagios, nagios said: Failed to open service: MSSQL)
我尝试了一些其他组合:
MSSQL\$$instance(无法打开服务:MSSQL\$SQL2012)
MSSQL"$$"instance(无法打开服务:MSSQL"$"SQL2012)
"MSSQL"$$"instance"(无法打开服务:“MSSQL"$"SQL2012”)
非常感谢任何建议。
不知道是什么原因导致的这个问题。
提前致谢。
答案1
我不得不反复试验。对我有用的是
MSSQL\\$Instance
如同
check_command check_nt!SERVICESTATE!-d SHOWALL -l MSSQL\\$Instance
答案2
当我将 -d SHOWALL 添加到我的检查命令时,它就像:
check_command check_nt!SERVICESTATE!-d SHOWALL -l MSSQL\\$$instance
然后 nagios(在 check_mk 中)显示:未指定服务/进程
您知道什么原因可能导致这个问题吗?
解决方案
终于我找到了解决方案。原来问题出在 check_nt 命令定义上。
我最初是这样使用它的:
define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -v '$ARG1$' -p 12489 '$ARG2$'
}
这会导致上述问题:“未指定服务/进程”和“无法打开服务”。
当我将 check_nt 定义更改为:
define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -v $ARG1$ -p 12489 $ARG2$
}
它就像一个魅力:)与:
check_command check_nt!SERVICESTATE!-d SHOWALL -l MSSQL"$$"instance
所以问题终于解决了:)
问候