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那里搜索我们想要的日志。
在这里插入图片描述

在Spring Cloud中接入ELK(Elasticsearch、Logstash、Kibana)可以通过集成Logstash和Kibana来实现。 首先,你需要在你的Spring Cloud项目中添加Logstash依赖,例如fc-gateway-zuul、fc-service-portal和fc-service-screen。然后,你需要启动这些服务,并确保它们将日志输出到Logstash。 接下来,你需要启动Elasticsearch和Kibana。Elasticsearch是一个用于存储和搜索日志数据的分布式搜索和分析引擎,而Kibana则是一个用于可视化和分析日志数据的工具。你需要配置Logstash将数据发送到Elasticsearch,并使用Kibana来查看和搜索日志数据。 在你的Spring Cloud项目中,你可以使用Logstash的日志输出功能将日志发送到Logstash服务器。通过在Logstash的配置文件中指定接收日志的端口和协议,你可以让Logstash接收来自Spring Cloud应用程序的日志数据。然后,你可以在Kibana中配置Logstash索引模式,以便对日志数据进行搜索和分析。 通过在你的Spring Cloud项目中添加Logstash和Kibana的集成,你可以使用Kibana来查看和搜索你的应用程序的日志,以便于进行故障排除和性能监控。 在你的Spring Cloud项目中,你可以通过在控制器方法中添加日志语句,并确保将日志级别设置为合适的级别,从而记录日志。这样,你就可以在Kibana中查看和搜索这些日志。 总之,通过在Spring Cloud项目中集成Logstash和Kibana,你可以方便地将日志数据发送到Elasticsearch,并使用Kibana来可视化和分析这些日志数据。这样可以帮助你更好地理解和监控你的应用程序的运行情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值