首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

從零構建基於 Docker 的分布式日誌平台(ELK Stack)

     編輯:Java 綜合教學

架構概覽

使用 Docker 容器化部署 Redis、Logstash、Elasticsearch、Kibana,構建完整的日誌收集、存儲、分析、展示鏈路。

環境準備

  • 宿主機:Ubuntu(VMware Workstation Pro 虛擬機)。
  • 安裝 Docker:遵循官方 Ubuntu 安裝指南,驗證 docker version。

核心組件部署命令

Redis

docker run -dit --name redis --hostname redis-host \
  -v /data:/data \
  -v /data/redis.conf:/usr/local/etc/redis/redis.conf \
  -p 6379:6379 redis

Logstash

docker run -dit --name logstash --hostname logstash-host \
  -v /data:/data logstash logstash -f /data/logstash.conf

logstash.conf 關鍵配置:

input {
  redis {
    data_type => "list"
    key => "logstash"
    host => "192.168.21.128"
    port => 6379
    threads => 5
    codec => "json"
  }
}
output {
  elasticsearch {
    hosts => ["192.168.21.128"]
  }
  stdout { }
}

Elasticsearch

docker run -dit --name elasticsearch --hostname elasticsearch-host \
  -v /data:/data -p 9200:9200 -p 9300:9300 elasticsearch:latest

注意:端口映射必須顯示為 0.0.0.0:9200->9200/tcp,否則外部無法訪問。

Kibana

docker run -dit --name kibana --hostname kibana-host \
  -v /data:/data -p 5601:5601 \
  -e ELASTICSEARCH_URL=https://192.168.21.128:9200 kibana:latest

統一啟動腳本

docker start `docker ps -a -q`

一鍵啟動所有容器,便於維護。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved