我在 Centreon 中的一个探测器(插件)出现了问题。
在我的轮询服务器上,我启动以下命令:
/usr/bin/perl /usr/lib/nagios/plugins/centreon-plugins-master/centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=storage --hostname=XXX.XXX.XXX.XXX --warning-usage=80 --critical-usage=90 --snmp-version=2c --snmp-community=supervision --space-reservation=5 --verbose --explode-perfdata-max --name --regexp --storage='^(?!(/mnt.*)$)'
它运行完美。
当我在 Centreon 管理控制台中配置我的探测器并执行它时,出现错误:(执行命令失败)
/usr/bin/perl /usr/lib/nagios/plugins/centreon-plugins-master/centreon_plugins.pl
--plugin=os::linux::snmp::plugin
--mode=storage
--hostname=XXX.XXX.XXX.XXX
--warning-usage=80
--critical-usage=90
--snmp-version=2c
--snmp-community=supervision
--space-reservation=5
--verbose
--explode-perfdata-max
--name
--regexp
--storage='^(?!(/mnt.*)
它不起作用,因为它删除了我的正则表达式的最后一个简单引号。我试图搜索如何解决它,但实际上我什么也没找到。
有人能帮助我吗?:)
答案1
我在官方 Centreon Slack 上找到了答案:)
Centreon Engine 解释 $,因此解决方案之一像这样将其加倍:
--name --regexp --storage='^(?!(/mnt.*)$$)'
这适当的解决方案是使用宏。在我使用的命令模板中,我添加了类似以下内容的内容:$_SERVICEEXCLUDEFS$
。它将在我创建像这样的服务。然后我可以将其用于此特定主机(并且不会产生双倍的 $)