Docker中部署ELK環境

一直想嘗試部署一個ELK日誌系統,所以今晚就用Mac搭建一下,這裡記錄一下具體的搭建過程。
在上一節中已經學會來安裝Docker以及部署web應用,這次就不介紹來,直接在Docker中部署ELK日誌分析系統.

1.介紹

ELK是三個開源工具的縮寫,分別表示:Elasticsearch , Logstash, Kibana 。

1)ElasticSearch是一個基於Lucene的開源分散式搜尋伺服器。它的特點有:分散式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是第二流行的企業搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。
在elasticsearch中,所有節點的資料是均等的。

2)Logstash是一個完全開源的工具,它可以對你的日誌進行收集、過濾、分析,支援大量的資料獲取方法,並將其儲存供以後使用(如搜尋)。說到搜尋,logstash帶有一個web介面,搜尋和展示所有日誌。一般工作方式為c/s架構,client端安裝在需要收集日誌的主機上,server端負責將收到的各節點日誌進行過濾、修改等操作在一併發往elasticsearch上去。

3)Kibana 是一個基於瀏覽器頁面的Elasticsearch前端展示工具,也是一個開源和免費的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 介面,可以幫助您彙總、分析和搜尋重要資料日誌。

2. Docker中下載ELK環境

由於我們使用的是整合映象,大家也可以使用終端命令Brew等分別自行安裝,分開部署可參考https://segmentfault.com/a/1190000006188536

docker pull sebp/elk

下載完之後,檢視一下本地的映象

docker images

在這裡插入圖片描述

3. 在Docker中部署ELK

docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m sebp/elk

5601 埠是Kibana的預設埠
9200 埠是Elasticsearch的預設埠
5044 埠是Logstash的預設埠是

這裡面新增來 -e 引數使用者控制伺服器記憶體(伺服器記憶體較小,還是穩妥點小於1G)

啟動之後在瀏覽器中 分別訪問 5601、9200、5044埠檢視是否正常訪問

預設訪問9200 顯示
在這裡插入圖片描述

先寫到這裡,下次試試寫程式呼叫elk