Logstash错误排查之-`Don't know how to handle Java::JavaLang::NullPointerException for LogStash::Pipeli...

现象

今天写好logstash后(kafka-》 logstash -》kafka ),本地测试OK后,上线后,疯狂重启,错误日志如下(没有什么用):

An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle `Java::JavaLang::NullPointerException` for `LogStash::PipelineAction::Create/pipeline_id:main`"

使用版本

os:Centos 6.x
logstash:6.0.0

排查

  1. google看到github已经有这个issue了,地址issue。大概意思这个报错不太细致,会有改进。具体改进信息是在这里。我看到6.x都包括,以为是6.0.0会修复,但重新下载6.0.0没有解决,才点开commit id发现是6.2以上。
    2.使用6.0.1测试,发现有定位错误的信息,打开代码查看对应行错误,才知道logstash 6.x不支持以下语法:
# 判断tag数组是空
if [tag] == [] {
    # your code
}

结论

1.使用前要用和生产环境一致版本的logstash进行测试,以免有时候想当然不用测试,导致不可用;

  1. 6.x版本的logstash好像确实有bug,之前有同事使用6.4.x也发现错误,建议没有新的功能,建议使用logstash5.x的

你可能感兴趣的:(Logstash错误排查之-`Don't know how to handle Java::JavaLang::NullPointerException for LogStash::Pipeli...)