我是靠谱客的博主 孤独眼睛,最近开发中收集的这篇文章主要介绍springboot整合LogstashTcpSocketAppender日志保存到ELK,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1:安装elasticsearch
2:安装kibana
3:安装logstash
配置logstash springboot-logstash.conf文件如下:
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日志
<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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复