ELK - Logstash配置调试技巧:Filter Grok日志模式Pattern匹配之类的确实很麻烦

之前我也很不耐烦,不过掌握了以下一些小技巧之后,感觉好多了。

Logstash Config Test and Exit

/usr/share/logstash/bin/logstash --config.test_and_exit --path.settings /etc/logstash -f test.conf

Logstash Config Automatic Reload

/usr/share/logstash/bin/logstash --path.settings /etc/logstash --config.reload.automatic -f test.conf

Logstash Grok Debugger

一般用网页,因为不用登陆。

  • Kibana -> Dev Tools -> Grok Debugger
  • http://grokdebug.herokuapp.com/

Logstash Input

接受命令行输入。

input {
  stdin {}
}

不过用了stdin之后不支持--config.reload.automatic,所以实际上我还是用Filebeat多。

input {
  beats {
    port => 5044
  }
}

只要简单append文本到目标文件即可。

Force Filebeat to Send Data Again

也可以让Filebeat重新再发送一次所有文件。

rm -rf /var/lib/filebeat/registry/filebeat
systemctl restart filebeat

Logstash Output

输出到控制台,输出不匹配的到文件。

output {
  stdout { codec => rubydebug }
  if "_grokparsefailure" in [tags] {
    file { "path" => "/tmp/grok_failures.log" }
  }
}

P.S.

一开始感觉挺复杂,后来发现其实很多日志都不规范,而且一般也不需要全匹配,简单使用就足够了。

常用DATESTAMP,DATA,GREEDYDATA,SPACE等。
特别是SPACE,一开始没想到要用,后来发现总是匹配不好,加上就正常了。

/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns/
https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值