ELK系统搭建并与spring boot集成

一、ELK含义及其作用:

我们知道如果一旦使用spring boo启动jar包的话,启动时一般会使用nohup方式启动,而这种方式通常会将日志放到.out文件中,而当.out文件过大时,查看日志就非常麻烦了,那么一般我们会使用ELK系统将日志存储在Elasticsearch中,ELK为以下三者单词首字母,除了有ELK还有EFK。这里主要介绍ELK日志系统的搭建
  • Elasticsearch:用于存储收集到的日志信息;
  • Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给ogstash,Logstash再把日志转发给Elasticsearch;
  • Kibana:通过Web端的可视化界面来查看日志。

二、开始搭建:

  • 使用liunx,创建目录
    mkdir /usr/local/docker/elk

  • 创建docker-compose.yml文件

  • 编辑docker-compose.yml文件

    version: '3'
    services:
    elasticsearch:
      image: elasticsearch:7.7.0
      container_name: elasticsearch
      environment:
        - "cluster.name=elasticsearch" #设置集群名称为elasticsearch
        - "discovery.type=single-node" #以单一节点模式启动
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
      volumes:
        - /usr/local/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载
        - /usr/local/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载
      ports:
        - 9200:9200
    kibana:
      image: kibana:7.7.0
      container_name: kibana
      depends_on:
        - elasticsearch #kibana在elasticsearch启动之后再启动
      environment:
        - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址
      ports:
        - 5601:5601
    logstash:
      image: logstash:7.7.0
      container_name: logstash
      volumes:
        - /usr/local/docker/elk/logstash/logstash
posted @ 2023-10-14 22:10  feiwanglantian  阅读(2)  评论(0)    收藏  举报  来源