当前位置: 首页 > news >正文

ELK接入SpringBoot【Docker Compose】

安装Docker-Compose

curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

随便找个地,创建docker-compose.yml文件,把这坨文本复制进去

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.1.0
    container_name: elasticsearch
    user: root
    environment:
      - "cluster.name=elasticsearch"
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ports:
      - 9200:9200
      - 9300:9300
  logstash:
    image: logstash:7.1.0
    container_name: logstash
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /mydata/logstash/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf
    depends_on:
      - elasticsearch
    links:
      - elasticsearch:es
    ports:
      - 4560:4560
  kibana:
    image: kibana:7.1.0
    container_name: kibana
    links:
      - elasticsearch:es
    depends_on:
      - elasticsearch
    environment:
      - "elasticsearch.hosts=http://es:9200"
      - "I18N_LOCALE=zh-CN"
    ports:
      - 5601:5601

运行docker-compose

docker-compose up -d

此时logstash会报错,要在对应数据卷上增加logstash-springboot.conf文件

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  }
}
output {
  elasticsearch {
    hosts => ["es:9200"]
    index => "wing-blog-%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}

挂载es数据卷前,把es容器中的数据复制出来

docker cp elasticsearch:/usr/share/elasticsearch /root/elk

修改docker-compose文件,重新启动docker-compose容器

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.1.0
    container_name: elasticsearch
    user: root
    environment:
      - "cluster.name=elasticsearch"
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - /root/elk/elasticsearch/data:/usr/share/elasticsearch/data
      - /root/elk/elasticsearch/config:/usr/share/elasticsearch/config
      - /root/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    ports:
      - 9200:9200
      - 9300:9300
  logstash:
    image: logstash:7.1.0
    container_name: logstash
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /root/elk/logstash/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf
    depends_on:
      - elasticsearch
    links:
      - elasticsearch:es
    ports:
      - 4560:4560
  kibana:
    image: kibana:7.1.0
    container_name: kibana
    links:
      - elasticsearch:es
    depends_on:
      - elasticsearch
    environment:
      - "elasticsearch.hosts=http://es:9200"
      - "I18N_LOCALE=zh-CN"
    ports:
      - 5601:5601

进入logstash容器,安装json解析器

docker exec -it logstash /bin/bash
cd /bin
logstash-plugin install logstash-codec-json_lines
exit
docker restart logstash

给es安装ik分词器

Index of: analysis-ik/stable/

解压后,重命名为ik。

重启es

docker restart elasticsearch

测试

POST /_analyze
{
  "analyzer": "ik_smart",
  "text":"可变羽翼核心的博客真是太棒了!"
}

相关文章:

  • 存储对象(MySQL笔记第五期)
  • Vue3实现文件上传、下载及预览全流程详解(含完整接口调用)
  • javaScript-系统知识点【同步 和 异步】
  • ConcurrentHashMap
  • 第七章 activiti流程 “容器融合控制室”
  • 论合理利润空间促进社会繁荣
  • alibaba商品数据采集实战:Python接口调用+反爬策略破解(2025最新版)
  • fluent-ffmpeg 依赖详解
  • Mybatis做批量操作
  • ST-LINK端口连接失败,启动GDB server失败的问题处理方法,有效
  • python容器之常用操作
  • 为AI聊天工具添加一个知识系统 之127 详细设计之68 编程 核心技术:Cognitive Protocol Language 之1
  • openEuler环境下GlusterFS分布式存储集群部署指南
  • 【FL0086】基于SSM和微信小程序的垃圾分类小程序
  • OpenFeign:服务间通讯携带 Token 的实现
  • 本地大模型搭建与webui交互
  • 我和我的通义灵码
  • LeetCode:131. 分割回文串(DP Java)
  • 8 - PS XADC接口实验
  • Java 大视界 -- Java 大数据机器学习模型的可解释性增强技术与应用(107)
  • 自做网站的步骤/宁波seo推广服务
  • 0511城市建设网站棚户区改造/百度问答首页
  • 扬州网站优化/百度指数专业版价格
  • 桂林论坛网网站电话/百度热搜关键词排名优化
  • 网站设计找谁做/企业网站源码
  • 网站建设几个要素/建网站公司