Hilfe beim Anlegen von Parametern in check_by_ssh

This forum was archived to /woltlab and is now in read-only mode.
  • Hi,


    ich bin neu bei Icinga mit dem Director und versuche, einen Service zu bauen, der mittels check_by_ssh auf einem Host ein check_apt ausführt. Da der Host relativ langsam ist (Raspberry Pi 1), möchte ich hierzu das Timeout hochsetzen. Ich habe mir zuallererst einen Command für diesen Service gebaut, weil noch keine in check_by_ssh gewrappete Commands vordefiniert waren. Die Command-Definition sieht so aus:


    Code
    1. /usr/lib/nagios/plugins/check_by_ssh -oStrictHostKeyChecking=no -H $address$ -l nagios -i /var/lib/nagios/.ssh/id_rsa -C "/usr/lib/nagios/plugins/check_apt -t $apt.timeout$"


    Jetzt möchte ich das $apt.timeout$ gerne parametrisierbar machen. Ich habe vermutet, dass ich hierbei nicht über die Arguments des Commands gehen kann, weil ich dadurch vermutlich nur die Argumente des äußeren Plugins ändern kann, und nicht die des inneren. Also habe ich ein neues Data Field angelegt. Field name "apt.timeout", data type number. Soweit sogut. Zurück in der Command-Definition habe ich nun eine neue Custom property gefunden. Irgendwann möchte ich die gerne per Host setzen, aber erstmal reicht mir ein Setting pro Service. Ich habe also ein neues Service Template angelegt, was auf den check_command, den ich gerade angelegt habe, zugreifen kann. Auch hier ist bereits eine Custom Property vorhanden. Hier habe ich als Wert 30 eingetragen, weil so ein Raspi 1 da schon so um die 25 Sekunden für braucht.


    Ich habe das Servicetemplate dann meiner Debian-Gruppe zugewiesen, und die Config deployt. Das Resultat: Alle Hosts stehen in dem Servicecheck auf Unknown, mit dem Fehler: "Timeout must be a positive integer". Ich habe den Service dann inspected, und folgendes Resultat gefunden:



    Also habe ich messerscharf kombiniert, und sehe, dass die Variable nicht übernommen wird. Gucke ich weiter unten, steht da dann noch:


    Nun wende ich mich doch mal hilfesuchend ans Forum. Zum einen hätte ich gerne ein per Host parametrisierbares Argument, zum anderen weiß ich nicht, ob das Data Field da überhaupt das Mittel zum Zweck ist. Vielleicht geht es ja doch mit Argumenten? Falls das mit dem Data Field doch toll ist, was habe ich bisher falsch gemacht, dass der Wert des Data Fields dann auf "Dateisystemebene" nicht als Argument an das Plugin übergeben wurde?