SpringBoot+Docker快速集成ELK

一、Docker安装ELK

在Docker运行ELK后,最终文件结构如下
文件结构

elasticsearch
   |- data
logstash
   |- conf
      |- logstash.conf
stack.yml
start.bat

步骤1:创建elasticsearch文件夹,在里面在创建一个data文件夹
步骤2:创建logstash文件夹,在里面创建conf文件夹,在conf文件夹里创建logstash.conf文件,内容如下:

input {
	tcp {
		mode => "server"
		port => 5044
		codec => json_lines
	}
}
output {
	elasticsearch {
		hosts => ["elasticsearch:9200"]
		action => "index"
		index => "applog"
	}
	stdout {
		codec => rubydebug
	}
}

步骤3:创建stack.yml,内容如下:

version: '3.1'

services:

  elasticsearch:
    image: elasticsearch:6.8.7  
    environment:
      discovery.type: single-node
    networks:
      elk-network:
        aliases:
          - elasticsearch
    volumes:
      - ./elasticsearch/data:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300
      
  kibana:
    image: kibana:6.8.7  
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
      XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED: "false"
    networks:
      elk-network:
        aliases:
          - kibana
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch
      
  logstash:
    image: logstash:6.8.7  
    environment:
      XPACK_MONITORING_ENABLED: "false"
      XPACK_MONITORING_ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    networks:
      elk-network:
        aliases:
          - logstash
    volumes:
      - ./logstash/conf:/usr/share/logstash/pipeline
    ports:
      - 5044:5044
    depends_on:
      - elasticsearch

networks:
  elk-network:
    driver: bridge

步骤4:创建start.bat脚本文件,内容如下:

docker-compose -f stack.yml up
pause;

步骤5:双击start.bat启动

二、SpringBoot中发送日志到logstash

步骤1:引入maven相关依赖,如下:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-logging</artifactId>
 </dependency>
 <dependency>
     <groupId>net.logstash.logback</groupId>
     <artifactId>logstash-logback-encoder</artifactId>
     <version>5.1</version>
 </dependency>

步骤2:在resource文件夹添加logback.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <contextName>logback</contextName>
    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>127.0.0.1:5044</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="info">
        <appender-ref ref="stash" />
    </root>
</configuration>

步骤3:启动项目打印日志测试

@SpringBootApplication
@Slf4j
public class MyApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        log.info("test");
    }
}

三、访问 http://localhost:5601/查看Kibana

(具体操作百度把)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值