Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

怎么来控制输出的日志的格式。并且从日志里面提取出来我想要的一些信息。

整个的message是一个大的json格式字符串。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

虽然是可以通过关键字搜索到。但是日志看起来并不舒服。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
在我们的控制台,日志实际上是这样的。可以很清楚的看到日志的内容。现在混在了json里面。看起来不舒服,而且有些字段丢失掉了。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

进程号就丢失了。Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

控制日志输出格式

Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

以为内这里配置的是logstashEncoder,它就把我们整个的日志信息转成了json直接发出去了。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
我们首先要把这块替换掉。自己定义了一个pattern
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

但是还是作为一个字符串传出去了。kibana里面看到的可能就是一个字符串。
想让kibana按照格式切分开。每一段作为kibana里面可选的字段。Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

拆分是由logstash来做的

找到logstash的配置文件
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
在这里有段注释,添加你自己的过滤器。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
我们添加过滤器来做转换。把字符串切成几段。然后告诉kibana每一段代表什么意思
grok是logstash的一个插件。作用就是把我们的日志切开。把一个大的长的字段,切成好多小的字段。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
match首先要告诉要切什么字段
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
我要切的这个字段就是这个message字段。默认情况下是作为message字段输出到kibana里面的
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

现在要做的就是把message这个长的字段切成很多的小段。再单独作为一个字段 输出出去。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

在github上看下grok的表达式有哪些。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
每一个partten其实就是一个正则表达式。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

我们上面配置的TIMESTAMP_ISO8601对应的就是一个正则表达式。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

做time的字段 ,然后重新输出出去。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
GREEDYDATA表示什么都可以。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

字段都加上log为了区分开
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

重启测试

重启docker因为配置文件变化了。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
orderAPi也重启一下。这样就会以新的格式去logStash去推日志信息。注意这里改的日志LogStash的日志格式,控制台输出的日志格式还是原来的,
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
自定义的字段显示出来了,作为新的字段加入到这边的列表内。Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
这个时候再看到的日志 和我们在控制台看到的就差不多了
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容
把线程着一列也加进来。
Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

结束

上一篇:spring mvc实现修改+删除


下一篇:SQL使用总结-like,MAX,MIN