Tenho um problema com uma das minhas sondas (plugin) no Centreon.
No meu servidor poller, eu lanço este comando:
/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.*)$)'
Funciona perfeitamente.
Quando configuro minha sonda no Centreon Admin Console e a executo, recebo um erro:(Falha na execução do comando)
/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.*)
Não funciona porque exclui a última citação simples do meu regex. Tentei pesquisar como resolver isso, mas na verdade não encontrei nada.
Alguém poderia me ajudar? :)
Responder1
Encontrei a resposta no Centreon Slack oficial :)
Centreon Engine interpreta $, entãouma das soluçõesé dobrar assim:
--name --regexp --storage='^(?!(/mnt.*)$$)'
Osolução adequadaé usar macros. No modelo de comandos que uso, adiciono algo assim $_SERVICEEXCLUDEFS$
:. Ele aparecerá quando eu criar umserviço como este. Então posso usar isso para este host específico (e sem $ duplo)