docker-compose安装elk

docker-compose.yml

yml 复制代码
version: '3.8'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.14.0
    container_name: elasticsearch
    environment:
      - node.name=elasticsearch
      - cluster.name=es-docker-cluster
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - xpack.security.enabled=false
      - xpack.security.enrollment.enabled=false
      - xpack.security.http.ssl.enabled=false
      - xpack.security.transport.ssl.enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./data/elasticsearch:/usr/share/elasticsearch/data
      - ./elasticsearch/plugins:/usr/share/elasticsearch/plugins
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
      - elk
    restart: unless-stopped

  logstash:
    image: docker.elastic.co/logstash/logstash:8.14.0
    container_name: logstash
    volumes:
      - ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
    ports:
      - "5044:5044"
      - "15000:5000/tcp"
      - "15000:5000/udp"
      - "9600:9600"
    environment:
      - LS_JAVA_OPTS=-Xms256m -Xmx256m
    networks:
      - elk
    depends_on:
      - elasticsearch
    restart: unless-stopped

  kibana:
    image: docker.elastic.co/kibana/kibana:8.14.0
    container_name: kibana
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
      - NODE_OPTIONS=--openssl-legacy-provider
      - SERVER_NAME=kibana
      - SERVER_HOST=0.0.0.0
      - ELASTICSEARCH_USERNAME=  # 留空以禁用安全
      - ELASTICSEARCH_PASSWORD=  # 留空以禁用安全
      - XPACK_SECURITY_ENABLED=false
      - XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=fhjskloppd678ehkdfdlliverpoolfcr
      - I18N_LOCALE=zh-CN
      - XPACK_FLEET_ENABLED=false
      - XPACK_SPACES_ENABLED=false
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
      - NODE_OPTIONS=--openssl-legacy-provider
    networks:
      - elk
    depends_on:
      - elasticsearch
    restart: unless-stopped

networks:
  elk:
    driver: bridge

elasticsearch/config/elasticsearch.yml

yml 复制代码
cluster.name: "es-docker-cluster"
network.host: 0.0.0.0

# 单节点配置
discovery.type: single-node

# 关闭安全特性(开发环境)
xpack.security.enabled: false
xpack.security.enrollment.enabled: false

# 禁用 HTTPS
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false

# 允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization

elasticsearch/plugins

sh 复制代码
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.14.0.zip
unzip elasticsearch-analysis-ik-8.14.0.zip -d analysis-ik
rm elasticsearch-analysis-ik-8.14.0.zip

kibana/config/kibana.yml

yml 复制代码
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elasticsearch:9200"]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
xpack.security.enabled: false
xpack.encryptedSavedObjects.encryptionKey: 'fhjskloppd678ehkdfdlliverpoolfcr'

# 添加缺失的 xpack.security 相关配置
xpack.security.encryptionKey: 'fhjskloppd678ehkdfdlliverpoolfcr'

logstash/config/logstash.conf

conf 复制代码
input {
  tcp {
    port => 5000
    codec => json
  }
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["elasticsearch:9200"]
    index => "logstash-%{+YYYY.MM.dd}"
  }
  stdout {
    codec => rubydebug
  }
}

logstash/config/logstash.yml

yml 复制代码
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline
相关推荐
leeyi16 小时前
把软件装进不能上网的机房——一套建好了、还没上过战场的交付工程(第101篇)
docker·aigc·agent
YIAN19 小时前
Docker + Nginx 核心原理扫盲:从环境隔离到反向代理,运维面试必考点
后端·docker·面试
IT大白鼠21 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
NJCloud1 天前
Docker 容器技术入门:部署、核心概念与基础命令
运维·docker·容器
2601_962072331 天前
docker自建rustdesk-server远程桌面
运维·docker·容器
pnoker1 天前
从零部署 IoT DC3:四步快速启动实录
物联网·docker·部署
虎王物联1 天前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径
linux·运维·docker·rk3568·aiot·嵌入式linux
缘友一世2 天前
GLM-5.3-NVFP4 部署实战系列[二]Docker 镜像选择与补丁镜像构建:纯 Python overlay,不重编一行 CUDA
python·docker·容器·vllm
数字化小张2 天前
Docker镜像优化——从1GB到100MB的瘦身实践
docker