• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Java Programm soll von Nagios ausgefuehrt werden

byron1778

Hacker
Hallo Forum!

Ich habe folgendes Problem mit Nagios.
Ich will ein JAVA Programm ausfuehren ueber Nagios mit folgenden Code

Code:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Upload {

        /**
         * @param args
         */
        public static void main(String[] args) throws FileNotFoundException, IOException{
                // TODO Auto-generated method stub

                String upload = "Upload was successfull";

                          try {
                                        BufferedReader in = new BufferedReader(new FileReader("/tmp/orc_backup.log"));
                                        String zeile = null;
                                        while ((zeile = in.readLine()) !=  null) {
                                                //System.out.println("Gelesene Zeile: " + zeile);
                                                if (zeile.equals(upload)) {
                                                        System.out.println(zeile);
                                                        System.exit(0);
                                                }
                                        }
                                } catch (IOException e) {
//                                      e.printStackTrace();
                                System.exit(3);
                                }
        }
}

Jedoch kommt es immer zu folgender Fehlermeldung:

Code:
Remote command execution failed:

Von Nagios aus, fuehre ich folgende Codezeile aus

Code:
/usr/local/nagios/libexec/check_by_ssh -H xxx -s "FTP_BACKUP" -C '/usr/bin/java /usr/nagios/java_work/Upload'

Kann mir jemand vll. sagen, wo der Haken liegen koennte?

Danke vielmals!
 
OP
B

byron1778

Hacker
Habe leider vergessen zu sagen, dass ich folgende Moeglichkeiten durchprobiert habe:

Code:
Auf der Maschine, wo das Programm liegt: 

/usr/bin/java /usr/nagios/java_work/Upload
Exception in thread "main" java.lang.NoClassDefFoundError: /usr/nagios/java_work/Upload

Im Verzeichnis, wo das Programm liegt:

java Upload
Upload was successfull

Und wenn ich es direkt von Nagios aus ausfuehre, kommt jeweils dieselbe Fehlermeldung

/usr/bin/java /usr/nagios/java_work/Upload
Remote command execution failed: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

bzw.

java /usr/nagios/java_work/Upload
Remote command execution failed: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 

marce

Guru
Na, wenn Der Aufruf von Nagios zu einem
Code:
/usr/bin/java /usr/nagios/java_work/Upload
Exception in thread "main" java.lang.NoClassDefFoundError: /usr/nagios/java_work/Uploa
führt - ist ja klar, daß es nicht geht.

Lösungen dafür gibt's viele - welche für Dich die passendste ist hängt von Dir ab...
 
Oben