当前位置: 首页 > news >正文

sprngboot整合kabana

Spring Boot是一个开源框架,可以基于Spring框架快速开发和构建生产级别的应用程序。Kibana是一个可视化和交互式分析平台,用于检索和分析Elasticsearch集群中存储的数据。

下面是Spring Boot整合Kibana的基本步骤:

  1. 添加Maven依赖

在pom.xml文件中添加以下依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency><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.3</version>
</dependency>
  1. 配置logback.xml文件

在src/main/resources目录下创建logback.xml文件,并添加以下内容:

<configuration><appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>localhost:5044</destination><encoder class="net.logstash.logback.encoder.LogstashEncoder" /></appender><root level="INFO"><appender-ref ref="STASH" /></root></configuration>

该配置将日志数据发送到Kibana中。

  1. 配置application.properties文件

在application.properties文件中添加以下配置:

spring.data.elasticsearch.cluster-nodes=localhost:9300
spring.data.elasticsearch.repositories.enabled=true
logging.logstash.url=logstash://localhost:5044

该配置将日志数据存储到Elasticsearch中。

  1. 创建ElasticsearchRepository

创建一个ElasticsearchRepository的接口,用于操作Elasticsearch中的数据。例如:

public interface LogRepository extends ElasticsearchRepository<Log, String> {
}

其中,Log是一个Java类,用于表示日志实体。

  1. 创建Controller

创建一个Controller,用于展示存储在Elasticsearch中的日志数据。例如:

@RestController
@RequestMapping("/logs")
public class LogController {@Autowiredprivate LogRepository logRepository;@GetMapping("/search")public List<Log> search(String query) {return logRepository.findByMessageContaining(query);}
}

其中,findByMessageContaining(query)是ElasticsearchRepository中自带的方法,用于查询包含特定文本的日志数据。

  1. 启动应用程序

在终端中输入以下命令,启动应用程序:

mvn spring-boot:run
  1. 访问Kibana

在浏览器中访问Kibana,可以看到存储在Elasticsearch中的日志数据。

以上就是Spring Boot整合Kibana的基本流程。

http://www.lryc.cn/news/166317.html

相关文章:

  • PostgreSQL 数据备份恢复
  • 线性代数的本质(七)——特征值和特征向量
  • c语言进阶部分详解(指针初阶)
  • Socks5代理IP在跨境电商与网络游戏中的网络安全应用
  • Gin框架---基础综述
  • 排序算法-快速排序
  • 【Spring容器的启动过程】
  • 普通二本+转专业学计算机是什么感受
  • 力扣1、两数之和
  • 一百七十三、Flume——Flume写入HDFS后的诸多小文件问题
  • Android.mk中C++使用
  • K8S:Pod概念、分类及相关的策略
  • 【Java杂谈】#1 【MCA JAVA后端架构师】
  • Vue3路由
  • Android Studio的笔记--aidl实现和调用
  • 大模型从入门到应用——LangChain:代理(Agents)-[工具包(Toolkit)]
  • VR全景算不算好的创业项目?有哪些特性?
  • Spring系列文章:Spring集成Log4j2⽇志框架、整合JUnit
  • flink的网络缓冲区
  • 产品经理学习笔记
  • 【深入理解Linux锁机制】七、互斥体
  • UGUI画布加载优化
  • SEC的下一步目标是什么?过时的证券法与加密货币行业,哪个会被先淘汰?
  • Kafka3.0.0版本——消费者(独立消费者消费某一个主题数据案例__订阅主题)
  • 笔记本多拓展出一个屏幕
  • Redis 高可用及持久化
  • Java高级: 反射
  • 【计算机网络】什么是WebSocket?
  • Apinto 网关: Go语言实现 HTTP 转 gRPC
  • 【管理运筹学】第 7 章 | 图与网络分析(4,最大流问题)