专业的编程技术博客社区

网站首页 > 博客文章 正文

Springboot整合ELK日志收集详解步骤

baijin 2024-08-26 10:20:24 博客文章 4 ℃ 0 评论

环境:spring boot2.3.10.RELEASE + ElasticSearch7.8.0 + Logstash7.8.0 + Kibana7.8.0


ElasticSearch安装配置

  • 下载
  • 目录说明
  • 启动
// 运行
%elasticsearch_home%\bin\elasticsearch.bat
  • 查看运行状态

默认端口是9200,我这里配置的是集群环境修改了端口,需要修改端口在
%elasticsearch_home%\config\elasticsearch.yml文件中修改。


Kibana安装配置

  • 下载
  • 配置

修改配置文件:%kibana_home%\config\kibana.yml

elasticsearch.hosts: ["http://localhost:9201"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
  • 启动

成功。

Logstash安装配置

  • 下载

文档地址:

  • 配置

%logstash_home%\bin 下新建logstash.conf配置文件,内容如下:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
    type => "es-demo"
  }
}
output {
  if [type] == "es-demo" {
    elasticsearch {
      hosts => "localhost:9201"
      index => "elk-demo-%{+YYYY.MM.dd}"
    }
  }
}

这里根据不同的type配置不同的输出。index为创建索引名。这里配置的日志收集方式是tcp,我们也可以通过file的方式。查看官方文档还可以配置更多的方式。

  • 启动
logstash -f logstash.conf

到此 ELK 的整合就完成了。

springboot项目

  • 依赖
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  <version>6.6</version>
</dependency>
  • logback-spring.xml配置
  • 应用配置
logging:
  level:
    com.pack: debug
    org.springframework.data.elasticsearch.core: debug
---
spring:
  profiles:
    active:
    - dev
  • 测试接口
@RestController
@RequestMapping("/elk")
public class ElkController {
	
  private static Logger logger = LoggerFactory.getLogger(ElkController.class) ;
	
  @GetMapping("/index")
  public Object index(String info, Integer a) {
    logger.info("你输入的是:{}", info) ;
    if (a == 0) {
      logger.error("发生错误了: {}", new RuntimeException("数值不正确")) ;
    }
    return "success" ;
  }
	
}

请求后查看Kibana。

1、创建索引模式

这里可以和索引名完全一样,也可以通过通配符配置。接着 下一步

创建完成后,进入下面界面

2、Discover

在这里你就可以进行各种操作了。

完毕!!!

给个关注+转发呗谢谢

SpringBoot配置文件你了解多少?

使用Spring Boot Admin实时监控你的系统

Spring Boot Security防重登录及在线总数

SpringBoot多数据源配置详解

SpringBoot项目查看线上日志

SpringBoot邮件发送示例

Springboot整合openfeign使用详解

springboot mybatis jpa 实现读写分离

Springboot整合RabbitMQ死信队列详解

SpringBoot RabbitMQ消息可靠发送与接收

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表