文章采集系统(本文介绍SpringBoot应用配合ELK进行日志收集(图))

优采云 发布时间: 2021-09-04 08:19

  文章采集系统(本文介绍SpringBoot应用配合ELK进行日志收集(图))

  本文介绍了 SpringBoot 使用 ELK 进行日志采集的应用。

  1.关于ELK1.1 简介

  我之前写过一篇文章介绍ELK日志采集程序。有兴趣的可以看看,点这里----->《ELK日志分析程序》。

  这里简单介绍一下ELK。 ELK有三个配合日志采集的组件,分别是:

  当然,它们中的许多现在都与 Beats 结合使用。我不会在这里过多描述。有兴趣的可以去官网看看。 Beats 有很多描述。

  1.2 安装

  笔者之前写过Linux环境下ELK的安装,如下:

  其他环境的安装方法类似,基本上都是下载压缩包解压的过程。

  2.SpringBoot 日志输出到 Logstash

  以logback日志为例。创建一个新项目并将 logstash-logback-encoder 依赖项添加到项目中。完整的 pom 显示在代码清单中。

  

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.2.RELEASE

com.dalaoyang

springboot_logstash

0.0.1-SNAPSHOT

springboot_logstash

springboot_logstash

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-devtools

runtime

org.springframework.boot

spring-boot-starter-test

test

net.logstash.logback

logstash-logback-encoder

5.3

org.springframework.boot

spring-boot-maven-plugin

  接下来新建一个logback-spring.xml文件,配置logback日志信息,注意这里配置的destination属性,输出要和logstash配置对应,否则不会采集,内容如下:

  

127.0.0.1:4560

UTC

{

"logLevel": "%level",

"serviceName": "${springAppName:-}",

"pid": "${PID:-}",

"thread": "%thread",

"class": "%logger{40}",

"rest": "%message"

}

  修改启动类,增加一个mvc方法,主要用于输出日志,如下图。

  package com.dalaoyang;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication

@RestController

public class SpringbootLogstashApplication {

Logger logger = LoggerFactory.getLogger(SpringbootLogstashApplication.class);

@GetMapping("test")

public void test(){

logger.info("测试初始一些日志吧!");

}

public static void main(String[] args) {

SpringApplication.run(SpringbootLogstashApplication.class, args);

}

}

  3.Logstash 配置

  logstash的配置如下,再次提醒,输入要对应刚才的配置,输出是local es:

  input {

tcp {

mode => "server"

host => "0.0.0.0"

port => 4560

codec => json_lines

}

}

output {

elasticsearch {

hosts => "localhost:9200"

index => "springboot-logstash-%{+YYYY.MM.dd}"

}

}

  4.测试

  打开kibana管理页面,添加刚刚创建的索引,如图。

  

  然后进入发现页面,选择刚才的索引,如下图。

  

  接下来在浏览器中多次访问输出项目日志的方法,并查询控制台,如下图。

  

  进入kibana查看后,不仅会显示日志内容,还会显示自定义属性。

  

  5.源代码

  源代码地址:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线