springcloud项目使用elk搭建统一日志中心实践之应用通过logback接入

前言

续上篇,elk相关集群都搭建好了,现在就将日志输入到elk使用

框架

这里的程序都是使用springcloud框架版本如下

        <spring-boot.version>2.2.10.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.5.RELEASE</spring-cloud-alibaba.version>

依赖

在应用中引入依赖包

        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.2</version>
        </dependency>

修改logback配置

增加以下配置

<!-- logstash设置 -->
	<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<param name="Encoding" value="UTF-8"/>
		<!-- logstash服务器ip -->
		<remoteHost>10.196.201.80</remoteHost>
		<!-- logstash tcp 端口-->
		<port>4569</port>
		<!-- <filter class="com.program.interceptor.ELKFilter"/>-->//引入过滤类
		<!-- encoder is required -->
		<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
			<customFields>{"appname":"rocketcenter"}</customFields> // 索引名
		</encoder>
	</appender>

	<root level="INFO">
		<appender-ref ref="STDOUT" />
		<appender-ref ref="INFO_FILE" />
		<appender-ref ref="ERROR_FILE" />
		<appender-ref ref="logstash"/>
	</root>
	<logger name="com.alibaba.nacos.client.naming" level="WARN" />
	<logger name="RocketmqClient" level="WARN"/>
	<logger name="RocketmqRemoting" level="WARN"/>

参数解读:
remoteHost为logstash的ip
port为上篇logstash配置的tcp端口号
customFields中是json格式,appname与logstash的appname相对应,用于创建索引,不同的应用有不同的appname,因为我有很多应用,相当于根据appname来区分应用

总结

基本上就是这样了,是不是很简单呢?

当我们使用log.info() 、log.error()等方法打印日志,日志就会同步输送到elk日志中心来了

我们就可以在kibana上查询日志

配置索引

在这个页面配置我们的索引,以下这些是我已经配置过了的,所以可以直接看到
这索引和我们配置的appname有关系。
我这里是相当于按不同应用和月份建索引了,例如,export-2021.12.23
在这里插入图片描述

查询日志

我们可以在Search那里搜索我们想要的日志。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值