我是靠谱客的博主 孤独眼睛,这篇文章主要介绍springboot整合LogstashTcpSocketAppender日志保存到ELK,现在分享给大家,希望可以做个参考。

1:安装elasticsearch
2:安装kibana
3:安装logstash
  配置logstash springboot-logstash.conf文件如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  input {       tcp {         mode => "server"         host => "127.0.0.1"         port => 4560         codec => json_lines       }     }     output {         elasticsearch {         hosts => "127.0.0.1:9200"         index => "springboot-prod-log-127.0.0.1-%{+YYYY.MM.dd}"       }     }


4:配置springboot logback日志

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    <appender name="logStash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">         <destination>127.0.0.1:4567</destination>         <!-- 日志输出编码 -->         <encoder charset="UTF-8"                  class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">             <providers>                 <timestamp>                     <timeZone>UTC</timeZone>                 </timestamp>                 <pattern>                     <pattern>                         {                         "createTime": "%d{yyyy-MM-dd HH:mm:ss.SSS}",                         "flag":"%X{flag}",                         "logIp":"%X{ip}",                         "msg":"%msg",                         "cacheOpt":"%X{cacheOpt}",                         "cacheValSize":"%X{cacheValSize}",                         "className":"%X{className}",                         "clientIp":"%X{clientIp}",                         "clientType":"%X{clientType}",                         "connCount":"%X{connCount}",                         "costTime":"%X{costTime}",                         "isErr":"%X{isErr}",                         "errName":"%X{errName}",                         "keyOrSql":"%X{keyOrSql}",                         "methodName":"%X{methodName}",                         "restUrl":"%X{restUrl}",                         "step":"%X{step}",                         "traceId" : "%X{X-B3-TraceId:-}",                         "parentSpanId" : "%X{X-B3-ParentSpanId:-}",                         "spanId" : "%X{X-B3-SpanId:-}",                         "sysName": "${springAppName:-}",                         "logLever": "%level",                         "thread": "%thread",                         "stack_trace": "%exception"                         }                     </pattern>                 </pattern>             </providers>         </encoder>     </appender>


以上的方式是java项目直接把日记写到logstash,还有一种是通过logstash去日志的具体路径采集,不过logstash相对filebeat需要很多内存,故这种方案是简单方法,
从长远来看,建议采用filebeat+elk(系统做大了可以采用kafka,可以参考这篇文章:https://blog.csdn.net/ffyyhh995511/article/details/103721376)

 

最后

以上就是孤独眼睛最近收集整理的关于springboot整合LogstashTcpSocketAppender日志保存到ELK的全部内容,更多相关springboot整合LogstashTcpSocketAppender日志保存到ELK内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部