2017-04-25 79 views
0

我正在使用logstash從日誌文件中提取數據。我希望從java程序中調用logstash。我怎樣才能執行這樣的任務?如何從java程序執行logstash命令?

+0

這與MongoDB有什麼關係?而且,你想達到什麼目的? Logstash提供了HTTP API:https://www.elastic.co/guide/en/logstash/current/monitoring.html –

+2

[Java程序中運行Logstash]的可能重複(http://stackoverflow.com/questions/35504385/run-logstash-in-java-program) – Sajjad

+0

哇。大。我將logstash輸出數據直接存儲在mongoDB數據庫中。 –

回答

0

此代碼起作用。

 ProcessBuilder b1 = new ProcessBuilder("cmd.exe", "/c", "cd \"C:\\elk\\logstash-5.1.2\\bin\" && logstash -f first-pipeline.conf --config.reload.automatic"); 
     b1.redirectErrorStream(true); 
     Process p1 = b1.start(); 
     BufferedReader r1 = new BufferedReader(new InputStreamReader(p1.getInputStream())); 
     String line1; 
     while (true) { 
      line1 = r1.readLine(); 
      if (line1 == null) { break; } 
      System.out.println(line1); 
     }