Docker是一種流行的容器化技術,在程序打包、運行和移植方面具有優勢。而ELK 則是結合 ElasticSearch、Logstash和Kibana 三個強大工具而成的日志分析解決方案。本文將介紹如何使用Docker快速搭建ELK系統,實現對日志集中式管理。
1. 首先,通過Docker Compose在本地環境下創建一個新的Docker容器。Docker Compose文件內容如下:
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
container_name: elasticsearch
environment:
- discovery.type=single-node
ports:
- "9200:9200"
logstash:
image: docker.elastic.co/logstash/logstash:7.10.0
container_name: logstash
volumes:
- ./logstash/config:/usr/share/logstash/config
- ./logstash/pipeline:/usr/share/logstash/pipeline
ports:
- "9000:9000"
- "9600:9600"
depends_on:
- elasticsearch
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
container_name: kibana
ports:
- "5601:5601"
depends_on:
- elasticsearch
2. 下載完Docker Compose文件后,在命令行中運行以下命令來啟動容器:
docker-compose up -d
3. 然后檢查運行情況,命令如下:
docker-compose ps
輸出如下:
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
elasticsearch /usr/local/bin/docker-entr ... Up 0.0.0.0:9200->9200/tcp, 9300/tcp
kibana /usr/local/bin/dumb-init - ... Up 0.0.0.0:5601->5601/tcp
logstash /usr/local/bin/docker-entr ... Up 0.0.0.0:9000->9000/tcp, 0.0.0.0:9600->9600/tcp
4. 現在我們可以使用Kibana來查看Logstash從Elasticsearch接收到的日志。訪問URL:
http://localhost:5601
5. 在Kibana主頁中點擊“Discover”進入日志記錄頁面,查看ELK正常工作與否。如果所有步驟都完成并成功,則您應該能夠看到現有日志信息的結果。
參考鏈接:
https://www.elastic.co/guide/en/elastic-stack-get-started/7.10/get-started-docker.html
下一篇html5 架構代碼