ELK多租戶方案

2022-07-11 05:54:12 字數 3539 閱讀 4755

日誌分析是目前重要的系統除錯和問題排查的重要手段之一,而目前分布式系統由於例項和機器眾多,所以構建一套統一日誌系統是非常必要的;elk提供了一整套解決方案,並且都是開源軟體,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用,是目前的主流選擇之一。

本文主要介紹如何實現一套elk日誌系統同時給多套環境多個系統共同使用/測試,並實現相互之間的資料與檢視相互隔離互不影響。

常見的elk架構如下圖所示,分別由elasticsearchlogstashkibanafilebeat組成。

分別在每個應用伺服器裡部署乙個filebeat元件作為日誌收集器,通過輸入外掛程式從檔案中獲取資料,然後傳輸給logstash將通過過濾外掛程式加工並結構化處理日誌資料後傳送至elasticsearch儲存,最後通過kibana進行視覺化展示分析。

ps:需要對上圖中elk的各個元件分別做隔離處理

由於每台機器上都會部署乙個beat例項作為日誌收集,所以filebeat本身無需做任何隔離配置,但是作為資料的入口需要把所屬租戶相關的資訊傳遞給下游,如下圖所示

通過 project(專案名) 和 env(環境) 作為租戶隔離標識

主要是每個專案的日誌格式可能會不一樣,所以會存在不同的個性化配置檔案,這個日誌解析配置檔案需要定義隔離規則進行分離;

使用以下命令啟動logstash指定config/conf/為配置存放目錄,並指定配置檔案熱載入。

為通用輸入配置,每個租戶共享,用於接收來自 filebeat 的資料

input 

}

(2)02-output-es.conf為通用輸出配置,每個租戶共享,用於把日誌資料按照定義好的索引命名規則建立索引寫入到es中

需要在資料**中新增projectenvdoctype三個字段分別代表專案名、環境與日誌型別

output -%-%-%"

}}

ip、使用者名稱和密碼按實際情況修改

(3)mp.conf為個性化日誌解析配置,每個租戶單獨新建乙個配置檔案配置自己的filter內容

filter 

}}

ps:必需增加if語句來確認是否屬於自己租戶的日誌資料!

通過不同的索引命名,建立各自獨立的索引實現物理隔離;由前面的logstash在結構化資料後生成索引時,已自動通過filebeat的入參變數動態生成規定的索引名。

索引的命名規則為:$-$-$-%

例如:mp-pre-syslog-2020.12.01

可通過多工作區的方式進行隔離,每個租戶建立自己獨立的工作空間,用於隔離自己的索引資料、展示檢視等物件,並且相互不可見

工作區的配置流程如下:

建立工作區

建立角色(配置許可權)

建立使用者(關聯角色)

2.3.1 建立工作空間

2.3.1.1 超級管理員登入

使用超級管理員賬號elastic登入kibana,選擇預設工作區

2.3.1.2 進入管理頁面

2.3.1.3 建立工作空間

建立工作區,並可定製顯示的功能點(預設全部顯示)

2.3.2 建立角色繫結工作空間

建立乙個新的角色,並分配對應的索引許可權工作區許可權等許可權給該角色

2.3.3 建立使用者

建立使用者,並繫結自己工作空間下的角色

ps:該使用者只能看到自己所屬工作區下的索引儀表板等物件

每個租戶需對elk的各個元件分別做隔離處理

logstash:獨立分開每個租戶的個性化filter配置檔案

elasticsearch:通過規範的索引命名,各租戶獨立的建立索引實現物理隔離

kibana:通過多工作區的方式進行隔離,資料與儀表板等互不可見

掃碼關注有驚喜!

ES多租戶方案調研

如上圖所示,現有索引的邏輯為 1 對於每乙個使用者的每一種非結構化資料,都建立乙個對應的索引user1 log index1 2 對於每乙個索引,預設為乙個分片,副本數量為1 根據現有的邏輯,可以計算得到 單個集群中的索參數量 使用者1 使用者1使用的資料型別數量 使用者2 使用者2使用的資料型別數...

多租戶mysql架構 關於多租戶架構

多租戶架構能使oracle資料庫可用作多租戶容器資料庫 cdb 乙個多租戶容器資料庫 cdb 包含0個或多個自定義的可插拔資料庫 pdbs pdb是乙個包含schemas,schema objects,nonschema objects的集合。在12c之前,所有的oracle資料庫都是非cdb。1....

Hbase多租戶實現方案 資源限制 quotas

hbase多租戶實現方案 資源限制 quotas 上次整理了hbasde多租戶基於namespace的許可權管理實現方案,對於一些應用場景,基於namespace許可權的多租戶還不能夠很好的滿足業務的需求。業務有時候不單單需要基於許可權的多租戶,有時候還需要更複雜的基於資源限制排程的多租戶,以滿足在...