码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot服务集成ELK


    文章目录

      • 前置环境
      • 部署步骤
        • pom.xml
        • defaults-logstash.xml
        • logback-spring.xml
        • bootstrap.yml
      • 服务部署
        • SpringBoot启动服务

    前置环境

    EleasticSearch7.2.0

    Kibana7.2.0

    Logstash7.2.0

    部署步骤

    pom.xml

    <dependency>
    	<groupId>net.logstash.logbackgroupId>
    	<artifactId>logstash-logback-encoderartifactId>
    	<version>6.5version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    确认自己项目中是否存在 jackson依赖,一般情况下,如果有 redission、nacos的依赖就不需要引用。
    注意logback的版本和jackson得版本存在关联差异性。我这边的对照版本是 jackson 2.11.4 => logback 6.5

    defaults-logstash.xml

    
    <included>
        
        
        
        <springProperty scope="context" name="logstash.ips" source="jamel.logstash.ips" defaultValue="127.0.0.1:5044"/>
        <springProperty scope="context" name="logstash.connectionTTL" source="jamel.logstash.connectionTTL"
                        defaultValue="5 minutes"/>
    
        
        <appender name="LOGSTASH_APPENDER" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
            <includeCallerData>trueincludeCallerData>
            <destination>${logstash.ips}destination>
            
            
            <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
                <providers>
                    <pattern>
                        <omitEmptyFields>trueomitEmptyFields>
                        
                        <pattern>
                            {
                            "severName": "${spring.application.name}",
                            "severIp": "%ip",
                            "userId": "%userId",
                            "port": "${server.port}",
                            "level": "%p",
                            "marker": "%xMarker",
                            "method": "%xLogger.%xMethod:%xLine",
                            "message": "%m",
                            "exception": "${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}",
                            "createTime": "%d{yyyy-MM-dd HH:mm:ss.SSS}"
                            }
                        pattern>
                    pattern>
                providers>
            encoder>
            
            <connectionStrategy>
                <roundRobin>
                    <connectionTTL>${logstash.connectionTTL}connectionTTL>
                roundRobin>
            connectionStrategy>
        appender>
    included>
    
    • 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
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    logback-spring.xml

    
    <configuration>
        <include resource="com/jamel/log/xml/defaults.xml"/>
        
        <include resource="com/jamel/log/xml/defaults-logstash.xml"/>
    
        <springProfile name="dev,prod">
            <root level="${log.level.console}">
                <appender-ref ref="LOGSTASH_APPENDER"/>
            root>
        springProfile>
    configuration>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    bootstrap.yml

    jamel:
      logstash:
        ips: 47.107.76.32:5044
    
    • 1
    • 2
    • 3

    服务部署

    SpringBoot启动服务

    查看kibana情况,至此表示日志已经从springboot推送到es。可以通过kibana查看
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Allegro走线自动关闭其它飞线操作指导
    [Ubuntu 18.04] 搭建文件夹共享之Samba服务器
    基础复习——activity的跳转-启动-结束——Activity的生命周期——Activity的启动模式(配置文件里面设置&代码里面设置)——重点...
    java毕业设计旧物置换网站(附源码、数据库)
    【无标题】
    Mysql索引操作
    MQ消息队列(四)——RabbitMQ进阶,惰性队列
    Spring Data Common 之 Repository
    springboot利用mybatis批量写入clickhouse报错及解决方法
    Ikigai: 享受生命的意义
  • 原文地址:https://blog.csdn.net/Jamel_LiToo/article/details/126667077
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号