其实安装配置比较简单,可以按照官网或者百度搜索一下,主要是解决遇到的几个问题,花费了不少时间,在此记录一下。
在服务器上启动 logstash 时碰到了错误:找不到或无法加载主类。
我一开始以为是 java 版本问题,可是检查了一下还是继续报错,网上搜索了一下,
解决方法就是在 CLASSPATH 两边加双引号( logstash.bat )
代码如下:
%JAVA% %JAVA_OPTS% -cp "%CLASSPATH%" org.logstash.Logstash %*
可是按照这个方法后还是报错,后来发现logstash这个文件夹在Program Files下,猜测不会是Program Files文件夹有目录,在C盘建了一个Java文件夹,把logstash移动到此,终于不再报这个错了。但是又遇到了一个错误,
core/lib/logstash/output_delegator.rb:49:in `multi_receive'", "C:/Java/logstash-6.2.3/logstash-core/lib/logstash/pipeline.rb:479:in `block in output_batch'", "org/jruby/RubyHash.java:1343:in `each'", "C:/Java/logstash-6.2.3/logstash-core/lib/logstash/pipeline.rb:478:in `output_batch'", "C:/Java/logstash-6.2.3/logstash-core/lib/logstash/pipeline.rb:430:in `worker_loop'", "C:/Java/logstash-6.2.3/logstash-core/lib/logstash/pipeline.rb:385:in `block in start_workers'"]}
[2018-03-23T21:58:38,053][ERROR][org.logstash.Logstash ] java.lang.IllegalStateException: org.jruby.exceptions.RaiseException: (SystemExit) exit
继续搜索,有个答案说配置读取日志的文件夹需要是可写入的,但是那是在Linux环境下,我是在Window下,应该不是这个问题,继续搜索,终于找到了解决方案:
使用命令查找详细错误原因
logstash.bat agent -f logstash.conf
得到如下结果:
[ERROR] yyyy-MM-dd HH:mm:ss.ttt [main] Logstash - java.lang.IllegalStateException: org.jruby.exceptions.RaiseException: (SystemExit) exit
然后把logstash从6.2.3换成5.6.6,终于启动成功。
使用 logstash + kafka + elasticsearch 实现日志监控
Elasticsearch Logstash Kibana(ELK) 代码和知识点总结
Logstash Configuration file is not working its giving error
Error occurred while running the logstash installation command in windows