IT袋

当前位置:主页 > 经验教程 > 硬件教程 >

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

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

时间:2023-12-22 19:25:13 来源:IT袋 作者:马勇
导读:SpringBoot整合ELK实现日志采集与监控,小编为网友们解答SpringBoot整合ELK实现日志采集与监控的方法内容,一起跟随小编看看吧! ELK是Elasticsearch、Logstash、Kibana他们三个组合起来可以搭建日志系统,本文主要讲

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

小编为网友们解答SpringBoot整合ELK实现日志采集与监控的方法内容,一起跟随小编看看吧!

ELK是Elasticsearch、Logstash、Kibana他们三个组合起来可以搭建日志系统,本文主要讲解使用docker安装ELK收集SoringBoot应用产生的日志

# 代码地址https://github.com/bangbangzhou/spring-boot-event-log-demo.git

应用场景

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

优点

  • 灵活性高:Spring Boot提供了丰富的日志模块和监控模块,可以根据具体需求选择合适的模块进行集成和配置,具有高度的灵活性。
  • 易于使用:Spring Boot提供了简化配置的方式,可以通过一些注解和属性文件来配置日志和监控模块,降低了配置的复杂度,易于使用。
  • 功能强大:ELK是一个功能强大的日志管理和监控工具,可以实现日志的采集、存储、搜索和分析等功能,支持生成报表和实时监控,可以满足各种日志和监控需求。
  • 扩展性强:Spring Boot提供了丰富的扩展点,可以通过自定义中间件和插件来扩展日志和监控功能,满足特定的业务需求。

ELK环境搭建

1.Elasticsearch、Logstash、Kibana作用

  • Elasticsearch:存储日志信息
  • Logstash: 日志收集,springboot利用Logstash把日志发送个Logstash,然后Logstash将日志传递给Elasticsearch。
  • Kibana:通过web端对日志进行可视化操作

使用Docker安装Elasticsearch

  • 下载Elasticsearch镜像
docker pull elasticsearch:7.6.2
  • 修改虚拟内存地址,否则可能出现内存过小无法启动
sysctl -w vm.max_map_count=262144
  • 创建文件夹
 mkdir -p  /mydata/elasticsearch/plugins  /mydata/elasticsearch/data
  • 注意要给/mydata/elasticsearch/data设置权限
chmod 777 /mydata/elasticsearch/data/
  • 启动Elasticsearch服务
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2
  • 安装IKAnalyzer中文分词器,并重新启动进入到容器
docker exec -it elasticsearch /bin/bash

下载插件

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

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

注意:在线下载可能比较慢,可以进行离线下载

  • 重启elasticsearch
docker restart elasticsearch

离线安装elasticsearch中插件

  • 1.下载elasticsearch-analysis-ik-7.6.2.zip
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
  • 2.上传到linux
  • 3.上传的linux复制到elasticsearch容器中
docker cp elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/
  • 4.安装插件
docker exec -it elasticsearch /bin/bash
elasticsearch-plugin install file:////elasticsearch-analysis-ik-7.6.2.zip
docker restart elasticsearch

查看防火墙状态

systemctl status firewalld

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

打开特点端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
  • 访问ES
http://192.168.150.102:9200

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

2. 使用Docker安装Logstash

  • 1.下载Logstash镜像
docker pull logstash:7.6.2
  • 2.创建/mydata/logstash
mkdir /mydata/logstash
cd /mydata/logstash
  • 3.在/mydata/logstash目录下添加Logstash配置文件logstash.conf
 vim logstash.conf

相关阅读