Elasticsearch7.X-Springboot整合ELK进行日志收集(dockercompose安装)<1>

来源:Elasticsearch7.X-dockercompose安装Springboot整合ELK进行日志收集

请扫码关注查看更多Elasticsearch7.X系列文章!

ELK简介

     ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

      Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

     Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。从多台服务器上传输和转发日志,并对日志进行丰富和解析,是一个数据管道,提供了大量插件来支持数据的输入和输出处理,并负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

     Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,Kibana完全使用HTML和Javascript编写,它利用Elasticsearch 的RESTful API来实现其强大的搜索能力,将结果显示位各种震撼的图形提供给最终的用户。可以帮助汇总、分析和搜索重要数据日志,提供了强大而美观的数据可视化。

环境安装

     

1、查看镜像

首先在elastic官方提供的地址查看elk镜像

在如下地址可以查看到官方发布的docker镜像

https://www.docker.elastic.co/#

图片

图片

图片

图片

2、docker-compose方式安装

下面以7.11为例,docker-compose.yml文件如下:

version: '2'

services:

  elasticsearch:

    image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1

    container_name: elk_es7.11.1

    environment:

      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"

      - discovery.type=single-node

    volumes:

      - $PWD/elasticsearch/data:/home/docker/elk/elasticsearch/data

    hostname: elasticsearch

    restart: always

    ports:

      - "9200:9200"

      - "9300:9300"

    networks:

      - elk

  kibana:

    image: docker.elastic.co/kibana/kibana:7.11.1

    environment:

      - ELASTICSEARCH_URL=http://elasticsearch:9200 #elasticsearch 

    hostname: kibana

    depends_on:

      - elasticsearch  #

    restart: always

    ports:

      - "5601:5601"

    networks:

      - elk

  logstash:

    image: docker.elastic.co/logstash/logstash:7.11.1

    environment:

      - elasticsearch.hosts=http://elasticsearch:9200

    container_name: elk_logstash7.11.1 

    volumes:

     - $PWD/elk/logstash/conf.d/logstash.conf:/usr/share/logstash/pipeline/logstash.conf      - $PWD/logstash/config/logstash.yml:/usr/share/elk/logstash/config/logstash.yml

    hostname: logstash

    restart: always

    depends_on:

      - elasticsearch  #

    ports:

      - "4560:4560"

      - "9600:9600"

      - "5044:5044"

    networks:

      - elk

networks:

  elk:

    driver: bridge

启动容器

docker-compose up -d

查看端口

图片

官方安装参考:

https://www.elastic.co/guide/en/logstash/current/docker-config.html

图片

3、浏览器访问kibana是否成功

在浏览器输入http://你的服务器IP:5601/

图片

进行相关端口测试后没问题进行下面的步骤:

springboot-logstash环境搭建

环境说明:springboot2.4.5、ES7.11、logstash7.11、logback6.6

1、添加maven

<dependency>

<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>

</dependency>

2、logback-spring.xml添加日志打印

<appender name="LOGSTASH"

class="net.logstash.logback.appender.LogstashTcpSocketAppender">

<destination>192.168.244.129:4560</destination>

<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">

<encoder >

    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}

[service:${springAppName:-}]

[traceId:%X{X-B3-TraceId:-},spanId:%X{X-B3-SpanId:-},parentSpanId:%X{X-B3-ParentSpanId:-},exportable:%X{X-Span-Export:-}]

[%thread] %-5level %logger{50} - %msg%n</pattern>

    <charset>UTF-8</charset>

</encoder>

</appender>

3、启动springboot项目

4、请求测试接口

图片

5、查看elasticsearch的日志数据

  • 新生成的索引名

图片

  • 下面为索引保存的数据

图片

如果觉得文章能帮到您,欢迎关注微信公众号:“蓝天Java大数据” ,共同进步!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值