管理你的 Index - Kibana 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
  • 可以過濾掉系統預設、或是 Elastic 家族某些產品產生的 Index,能過濾當然也能取消嘍~

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

Index Templates

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

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

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

Component Template

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

結論

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

參考資料

Last updated