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

整个的message是一个大的json格式字符串。

虽然是可以通过关键字搜索到。但是日志看起来并不舒服。

在我们的控制台,日志实际上是这样的。可以很清楚的看到日志的内容。现在混在了json里面。看起来不舒服,而且有些字段丢失掉了。

进程号就丢失了。

控制日志输出格式

以为内这里配置的是logstashEncoder,它就把我们整个的日志信息转成了json直接发出去了。

我们首先要把这块替换掉。自己定义了一个pattern

但是还是作为一个字符串传出去了。kibana里面看到的可能就是一个字符串。
想让kibana按照格式切分开。每一段作为kibana里面可选的字段。

拆分是由logstash来做的

找到logstash的配置文件

在这里有段注释,添加你自己的过滤器。

我们添加过滤器来做转换。把字符串切成几段。然后告诉kibana每一段代表什么意思
grok是logstash的一个插件。作用就是把我们的日志切开。把一个大的长的字段,切成好多小的字段。

match首先要告诉要切什么字段

我要切的这个字段就是这个message字段。默认情况下是作为message字段输出到kibana里面的

现在要做的就是把message这个长的字段切成很多的小段。再单独作为一个字段 输出出去。

在github上看下grok的表达式有哪些。

每一个partten其实就是一个正则表达式。

我们上面配置的TIMESTAMP_ISO8601对应的就是一个正则表达式。

做time的字段 ,然后重新输出出去。

GREEDYDATA表示什么都可以。


字段都加上log为了区分开

重启测试

重启docker因为配置文件变化了。

orderAPi也重启一下。这样就会以新的格式去logStash去推日志信息。注意这里改的日志LogStash的日志格式,控制台输出的日志格式还是原来的,


自定义的字段显示出来了,作为新的字段加入到这边的列表内。

这个时候再看到的日志 和我们在控制台看到的就差不多了

把线程着一列也加进来。

结束

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

  1. Spring cloud微服务安全实战-6-6jwt改造之日志及错误处理(2)

    第一次请求失败了 打印出了403,第二次更新成功 现在只处理了403这种情况,还有一种情况就是401,就是当前用户需要做身份认证,你没有做身份认证. 401的处理 与403类似,也是在这里配置.Ent ...

  2. Spring cloud微服务安全实战-6-5jwt改造之日志及错误处理(1)

    在代码里,我们没有认证或者授权的filter.认证和授权的工作现在基本上完全由Spring Security的过滤器接管了. 本节就来看下 如何在Spring Security的过滤器链上加入我们自己 ...

  3. Spring cloud微服务安全实战_汇总

    Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ...

  4. 《Spring Cloud微服务 入门 实战与进阶》

    很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...

  5. Spring Cloud微服务安全实战_00_前言

    一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介:  二.最终形成的架 ...

  6. Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器

    上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ...

  7. Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务

    实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  8. Spring cloud微服务安全实战 最新完整教程

    课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ...

  9. Spring cloud微服务安全实战-6-8sentinel限流实战

    阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ...

  10. Spring cloud微服务安全实战-6-4权限控制改造

    授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...

随机推荐

  1. iptable千万不要yum remove iptables

    iptable千万不要运行yum remove iptables,进行卸载打开linux后发现没有firewalld和iptables,建议安装firewall 命令: yum install fir ...

  2. hdu3486Interviewe(二分是错的)(ST算法RMQ + 判定上下界枚举)

    题目大意是找最小的m使得前m段中每一段的最大值相加严格大于k,每一段长度为[n/m](n/m向下取整,多余的后半部分部分n-m*[n/m]不要) 先给一段我一开始的思路,和网上许多题解思路一样,但其实 ...

  3. bat echo 每行不同的颜色

    bat echo 每行不同的颜色 先看代码: @echo off SETLOCAL EnableDelayedExpansion for /F "tokens=1,2 delims=#&qu ...

  4. C++报错:全局变量重定义或是多次定义

    如何在C++中定义全局变量时避免重复定义呢? 只要在定义时尽量在.cpp文件中进行,而不要在.h 文件中定义,定义好了之后,可以在.h文件中利用extern关键字进行声明. 如果在.h文件中定义的话, ...

  5. hdu4767 Bell——求第n项贝尔数

    题意 设第 $n$ 个Bell数为 $B_n$,求 $B_n \ mod  \ 95041567$.($1 \leq  n  \leq  2^{31}$) 分析 贝尔数的概念和性质,维基百科上有,这里 ...

  6. 五.python小数据池,代码块的最详细、深入剖析

    一,id,is,== 在Python中,id是什么?id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是 ...

  7. arduino adc数模放大器

    http://ardui.co/archives/833 http://henrysbench.capnfatz.com/henrys-bench/arduino-voltage-measuremen ...

  8. Mixed Far-Field and Near-Field Source Localization Based on Subarray Cross-Cumulant

    基于子阵列互累积量(Cross-Cumulant)的远场和近场混合声源定位[1]. 文中采用Uniform linear array (ULA)阵列,将其分为两个互相重叠的子阵列,构建关于子阵列输出信 ...

  9. maven install

    1. install maven under ubuntu apt install maven 2 speed up package download vim ~/.m2/settings.xml & ...

  10. (LIS)最长上升序列(DP+二分优化)

    求一个数列的最长上升序列 动态规划法:O(n^2) //DP int LIS(int a[], int n) { int DP[n]; int Cnt=-1; memset(DP, 0, sizeof ...