linux grok tomcat 日志

2019-02-16  本文已影响4人  jczz

思路

  1. 比如我的是重要的业务日志是含有xml内容的如何处理
  2. 捋清楚思路,先分开字段匹配,把含有xml消息的日志正文 grok 出来一个字段叫做任意你起的名字,这里是xmlnews
  3. 使用logstash xml 模块,使用source参数,表示消息来源是从这个参数调用,让这个参数的来源等于,第二个步骤定义的xmlnews。logstash 会自动帮你提取xml内容

实现步骤

input {
  stdin{}
}
filter {
#我这里的tomcat 日志匹配模式,你们不一定能用,这里只提供思路,实际使用自己匹配模式
  grok {
    match => { "message" => "^%{TIMESTAMP_ISO8601:access_time} %{LOGLEVEL:loglevel}  \[%{DATA:da}\] %{USERNAME:class} \(%{DATA:linenum}\)     \- 从队列\[%{TWOUNDERSCORE:queuename}\]%{GREEDYDATA:xmlnews}$" }
  }
}
filter {
  grok {
    match => { "message" => "^%{TIMESTAMP_ISO8601:access_time} %{LOGLEVEL:loglevel}  \[%{DATA:da}\] %{USERNAME:class} \(%{DATA:linenum}\)     \- 从队列\[%{TWOUNDERSCORE:queuename}\]%{GREEDYDATA:xmlnews}$" }
  }
  xml {
    source => "xmlnews" #只要xmlnew 包含xml 格式,就会被抽取出来
  }
}

展现结果图没有截图 以后补充

上一篇下一篇

猜你喜欢

热点阅读