天天看點

Space-Elastic Stack 實戰手冊

Space-Elastic Stack 實戰手冊
https://developer.aliyun.com/topic/download?id=1295 · 更多精彩内容,請下載下傳閱讀全本《Elastic Stack實戰手冊》 https://developer.aliyun.com/topic/download?id=1295 https://developer.aliyun.com/topic/es100 · 加入創作人行列,一起交流碰撞,參與技術圈年度盛事吧 https://developer.aliyun.com/topic/es100

創作人:齊樂

審稿人:吳斌

Space 功能介紹

Space 功能可以将 Kibana 劃分為多個工作空間,并基于權限控制使不同的使用者看到不同的工作空間。空間可管理的對象包含 Dashboards 等可視化内容以及 Kibana 自帶的标簽頁功能如 Dev 和 Monitoring 等。

Space 功能預設自動開啟,且會自動建立 Default 空間,當建立了其他空間之後,登入 Kibana 時會要求你選擇工作空間。如果想要關閉 Space 功能,隻需将 kibana.yml 配置檔案中的xpack.spaces.enabled 設定為 false 即可。

Space 實作原理

Space 的權限控制由 Elasticsearch 的 Security 子產品提供的 Application privileges 實作。此功能對 Elasticsearch 存儲的資料無任何權限控制,是專門為其他自定義應用程式,存儲其權限在 Elasticsearch 的 Role 中而設定。主要包含三部分結構:

  • application:表示應用程式名稱,Space 權限命名為 kibana-.kibana。
  • privileges:表示權限,Space 細分為各個小功能的三種權限:ALL、READ 和 NONE。
  • resources:表示權限應用範圍,Space 用于區分空間。

示例如下圖所示:通過 GET _security/role/a 指令擷取 Role a 的權限,擁有此 Role 的使用者具有 A 空間的部分權限和 B 空間的全部權限。

Space-Elastic Stack 實戰手冊

圖1 Role 中存儲的 Space 權限

負責管理 Space 功能的管理者使用者,需要賦予 kibana_admin 角色的權限,其設定如下圖所示:

Space-Elastic Stack 實戰手冊

圖2 kibana_admin 的權限

Space 操作實踐

Space 的建立、修改和删除

通過 Kibana 界面的 Stack Management >> Kibana >> Spaces 标簽頁進行相關操作

Space-Elastic Stack 實戰手冊

圖3 Space 管理界面

建立或修改 Space 資訊包含如下内容:

  • Space 基本資訊:包含名字、URL 位址資訊(切換 Space 工作空間會修改 Kibana 的 URL位址為對應 Space,一旦設定不可修改)、描述資訊(可為空)和頭像照片。
Space-Elastic Stack 實戰手冊

圖4 Space基本資訊

  • Space 功能可見性:控制目前 Space 空間中 Kibana 各個功能标簽頁的可見性,可以将其隐藏以防止使用者使用,如果想禁用需要控制 Role 權限實作。
Space-Elastic Stack 實戰手冊

圖5 Space 功能可見性

需要注意的是删除 Space 會同時删除空間記憶體儲的工作對象。

設定角色的 Space 權限

通過 Kibana 界面的 Stack Management >> Security >> Roles 标簽頁進行相關操作

此标簽頁除了可以設定 Role 的 Elasticsearch 相關權限 ( cluster / index 等)外,還可以設定 Kibana 的 Space 權限。如上文所述,其資訊存在 Role 的 Application 之中, 且可以為不同的 Space 設定不同的權限如下圖所示

Space-Elastic Stack 實戰手冊

圖6 Role 中的多個 Space

具體 Space 權限設定如圖8所示:可以直接設定全部權限為 All 或者 Read ,也可以使用自定義方式設定每個小功能獨立權限。

Space-Elastic Stack 實戰手冊

圖7 Role 中 Space 權限設定

管理并分享 Spaces 之間的工作對象

通過 Kibana 界面的 Stack Management >> Kibana >> Saved Objects 标簽頁進行相關操作

Space 功能的目的就是将 Kibana 的工作對象分到不同空間,是以多個 Spaces 之間的對象複制是必不可少的操作,具體操作如下圖:選擇對象的 Copy to space 選項,然後選擇要複制到的目的 Space 。

Space-Elastic Stack 實戰手冊

圖8 選擇要遷移的對象

Space-Elastic Stack 實戰手冊

圖9 選擇遷移的目的空間

并且還可以将工作對象導出到檔案,用于批量遷移工作對象到其他 Space 或者遷移到其他的 Kibana 執行個體。具體操作如下圖:選擇要導出的對象,然後點選 Export 導出到檔案;切換 Space 或者在其他 Kibana 執行個體中通過 Import 可以導入檔案存儲的 Kibana 工作對象。

Space-Elastic Stack 實戰手冊

圖10 選擇要導出的工作對象

Space-Elastic Stack 實戰手冊

圖11 Import 選擇檔案進行對象導入

Space 自定義配置

通過 Kibana 界面的 Stack Management >> Kibana >> Advanced Settings 标簽頁進行相關操作

我們可以修改一些 Kibana 的預設配置,但大部配置設定置隻應用于目前 Space。例如可以修改進入 Space 的初始路由界面:從預設 Home 界面修改為 Dashboards 界面:

Space-Elastic Stack 實戰手冊

圖12 Space 預設配置修改

創作人簡介:

齊樂,從事大資料開發工作近四年,主要方向為 ES,已認證 ECE 認證,近期在研究

Spark 和 Flink。 歡迎一起學習,一起讨論,共同進步。

部落格:

https://www.jianshu.com/u/cc7ee7454afc

繼續閱讀