springboot接入elk日志平台

4 篇文章 0 订阅
3 篇文章 0 订阅

1 ELK简介

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana 。现在新增了一个轻量级的日志收集处理工具FileBeat,Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

2 应用架构图

springboot应用可以使用TCP连接将日志传输至logstash中,处理后输入es集群中待查询。
应用架构图

3 项目配置

3.1 引入依赖

<dependency>
		<groupId>net.logstash.logback</groupId>
		<artifactId>logstash-logback-encoder</artifactId>
		<version>5.3</version>
</dependency>
<dependency>
		<groupId>ch.qos.logback</groupId>
		<artifactId>logback-core</artifactId>
		<version>1.2.3</version>
</dependency>
<dependency>
		<groupId>ch.qos.logback</groupId>
		<artifactId>logback-classic</artifactId>
		<version>1.2.3</version>
</dependency>
<dependency>
		<groupId>ch.qos.logback</groupId>
		<artifactId>logback-access</artifactId>
		<version>1.2.3</version>
</dependency>

3.2 增加应用配置项

application.properties文件增加如下配置,标识日志的项目来源。

spring.application.name=xxx      #项目名称

application-env.properties文件增加如下配置,接收日志的服务器地址

logstash.host=10.253.128.4:4567,10.253.128.5:4567

3.3 修改日志配置信息

logback-spring.xml中增加如下配置

<springProperty scope="context" name="logstashHost" source="logstash.host" defaultValue="127.0.0.1:4567"/>
<springProperty scope="context" name="appname" source="spring.application.name" defaultValue="xxx"/> #项目名称
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>${logstashHost}</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
        <includeCallerData>true</includeCallerData>
        <!--Spring Cloud Sleuth 使用-->
        <includeMdcKeyName>traceId</includeMdcKeyName>
        <includeMdcKeyName>spanId</includeMdcKeyName>
        <includeMdcKeyName>spanExportable</includeMdcKeyName>
    </encoder>
    <keepAliveDuration>5 minutes</keepAliveDuration>
    <connectionStrategy> <roundRobin> <connectionTTL>5 minutes</connectionTTL> </roundRobin> </connectionStrategy>
    <reconnectionDelay>1 second</reconnectionDelay>
    <writeBufferSize>16384</writeBufferSize>
    <queueSize>1048576</queueSize>
</appender>
<springProfile name="prod">
    <root level="info">
         <appender-ref ref="LOGSTASH" /> #引用
    </root>
</springProfile>

3.4 loagstash配置

配置好TCP监听即可接收到应用日志

input {
    tcp {
        port => 4567
        codec => json_lines
    }
}
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值