環境搭建
選用版本是比較新的版本 (ELK) 8.6.2 ,elk的環境做的還是比較好的又windows和Linux多個版本,并且開箱即用。本地直接下載官方軟件也是可以的。最近在學習docker compose,就使用這個環境搭建一下。
前置條件
安裝好docker和 docker compose
1. compose環境文件夾
mkdir elk && cd elk
2. 創建compose文件
vim docker-compose.yaml
內容如下
version: '3.7'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2 # 官方鏡像 container_name: elasticsearchenvironment:- discovery.type=single-node # 單節點模式 - xpack.security.enabled=false # 禁用安全認證(測試用)- bootstrap.memory_lock=true- ES_JAVA_OPTS=-Xms1g -Xmx1g # JVM 內存分配volumes:- es_data:/usr/share/elasticsearch/data # 數據持久化 ports:- "9200:9200"networks:- elkkibana:image: docker.elastic.co/kibana/kibana:8.6.2 # 版本需與 ES 一致 container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200ports:- "5601:5601"networks:- elkdepends_on:- elasticsearchlogstash:image: docker.elastic.co/logstash/logstash:8.6.2container_name: logstashvolumes:- ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf # 掛載配置文件 environment:- LS_JAVA_OPTS=-Xms512m -Xmx512mports:7157- "5044:5044" # Filebeat 輸入端口networks:- elkdepends_on:- elasticsearchvolumes:es_data: # Elasticsearch 數據卷driver: localnetworks:elk: # 自定義網絡確保服務互通driver: bridge
3. 創建logstash文件夾及配置
mkdir -p logstash/configecho 'input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://elasticsearch:9200"] } }' > logstash/config/logstash.conf
4. 啟動
docker compose up -d
前置條件
安裝好docker和 docker compose
1. compose環境文件夾
mkdir elk && cd elk
2. 創建compose文件
vim docker-compose.yaml
內容如下
version: '3.7'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2 # 官方鏡像 container_name: elasticsearchenvironment:- discovery.type=single-node # 單節點模式 - xpack.security.enabled=false # 禁用安全認證(測試用)- bootstrap.memory_lock=true- ES_JAVA_OPTS=-Xms1g -Xmx1g # JVM 內存分配volumes:- es_data:/usr/share/elasticsearch/data # 數據持久化 ports:- "9200:9200"networks:- elkkibana:image: docker.elastic.co/kibana/kibana:8.6.2 # 版本需與 ES 一致 container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200ports:- "5601:5601"networks:- elkdepends_on:- elasticsearchlogstash:image: docker.elastic.co/logstash/logstash:8.6.2container_name: logstashvolumes:- ./logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf # 掛載配置文件 environment:- LS_JAVA_OPTS=-Xms512m -Xmx512mports:7157- "5044:5044" # Filebeat 輸入端口networks:- elkdepends_on:- elasticsearchvolumes:es_data: # Elasticsearch 數據卷driver: localnetworks:elk: # 自定義網絡確保服務互通driver: bridge
3. 創建logstash文件夾及配置
mkdir -p logstash/configecho 'input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://elasticsearch:9200"] } }' > logstash/config/logstash.conf
4. 啟動
docker compose up -d
5. 訪問驗證
elasticsearch
http://localhost:9200/
賬號:elastic
密碼:elastic
kanaba
http://localhost:5601/
5. 訪問驗證
elasticsearch
http://localhost:9200/
賬號:elastic
密碼:elastic
kanaba
http://localhost:5601/
代碼地址
docker compose搭建elk環境