Назад | Перейти на главную страницу

Centreon - команда плагина не работает с простой цитатой

У меня проблема с одним из моих зондов (плагинов) в 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.*)

Это не работает, потому что он удаляет последнюю простую цитату моего регулярного выражения. Я пытался поискать, как это решить, но ничего не нашел ..

Кто-нибудь может мне помочь? :)

Я нашел ответ на официальном Centreon Slack :)

Centreon Engine интерпретирует $, поэтому одно из решений это удвоить это, как это:

--name --regexp --storage='^(?!(/mnt.*)$$)'

В правильное решение использовать макросы. В шаблоне команд, который я использую, я добавляю что-то вроде этого: $_SERVICEEXCLUDEFS$. Он появится, когда я создам сервис как это. Затем я могу использовать это для этого конкретного хоста (и без двойных $)