什麼是 Kibana 及其在數據分析中的作用?
Kibana 是 Elastic Stack 的視覺化大腦,專為 Elasticsearch 資料視覺化 與深度 數據分析 而設計。其核心功能在於提供一個直覺的網頁介面,讓使用者能透過:1. KQL 查詢語言:以類自然語言搜尋海量日誌(如 status:200);2. Kibana Lens 教學:利用拖拉式操作快速生成圖表;3. Kibana Canvas 戰情室:像素級編輯即時動態簡報。透過這份 Kibana 快速入門 指南,開發者能將複雜的 JSON 數據轉化為高品質的儀表板,實踐高品質的資訊圖像化,從而秒級掌握系統健康狀態與商業趨勢洞察。
Kibana 介紹:Elastic Stack 的視覺化大腦
本文提供Kibana的快速入門教學,帶您深入了解Elasticsearch的資料視覺化與數據分析功能。透過Kibana強大的介面,即使不具備深厚資料庫知識,也能透過Kibana Lens、KQL與自訂儀表板,將複雜資訊圖像化。
- 透過 Kibana 可以分析、搜尋、操作、視覺化 Elasticsearch 中的資料。
- 透過 Kibana 可以管理 Elastic Stack 的相關設定(如 Security, ILM)。
解決的痛點:
- 資料視覺化: 一張圖勝過千筆萬筆資料
- Kibana Lens 提供簡單直觀的拖拉式視覺化工具
- Dashboards: 提供預設範本也可自訂和編輯
- Alert 機制: 設定 thresholds 來觸發特定動作 (Slack 通知、寄信等等)
名詞解釋:
- Event: Logs 在 Kibana 中稱為 Events,包含 timestamp 及相關資訊
- Document: 每筆 Log 最後會變成的 JSON object
- Index: Document 的容器,用來整理資料協助工作流程用
解決商業面問題
- 有多少使用者名稱叫桃貴?
- 上一個月有到澎湖旅遊的使用者清單?
- 哪隻 API 會常常回傳 404?
要回答上面的問題只是把問題輸入在搜尋框是行不通的,在文字搜尋提供了以下三種
- KQL (Kibana Query Language)
- The Lucene query
- The query DSL (Domain Specific Language)
為什麼 Kibana 是大數據視覺化的首選?
在處理海量數據時,「一張圖勝過千言萬語」。Kibana 不僅提供基礎圖表,更具備以下高品質特性:
- 實時性: 資料寫入 Elasticsearch 後,儀表板能秒級更新。
- 互動性: 點擊圖表中的特定區域,全站篩選器會自動聯動,實現深入的數據分析。
Kibana 資料操作
資料可以大致分成兩類
- Static datasets: 通常大小不太會變,像是旅館空房數
- Time series datasets: 按照時間 (每天、周、月) 來做 Index 會比較容易管理
- 建議建立 Time-based 的 Index
Kibana 雖然提供將資料直接上傳的介面但並不會儲存及運算資料,資料的儲存和運算都會在 Elasticsearch 中,可以 下載我的範例 access.log 就可以直接上傳來試用介面了。
- 限制 100 MB,常見的 log 檔都可以直接上傳
- 特殊格式 TSV、CSV、JSON
Kibana 設定
要開始使用厲害的視覺化功能前,當收到檔案後,有些步驟可以先進行資料的確認
- 設定 Index Patterns 彙整相關 index,通常照教學只有少部分需要自行設置
- Discover 介面可以查看資料,透過設定和切換 Filters 來加速篩選,常用的可以 Pin 起來
KQL 語法範例:像說話一樣查詢
要從海量 Document 中精確撈取資料,掌握 KQL (Kibana Query Language) 是關鍵。
- 基礎過濾:
status: 200 - 邏輯組合:
user:桃貴 and country:台灣 and age < 5 - 巢狀搜尋:
items:{ name:banana and stock > 10 }
在 Discover 搜尋我們可以在關鍵字中使用 KQL,譬如台灣有幾個桃貴,我們可以搜尋 桃貴 台灣 可能會找出蠻多不那麼相關的結果,只要有吻合 桃貴 或是 台灣 的結果都會出現,如果想要更精確可以
- 取交集
桃貴 and 台灣 - 補上欄位
user:桃貴 and country:台灣 - 補上年紀
user:桃貴 and country:台灣 and age:<5
如果資料是多層的如下,舉例來說指令就可以 items:{ name:banana and stock > 10 }
1 | { |
Kibana Lens:零門檻的拖拉式設計
對於初學者,Kibana Lens 是最推薦的起步工具。
Kibana Lens 資料視覺化的拖拉工具,覺得算是最容易入門的,使用方式就是將最左側相關欄位拖拉到右側的 X 跟 Y 軸,底下會有建議的樣式出現。
- 把 @timestamp 放到 X 軸
- Response Body Byte 放到 Y 軸
- 用 status code 去分類
Time-Series Visualization Builder (TSVB) 是專門處理 time-series data 用的,可以在一個畫面疊好幾個上去,這個部分就還沒深入研究,不過看起來還蠻厲害的。
當我們製作好相關視覺化元件後就可以加入到 Dashboard 中,從以上操作可以發現,並不需要 Elasticsearch 的專業知識就可以進行操作,複雜的運算與效能調整 Elasticsearch 也都會自動處理好,只需要專注在資料視覺化。
在經過一個月的學習之後,操作上只是理解有非常多可以客製化的部分,難免會想資訊圖像化的部分到底可以炫技到什麼程度。
接下來就帶大家一起來看看匯入 Elsatic cloud 提供範例資料後的資訊圖像化,主要資料有航班交易資料、電商交易資料兩種,讓我們繼續看下去。
基本圖形
基本的甜甜圈圖、長條圖,可以看出樣式上提供的空間還是有的。
- 電商交易資料,可以提供到平均交易額、每筆訂單交易的商品數量,比較特別的是比例看起來有對應到最大最小值
- 航班交易資料
電商交易資料
航班交易資料
機器學習
在什麼都還沒設定的情況下,機器學習的功能就能夠先產生滿滿的圖表,可以快速對整體資料有概觀的了解,最大的幫助是能夠更快的做出想要的資訊圖表。
電商交易資料
航班交易資料
機器學習能做的不只是把資料做快速分類製成圖表,真正強大的地方在預測未來,前提是這個資料的 Pattern 夠明確,顯然下面這個範例資料我選的欄位沒有很好,所以預測介於有跟沒有之間。
預測未來
複合型圖表
複合型的圖表,能夠把 time-series 的圖表做疊圖,不管是折線圖、長條圖、點圖都沒有問題,甚至還能夠用變數設定相關樣式
電商交易資料
航班交易資料
炫技用圖表
為什麼說是炫技用的圖表,一看就知道底層包了像是 D3.js 的函式庫,不只整合了地理資訊還有能將資訊透過樣式的變化呈現,這如果不是炫技那什麼才是炫技,厲害吧!!!
電商交易資料
航班交易資料
更強的是其實相關圖表還能夠整合實際的設計,這個編輯介面完全是前端攻城獅火力展示的部分,能跟這樣的同事工作一定超棒!!!
Kibana Lens 的核心優勢
以往製作圖表需要精確定義聚合 (Aggregations),但在高品質的 Kibana Lens 介面中,您只需將欄位拖入畫布,系統會根據資料類型自動建議最佳圖表(如長條圖、圓餅圖或面積圖)。這種「所見即所得」的體驗,大大降低了 資料視覺化 的學習曲線。
企業戰情室的極致:Kibana Canvas
如果 Dashboards 是為了數據分析,那麼 Kibana Canvas 就是為了「說故事」。
Canvas 在企業戰情室 (War Room) 的應用
高品質的 Kibana Canvas 教學 通常會強調其像素級的編輯能力。它允許開發者像使用 Photoshop 一樣,將即時數據與品牌設計完美融合。在企業的戰情室中,Canvas 能將即時業績、系統負載或資安告警轉化為極具視覺衝擊力的動態簡報,是 大數據視覺化 的最高境界。
圖片來源: https://www.elastic.co/what-is/kibana-canvas
以下動圖展示了基礎設施監控的即時動態,利用 Canvas 可以將 SQL 查詢結果轉化為直觀的圓環圖與狀態指示燈。
下圖展示了商業分析畫布,透過豐富的自定義背景與數據綁定,企業能建立專屬的品牌戰情儀表板。
FAQ:Kibana 資料視覺化常見問題
Q1:KQL 與傳統的 Lucene 查詢語法有什麼差別?
A:KQL (Kibana Query Language) 是為了簡化搜尋而設計的,它更接近自然語言(如 status:200),且支援自動完成。Lucene 則是底層的查詢語法,支援更複雜的正則表達式與模糊搜尋。在一般的 數據分析報表 製作中,KQL 已能滿足 90% 的需求,且更易於閱讀。
Q2:為什麼在 Kibana 中一定要設定 Index Pattern?
A:因為 Elasticsearch 中的資料是以多個 Index 形式存在的(如 filebeat-2026.02.20)。Index Pattern 的作用是告訴 Kibana 應該將哪些 Index 視為同一組資料源來進行彙整分析。沒有 Index Pattern,Kibana 就無法跨天或跨版本顯示相關的視覺化圖表。
Q3:Kibana Canvas 與一般的 Dashboards 該如何選用?
A:Dashboards 適合日常的技術監控與深入的 數據分析,重點在於快速過濾與數據下鑽 (Drill-down)。而 Kibana Canvas 戰情室 則適合高階主管決策或展覽展示,重點在於美觀與「數據說故事」,提供像素級的排版自由度,兩者相輔相成。
結語:通往數據洞察的捷徑
掌握 Kibana 意味著擁有了與數據「對話」的能力。透過 Kibana Lens 快速出圖,並利用 Canvas 進行高品質的成果展示,開發者能從繁瑣的報表製作中「斷捨離」,將精力集中在挖掘數據背後的商業價值。
更多相關文章
底下三篇文章整理了學習 Elastic Cloud Stack 的相關心得,也推薦給大家!!!
- 30 天上手 Elastic Cloud 心得分享
- 三步驟完成 Filebeat 設定 : 傳送 Nginx Log 到 Kibana 產生報表
- Elastic Metric Quick Start (Metricbeat, Kibana, Elasticsearch) : 監控 Nginx 伺服器狀態
喜歡這篇文章,請幫忙拍拍手喔 🤣



