管理你的 Index - Kibana Index

前言

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

此章節的重點學習

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


Kibana 的入口

有些第一次使用 Kibana 的朋友,會被左邊落落長的功能選單搞得頭很痛,不知道從何進入我們 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 及顯示他的基本資料。

這邊列出幾個重點功能:

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

  • 可以簡單明瞭的知道現在 Index 的各種 Settings, Mappings, Stats,也可直接在 UI 上直接操作進行 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