我需要创建一个java程序,用于根据某些配置(conf文件)生成logstash输出。但是我的问题是我在Properties对象中有配置,我还需要输出作为Json String对象。但是在examples我从互联网上发现它会喜欢,需要通过控制台运行命令,输出会出现在控制台上
logstash -f config.conf
但是我需要一个java程序而不是上面的程序。有可能吗?
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以通过以下方式创建Java程序。
创建您的logstash配置文件并将其放置在文件系统中的任何位置。
确保可以使用logstash -f yourfile.conf执行该文件。
现在编写一个Java程序来执行此Logstsah文件。
从Java代码执行linux命令的示例代码:
public void executeLinux(String command) {
System.out.println("Executing linux command "+command);
try{
Runtime run = Runtime.getRuntime();
Process pr = run.exec(command);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
while ((line=buf.readLine())!=null) {
System.out.println(line);
}
}
}catch (Exception e) {
e.printStackTrace();
}
}
答案 2 :(得分:0)
好的,logstash2.x支持从http,ftp等读取配置文件。
例如:
java
bin/logstash -f http://xx.xx.xx/xx.config --auto-reload --reload-interval 2
点击此处"" The Logstash Lines: 2.2 Release, Dynamic Config Reloading
和Apply changes from configuration file without restarting
你可以在java项目中动态创建配置文件,并从springmvc的控制器中输入redis和logstash加载配置文件。