Ich habe ein Problem mit einer meiner Sonden (Plugins) in Centreon.
Auf meinem Poller-Server starte ich diesen Befehl:
/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.*)$)'
Es funktioniert perfekt.
Wenn ich meine Sonde in der Centreon-Admin-Konsole konfiguriere und ausführe, tritt ein Fehler auf:(Befehl ausführen fehlgeschlagen)
/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.*)
Es funktioniert nicht, weil es das letzte einfache Anführungszeichen meines regulären Ausdrucks löscht. Ich habe versucht, nach einer Lösung zu suchen, aber ich habe tatsächlich nichts gefunden.
Kann mir jemand helfen? :)
Antwort1
Ich habe die Antwort im offiziellen Centreon Slack gefunden :)
Centreon Engine interpretiert $, alsoeine der Lösungenist, es wie folgt zu verdoppeln:
--name --regexp --storage='^(?!(/mnt.*)$$)'
Derrichtige Lösungist die Verwendung von Makros. In der von mir verwendeten Befehlsvorlage füge ich so etwas hinzu: $_SERVICEEXCLUDEFS$
. Es wird angezeigt, wenn ich einService wie dieser. Dann kann ich dies für diesen bestimmten Host verwenden (und kein doppeltes $)