Spring Boot项目整合ELK、Kafka

本篇文章主要介绍使用Spring Boot整合log4j,配合ELK(Elasticsearch , Logstash, Kibana)整合Kafka完成日志收集,应用场景比较多的是分布式项目,这样可以直接收集各个节点的日志到一起,便于错误日志查看和分析业务。

整个流程如下:

使用log4j的appender发送数据到kafka到topic,topic再发送到logstash,然后经过elasticsearch分析处理后到kibana页面做查询展示。

环境准备:

1、安装ELK

2、安装kafka

3、Spring Boot项目demo

简要步骤:

①、修改logj配置文件

②、加入日志打印代码

③、启动项目访问页面

④、使用kafka查看消费者打印

⑤、使用kibana建立日志索引

⑥、使用kibana查询日志、es语法查询

 

详细步骤:

一、修改logj配置文件

注:本项目demo是基于之前到Spring Boot入门教程的一个整合JPA 和 Thymeleaf示例。

Spring Boot2.0系列教程之 JPA 和 Thymeleaf 实践(五):Spring Boot2.0系列教程之 JPA 和 Thymeleaf 实践(五)

配置文件logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
   <springProperty scope="context" name="LOG_HOME" source="logback.file.path" defaultValue="E:\a_hadoop\All_logs"/>
   <springProperty scope="context" name="LOG_LEVEL" source="logback.level" defaultValue="info"/>
   <springProperty scope="context" name="SERVER_NAME" source="spring.application.name" defaultValue="boot_demo"/>


   <!--<property name="LOG_HOME" value="D:/application/logs/enett" />-->

   <!--<property name="LOG_HOME" value="/Users/ailk/test/ysl" />-->
   <property name="SEF_Level" value="INFO" />
   <!--文件输出的格式设置 -->
   <appender name="FILE"
           class="ch.qos.logback.core.rolling.RollingFileAppender">
      <!-- 文件输出的日志 的格式 -->
      <encoder>
         <pattern>
            ${SERVER_NAME} ${NODE_FLAG} %level %date{yyyy-MM-dd HH:mm:ss.SSS} %logger[%line] %msg%n
         </pattern>
      </encoder>


      <!-- 配置日志所生成的目录以及生成文件名的规则 在logs/mylog-2016-10-31.0.log -->
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <fileNamePattern>${LOG_HOME}/${SERVER_NAME}/info/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
         <timeBasedFileNamingAndTriggeringPolicy
               class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <!-- 最大64MB 超过最大值,会重新建一个文件-->
            <maxFileSize>10 MB</maxFileSize>
         </timeBasedFileNamingAndTriggeringPolicy>
      </rollingPolicy>
   </appender>









   <!--控制台输出的格式设置 -->
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      <!-- 控制台输出的日志 的格式 -->
      <encoder>
         <pattern>
            ${SERVER_NAME} ${NODE_FLAG} %level %date{yyyy-MM-dd HH:mm:ss.SSS} %logger[%line] %msg%n
         </pattern>
      </encoder>
      <!-- 只是DEBUG级别以上的日志才显示 -->
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
         <level>DEBUG</level>
      </filter>
   </appender>






    操作日志
   <appender name="DruidLog"
           class="ch.qos.logback.core.rolling.RollingFileAppender">
      <!-- 文件输出的日志 的格式 -->
      <encoder>
         <pattern>
            ${SERVER_NAME} ${NODE_FLAG} %level %date{yyyy-MM-dd HH:mm:ss.SSS} %logger[%line] %msg%n
         </pattern>
      </encoder>


      <!-- 配置日志所生成的目录以及生成文件名的规则 在logs/mylog-2016-10-31.0.log -->
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
         <fileNamePattern>${LOG_HOME}/${SERVER_NAME}/Druid/DruidLog-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
         <timeBasedFileNamingAndTriggeringPolicy
               class="ch.qos.logback.cor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值