iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 8
2
Elastic Stack on Cloud

喬叔帶你上手Elastic Stack系列 第 8

喬叔教 Elastic - 08 - Index 建立前你該知道的 (5/5) - EC 管理你的 Index - Kibana Index Management

Index 建立前你該知道的 系列文章索引


前言

前幾天我們介紹到 Index 建立前你該知道的 的系列文章的前四篇,這些都是要建立 Index 需要知道的管理工具與運作原理,今天我們會回到 Elastic Cloud,如何透過 Kibana 來進行 Index 的管理。

此章節的重點學習

  • 如何使用 Kibana 的 GUI 介面來進行 Index Management 的操作。

Kibana 的入口

有些第一次使用 Kibana 的朋友,會被左邊落落長的功能選單搞得頭很痛,不知道從何進入我們 Index 的管理,請直接把左邊工作選單展開,拉到最底下的 Management 的區塊,選擇 Stack Management

Kibana Home

再來就是進入到我們今天的主題 Index Management

Stack Management

Index Management

Index Management

進入到 Index Management 時,我們可以看到主要的四個 Tab:

  • Indices:這就是我們管理 Index 基本的畫面,可以查列我們 Elasticsearch 中所有的 Index,以及進行基本的管理操作。
  • Data Streams:這部份是搭配 Ingest Manager 來建立 time-series 類型的資料管理方式,不過因為目前還在 Beta 階段,這次暫時不討論他。
  • Index Templates:管理 Index Templates 的畫面。
  • Component Templates:管理 Component Template 的畫面。

Indices

基本上 Index 的建立,還是必須透過 Create Index API,或是真的把一筆 Document indexing 進入 Elasticsearch 中,而由 ES 自動依照 Index Template 來建立 Index,這裡可以列出所有的 Index 及顯示他的基本資料。

image-20200923024054396

這邊列出幾個重點功能:

  • 可以同時對多個 Index 進行管理的操作。

index management - manage indices

  • 可以簡單明瞭的知道現在 Index 的各種 Settings, Mappings, Stats,也可直接在 UI 上直接操作進行 settings 修改。

index management edit settings

  • 可以過濾掉某些定義為隱藏的 Index,大部份是 Elastic 家族產品將 Elasticsearch 當作 Database 來存放使用所產生的 Index,是以 . 為前綴 (prefix)。

include hidden indices

所謂 hidden 的定義,就是 Index name 的開頭是否是 .,是的話就是屬於隱藏的 Index。

Index Templates

再來進入的是 Index templates,這部份就是我們先前介紹的東西,透過 Kibana 的畫面來進行管理。

image-20200923025544596

這裡要分享一個小技巧,在 Kibana 的 UI 上,會顯示這個 Index Template 是否是 Managed,而這邊會發現這個資訊其實是存在 Metadata 中,這個 Metadata 在之前的介紹有提到,是個可以自行定義的 JSON object ,不過我們既然能訂、能查出來,如果有一些應用是直接存取 Index Template 的 API,就能利用這自訂欄位的設計來當成存應用端的資料,例如這部份 Kibana 就把這個 managed 的屬行直接訂義在 Index Template 裡。

Screen Shot 2020-09-23 at 2.59.24 AM

在建立一個新的 Index Template 時,我們先前介紹的功能,也都能在畫面上直接操作、設定及產生,有一些部份還是需要告 JSON object 來宣告,例如:Aliases

create template

Component Template

這部份和 Index Template 差別不大,建立、設定的畫面都差不多,主要是可以針對 In use 或是 Not in use 來進行過濾,也可以看到 Usage count,在管理方便於將根本沒在用的 Component Template 找出,並進行清理等操作處理。

component template

結論

透過 Kibana 的 Index Management,讓不少要手動操作的 Index 管理處理,方便了非常多,不過回歸到 Production 的管理上,最好將所有的設定都進入版本控管(例如:git),所以如果是 index template, component template, 這些最好也都能用 Configuration Management (例如:Ansible, Puppet) 的工作來設置,並且都進入版控,以確保這些管理 Index 的設置有被良好的管理。

參考資料


上一篇
喬叔教 Elastic - 07 - Index 建立前你該知道的 (4/5) - ES Index 的別名 (Alias)
下一篇
喬叔教 Elastic - 09 - 管理 Index 的 Best Practices (1/7) - Shard 的數量與 Rollover & Shrink API
系列文
喬叔帶你上手Elastic Stack30

尚未有邦友留言

立即登入留言