2016-08-03 2 views
1

Ich habe einen Befehl wie folgt definiert:Nagios in einem Projekt ‚mvn test‘ Aufruf gibt einen Fehler, aber ohne Details

define command { 
command_name     xyz_minimal_check 
command_line     mvn --global-settings=(dir)/settings.xml -f (proj)/pom.xml -Dtest=ThingTest#testThing test 
} 

und einen Dienst definiert diesen Befehl aufzurufen. Wenn es läuft, sehe ich:

[ERROR] Error executing Maven. 

Aber ich sehe keine Details in jedem Protokoll. Wo könnten diese sein? Ich bin sicher, dass es einige Dinge gibt, die ich einrichten muss, oder einige Umgebungsvariablen, die ich dem Befehl, den Nagios ausführt, zur Verfügung stellen muss, aber ich kann nicht sagen, was sie sind. Ich habe in den üblichen Logs nachgesehen und sehe nichts speziell für diesen Service.

Dies läuft auf einem Ubuntu 14.04 System. Die üblichen Ping- und http-Dienste in Nagios funktionieren einwandfrei.

+0

Was passiert, wenn Sie -X am Ende des Befehls für ausführliche Ausgabe von Maven hinzufügen? – Pete

+0

Das muss mehr Leistung produziert von Maven also wo ist stdout? – khmarbaise

Antwort

1

Nun, der einzige Ort, an dem ich die Ausgabe meines Befehls sehen kann, ist in der Web-Schnittstelle selbst. Klicken Sie auf den Dienstnamen und die Ausgabe befindet sich in der Beschreibung des Dienstes dort. Es scheint sehr seltsam, dass nichts in var/nagios.log oder irgendeine andere Protokolldatei geht.

Und sobald ich meine Ausgabe sah, konnte ich meine Fehler sehen. Das Problem war, dass ich es dem Nagios-Benutzer ermöglichen musste, den "mvn test" auszuführen. Mein Standard, die Berechtigungen verhindern dies. Der einfachste Weg, dies zu tun, besteht darin, ein Verzeichnis zu erstellen, das dem Nagios-Benutzer gehört, ihm eine eigene Kopie des Projekts zu geben und ihm sein eigenes Verzeichnis .m2 zu geben. Dann wird es funktionieren.

Verwandte Themen