linux grok tomcat 日志

思路

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

实现步骤

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容