1:安装elasticsearch
2:安装kibana
3:安装logstash
配置logstash springboot-logstash.conf文件如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14input { 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复