400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

SpringBoot整合elk

一、elk 简介

二、elk的安装

我们采用的 docker 镜像安装。

#下载镜像
docker pull sebp/elk
#启动镜像 , 指定es的内存
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 -it --name elk 2fbf0a30426d

需要修改 logstash 配置,新建命令窗口,进行下面的docker命令

#通过exec命令进入容器
docker exec -it elk /bin/bash

进入容器后,修改 /etc/logstash/conf.d/02-beats-input.conf

input {
    tcp {
        port => 5044
        codec => json_lines

    }

}
output{
    elasticsearch {
    hosts => ["localhost:9200"]

    }

}

保存后,我们使用 control + P + Q 退出容器。然后重启容器,让我们的配置生效。

docker restart elk

我们访问http://127.0.0.1:5601

Spring Boot 整合 elk

三、创建工程

创建工程springboot-elk ,并使用logback 记录日志。

1. pom.xml



    4.0.0

    com.gf
    springboot-elk
    0.0.1-SNAPSHOT
    jar

    springboot-elk
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
         
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            ch.qos.logback
            logback-classic
        

        
            net.logstash.logback
            logstash-logback-encoder
            5.2
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        
    

 

2. 启动类

@RestController
@SpringBootApplication
public class SpringbootElkApplication {

    private final static Logger logger = LoggerFactory.getLogger( SpringbootElkApplication.class );

    public static void main(String[] args) {
        SpringApplication.run(SpringbootElkApplication.class, args);
    }

    @GetMapping("/{name}")
    public String hi(@PathVariable(value = "name") String name) {
        logger.info( "name = {}" , name );
        return "hi , " + name;
    }
}

3. logback-spring.xml




    

    

    
    

    
    

    
    
        
            INFO
        
        
        
            ${CONSOLE_LOG_PATTERN}
            utf8
        
    

    
    
        127.0.0.1:5044
        
        
            
                
                    UTC
                
                
                    
                        {
                        "severity": "%level",
                        "service": "${springAppName:-}",
                        "trace": "%X{X-B3-TraceId:-}",
                        "span": "%X{X-B3-SpanId:-}",
                        "exportable": "%X{X-Span-Export:-}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "rest": "%message"
                        }
                    
                
            
        
    

    
    
        
        
    

启动工程,日志会存入elasticsearch中,通过Kibana 的web界面,配置后,我们就可看到,下面我简单的修改下配置。

三、配置 pattern

配置 pattern 输入*,匹配所有数据。

Spring Boot 整合 elk

选择时间@timestamp,这样数据展示会以时间排序

Spring Boot 整合 elk

好了 ,点击discover,就可以看到我们springboot-elk项目的日志信息了。

Spring Boot 整合 elk

源码 : https://github.com/gf-huanchupk/SpringBootLearning

欢迎关注我的公众号《程序员果果》,关注有惊喜~~


文章名称:SpringBoot整合elk
链接地址:http://www.bluegullmedia.com/article/ggjegj.html

其他资讯

让你的专属顾问为你服务

0.0405s