Docker ELK 分布式部署配置

2021-09-25 00:02:29 字數 1490 閱讀 2925

目前單機配置的elk訪問 kibana 的時候,出現非常緩慢的問題,可能是大量的寫入占用了太多的資源,影響了資料查詢的速度,所以現在將elasticsearch改為集群配置,目前單機繼續擴容的想法,這樣也可以充分利用其它機器的效能來提供日誌寫入和查詢的速度

我們 elk 選擇的版本是 7.1.0 的版本,集群配置主要是對 elasticsearch 的配置做一定的修改,配置後結構如下圖:

首先開始配置 elasticsearch 的配置資訊

cluster.name: "elk-cluster"

node.name: elk-pro4

network.host: 0.0.0.0

network.publish_host: 172.19.99.39

node.master: true

node.data: true

discovery.type: zen

discovery.seed_hosts:

- 172.19.99.37:9300

- 172.19.99.38:9300

- 172.19.99.39:9300

cluster.initial_master_nodes:

- elk-pro3

- elk-pro2

- elk-pro4

這裡配置了三颱主機,每台機器都儲存資料且可以競選master,因為版本是 7.1.0 的版本,所以之前版本都是需要配置乙個 minimum_master_nodes 引數來防止某一台脫離集群後發生腦裂的問題,所以網上資料一般都會要求這個配置為2,起碼有兩台機器競選才能選出master,但是在7.0之後的版本, 官方因為很多使用者的錯誤配置反而增加了集群腦裂的風險所以刪除了這個引數,所以不需要再配置這個引數,可以參考 

三颱機器都配置好後,重啟之前配置的docker-compose 即可啟動新的 elasticsearch 服務

然後需要修改 logstash 的配置引數,支援集群配置,通過修改檔案 logstash/pipeline/logstash.conf

input 

}## add your filters / logstash plugins configuration here

output "}}

日誌記錄的 index 按日來滾動,方便日後管理

kibana 本身就只能連線一台elasticsearch,所以不需要做什麼配置,可以連線任意一台,或者專門跑乙個不儲存資料且不會競選的 elasticsearch 專門給 kibana 的連線集群也行,目前的問題可能就是 kibana 連線的 elasticsearch 如果掛了,就會直接無法檢視日誌了

分布式部署

一 分布式架構和部署 1 如何進行分布式部署 2 系統拆分後,模組之間如何相互呼叫 3 如何進行統一的會話 session 管理 4 如何實現單點登入 5 如何保證一致性更新 6 如何規劃和處理分布式事務 7 如何對重要服務實現ha 二 高併發和web層的效能優化 1 高併發的處理 2 nginx的...

solr分布式部署

solr 分布式部署 solr複製模式,是一種在分布式環境下用於同步主從伺服器的一種實現方式,因之前提到的基於rsync的solr不同方式部署成本過高,被solr1.4版本所替換,取而代之的就是基於http協議的索引檔案傳輸機制,該方式部署簡單,只需配置乙個檔案即可。以下講解具體操作步驟 步驟分主伺...

分布式部署(下篇)

服務和使用者服務搭建完畢後,我們繼續搭建剩下的服務 筆記服務和日誌服務。筆記服務負責與筆記本相關的所有業務邏輯處理,也就是本專案中的主要業務功能,在 上基本不需要做修改,只用配置好 consul 即可。結構 entity service 獲取筆記本列表 邏輯中唯一需要修改的地方是獲取筆記本列表。原來...