当前位置:   article > 正文

springboot项目日志通过logback+logstash同步到ES_logstash springboot

logstash springboot

**

springboot项目日志通过logback+logstash同步到ES

**
主要内容

直接上干货 es和logstash安装自己去百度哦
这里假设大家是已经安装好了es和对应版本的logstash

logstash配置文件

input {
  tcp {
    mode => "server"
    host => "127.0.0.1"
    port => 4560 #监听端口号
  }
}

output {
  elasticsearch {
	action => "index" # es里的新增命令
    hosts => "localhost:9200" #同步到es的地址
    index => "logstash-%{+YYYY.MM}" #存储日志的索引库名称,不存在的话会自动创建
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

springBoot项目的依赖(其余依赖根据自身项目自己添加)这里主要讲解日志同步es功能

<!--        logstash-logback-encoder就是转码后向logstash中输入的依赖-->
        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.3</version>
        </dependency>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

logback.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!--该日志将日志级别不同的log信息保存到不同的文件中 -->
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />

    <springProperty scope="context" name="springAppName"
                    source="spring.application.name" />

    <!-- 日志在工程中的输出位置 -->
    <property name="LOG_FILE" value="${BUILD_FOLDER:-build}/${springAppName}" />

    <!-- 控制台的日志输出样式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />

    <!-- 控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <!-- 日志输出编码 -->
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- logstash远程日志配置-->
    <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--        127.0.0.1:4560 ->监听端口号-->
        <destination>127.0.0.1:4560</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">

            <customFields>{"server_name":"peanut-goods-service"}</customFields>
        </encoder>
    </appender>

    <!-- 日志输出级别 -->
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="logstash" />
    </root>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

放入resources目录下
在这里插入图片描述

Kibana中查看日志信息

在这里插入图片描述

Kibana界面查看

进入到Kibana后按图所示点击。创建索引表达式
在这里插入图片描述

选择没有时间过滤后,点击“Create index pattern”按钮

在这里插入图片描述

点击菜单中Discover,选择右侧logstash-2023.11

在这里插入图片描述

IDEA中控制台打印的原日志内容是下面内容。Logstash作用就是把下面内容转换为上面Elasticsearch存储的内容。在中间做了数据格式转换,收集数据放入Elasticsearch中的工作。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/836694
推荐阅读
相关标签
  

闽ICP备14008679号