上一篇文章說明如何將資料匯入ELK,可以快速查詢外,最棒的功能是ELK的視覺化呈現,透過 Kibana 製作各種不同的圖表,長條圖、圓餅圖等,均稱做視覺圖像(Visualize)。
Kibana可以呈現的視覺圖像有十幾種,其中有三個圖被列為試驗性質,包括:Visual Builder, Controls 跟 Vega三種,接著就逐一說明各項圖表的製作方法:
在製作視覺圖像前,有幾件需知道的事:
(1) Y軸一般用作度量聚合(Metric Aggregations)的維度,例如 count、average、sum、min、max、standard deviation等。
(2) X軸一般使用的統計方法為:Date Histogram、Histogram、Range、Date Range、IPv4 Range、Terms 及 Filters 等。
接下來的範例中會提到上述的用法,我們先看一個基本的圖像製作方式。
垂直柱狀圖(Vertical Bar)
我們運用前一篇文章 ELK學習筆記(2):在ElasticSearch匯入及查詢 Sample Data 匯入的資料來當作範例,在前一篇文章提到建立索引的方法,建立Logstash*的索引,或是利用查詢條件式,來當作視覺圖像的製作範例。
按下左方 [Visualize],再按 + 增加視覺圖像,選擇 [Vertical Bar],此時需要選擇索引或查詢式,我們以選擇 Logstash*索引,這時你會看到一個度量維度(Y-Axis),沒有分桶(Buckets)的情況下,圖形只有一大塊區域。
在 Buckets 區塊按下 [X-Asis],出現 [Aggregation] 選項,選擇 [Terms],Field選擇 machie.os.keyword,表示統計各作業系統的Count數,如下圖:
按下 [Add sub-buckets],選擇 [Split Series],出現 Aggregation 選擇 [Terms],Field選擇 geo.src.keyword,表示要將上圖的作業系統統計數字,再細分來源地理位置,按下 ►[Apply Changes],結果如下圖:
Chart Type: 視覺圖像的選擇,有三種圖可選 (1) Line (2) Area (3)Bar;
Mode: 模式的選項 (1) normal:將各Aggreation的統計值分開顯示 (2) stacked:將各Aggreation的統計值疊在一起。
Value Axis:Y軸的刻度比例,顯示在左方或右方
如果 Chart Type選擇 Bar圖形,會多出一個選項是 Line Mode,表示顯示區域圖的格線模式,有三種可選擇:(1) straight 直線 (2) smoothed平滑線 (3) stepped 梯形階梯狀,下圖就是選擇堆疊模式平滑線的結果呈現:
如果 Chart Type選擇 Line 圖形,會多出三個選項為 (1) Show Line顯示連續線條 (2) Show Circles 顯示線條上與X軸統計值的交叉點 (3) Line Width設定線條寬度。以下是線條圖形的呈現:
另外,來看一個常見以時間為X軸的長條圖的例子:
在 [Buckets] 區塊按下 [X-Asis],會出現 [Aggregation] 選項,再選擇 [Date Histogram],Field 選擇 @timestamp,按下三角形的 [Apply Change],現在計數已經按時間進行分隔,如果要設定時間間隔,可以在下拉選單設定需要的時間間隔, 就會看到以下的圖:
如果我們想要知道,在各個時間的 Count數字,不同的作業系統各佔多少?我們可以按下[Buckets]下方的[Add sub-buckets],選擇 [Split Series],出現 Sub Aggregation後,選擇[Term]當作統計的欄位選項,此時選擇 Fields 選擇 [machine.os.keyword],其他不變,按下►[Apply Change],就會看到以下的圖:
可以呈現各作業系統在每個統計時間的 Count數比較。
除了上述 Terms 用欄位 跟 Date Histogram日期直方圖來作為資料分群之外,還有以下幾種分群的方式,包括:Histogram直方圖、Range範圍、Date Range日期範圍、IPv4範圍、Filters 過濾器及重要欄位Significant Terms等幾種,之後的各種圖形範例中,再逐項說明各種用法。
[參考資料]
https://www.elastic.co/guide/en/kibana/6.2/xy-chart.html
[修訂紀錄]
2018.05.09 初版
Kibana可以呈現的視覺圖像有十幾種,其中有三個圖被列為試驗性質,包括:Visual Builder, Controls 跟 Vega三種,接著就逐一說明各項圖表的製作方法:
在製作視覺圖像前,有幾件需知道的事:
(1) Y軸一般用作度量聚合(Metric Aggregations)的維度,例如 count、average、sum、min、max、standard deviation等。
(2) X軸一般使用的統計方法為:Date Histogram、Histogram、Range、Date Range、IPv4 Range、Terms 及 Filters 等。
接下來的範例中會提到上述的用法,我們先看一個基本的圖像製作方式。
垂直柱狀圖(Vertical Bar)
我們運用前一篇文章 ELK學習筆記(2):在ElasticSearch匯入及查詢 Sample Data 匯入的資料來當作範例,在前一篇文章提到建立索引的方法,建立Logstash*的索引,或是利用查詢條件式,來當作視覺圖像的製作範例。
按下左方 [Visualize],再按 + 增加視覺圖像,選擇 [Vertical Bar],此時需要選擇索引或查詢式,我們以選擇 Logstash*索引,這時你會看到一個度量維度(Y-Axis),沒有分桶(Buckets)的情況下,圖形只有一大塊區域。
在 Buckets 區塊按下 [X-Asis],出現 [Aggregation] 選項,選擇 [Terms],Field選擇 machie.os.keyword,表示統計各作業系統的Count數,如下圖:
按下 [Add sub-buckets],選擇 [Split Series],出現 Aggregation 選擇 [Terms],Field選擇 geo.src.keyword,表示要將上圖的作業系統統計數字,再細分來源地理位置,按下 ►[Apply Changes],結果如下圖:
Chart Type: 視覺圖像的選擇,有三種圖可選 (1) Line (2) Area (3)Bar;
Mode: 模式的選項 (1) normal:將各Aggreation的統計值分開顯示 (2) stacked:將各Aggreation的統計值疊在一起。
Value Axis:Y軸的刻度比例,顯示在左方或右方
上圖為 Mode設為stacked的圖形,下圖則為設定normal。
如果 Chart Type選擇 Line 圖形,會多出三個選項為 (1) Show Line顯示連續線條 (2) Show Circles 顯示線條上與X軸統計值的交叉點 (3) Line Width設定線條寬度。以下是線條圖形的呈現:
另外,來看一個常見以時間為X軸的長條圖的例子:
在 [Buckets] 區塊按下 [X-Asis],會出現 [Aggregation] 選項,再選擇 [Date Histogram],Field 選擇 @timestamp,按下三角形的 [Apply Change],現在計數已經按時間進行分隔,如果要設定時間間隔,可以在下拉選單設定需要的時間間隔, 就會看到以下的圖:
如果我們想要知道,在各個時間的 Count數字,不同的作業系統各佔多少?我們可以按下[Buckets]下方的[Add sub-buckets],選擇 [Split Series],出現 Sub Aggregation後,選擇[Term]當作統計的欄位選項,此時選擇 Fields 選擇 [machine.os.keyword],其他不變,按下►[Apply Change],就會看到以下的圖:
可以呈現各作業系統在每個統計時間的 Count數比較。
除了上述 Terms 用欄位 跟 Date Histogram日期直方圖來作為資料分群之外,還有以下幾種分群的方式,包括:Histogram直方圖、Range範圍、Date Range日期範圍、IPv4範圍、Filters 過濾器及重要欄位Significant Terms等幾種,之後的各種圖形範例中,再逐項說明各種用法。
[參考資料]
https://www.elastic.co/guide/en/kibana/6.2/xy-chart.html
2018.05.09 初版
"如果 Chart Type選擇 Bar圖形,會多出一個選項是 Line Mode" -> Bar應是Area,Area 才會多出
回覆刪除Line Mode
謝謝補充說明。
刪除張貼留言