SpringBoot 整合 ELK 实现日志采集与监控

发布于 2024-07-18
1428

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

SpringBoot 整合 ELK 实现日志采集与监控

本文介绍了如何使用 ELK(Elasticsearch、Logstash、Kibana)搭建日志系统,并通过 Docker 实现 ELK 环境的安装和配置,以采集和监控 SpringBoot 应用产生的日志。

应用场景与优点

应用场景:

  • Web 应用日志监控
  • 系统性能监控
  • 错误信息监控

优点:

  • 灵活性高:可根据需求选择日志和监控模块。
  • 易于使用:简化配置,降低复杂度。
  • 功能强大:支持日志采集、存储、搜索、分析和实时监控。
  • 扩展性强:支持自定义插件扩展功能。

ELK 环境搭建

1. Elasticsearch

通过 Docker 安装 Elasticsearch,并配置虚拟内存、文件夹权限和中文分词插件 IKAnalyzer。启动服务后,可通过 http://192.168.150.102:9200 访问。

2. Logstash

使用 Docker 安装 Logstash,并在配置文件中设置了多个 TCP 输入端口(4560、4561、4562、4563),分别处理不同类型的日志(debug、error、business、record)。Logstash 将日志发送至 Elasticsearch,并使用按类型和日期命名的索引。

3. Kibana

通过 Docker 安装 Kibana 并启动服务,配置 Elasticsearch 连接后,可通过 http://192.168.150.102:5601 访问。

SpringBoot 配置

在 SpringBoot 项目中,通过 logback.xml 文件配置日志输出,并定义日志级别和输出端口(如 4560)。在 application.yml 中进一步定义日志文件路径和配置文件。

通过 Postman 访问接口可产生日志,日志会被发送到 Logstash,最终在 Kibana 中进行可视化展示。

Kibana 日志查看

在 Kibana 中创建索引后,可以通过 Discovery 页面查看日志,并进行过滤和分析,从而快速定位所需日志信息。

代码示例与链接

本文所述代码示例可通过以下地址获取:GitHub 项目地址

springboot葵花宝典