歡迎光臨
每天分享高質量文章

Kibana或Grafana,時間序列可視化如何選擇?


      Grafana已經迅速成為事實上的“DevOps”工具之一,用於實時監控時間序列指標的儀錶盤(DashBoard)。除了強大的可視化之外,Grafana支持多種後端資料源,包括InfluxDB,Graphite,Elasticsearch和其他許多可以通過插件添加的資料源


      Kibana是另一個類似的前端工具,它是Elastic Stack的資料可視化前端,對Beats,Logstash(攝取)和Elastic search本身(儲存)進行了補充。隨著Elastic Stack版本5.x的發佈,Kibana現在包含Timelion,用於交互式時間序列圖表。


      為了進一步瞭解相關內容,下麵一起來看看一個性能分析工具中示例儀錶板。我們同時使用Grafana和Kibana來呈現不同的資料視圖

      為了讓用戶能夠跨多個維度查看和分析性能資料,我們使用了Kibana。

      最近發佈的TimelionKibana的一個時間序列可視化插件,在日常工作中,我們經常確保使用正確的工具來完成正確的工作。在時間序列可視化方面,是採用Grafana來處理時間序列指標,還是Timelion能填補這個空白,又或是使我們能夠簡化我們平臺的工具集


      在這篇文章中,我們將採用Timelion和Grafana來實現功能互補。目的不是要定義哪一個是“最好的”(一個毫無意義的實驗),也不是要創建一個不可理解的展示圖,而是要看看這兩種工具在實時比較中是如何發揮各自優勢,使得更容易建立圖表。如哪一個產生一個更好看的儀錶板?對最終用戶閱讀和分析資料來說,哪個版本具有最好的用戶界面和用戶體驗?在分析這些資料的資料源和功能方面有什麼限制?最終,我們是否可以將我們的產品的前端統一到這些工具中


Timelion簡介


      從Kibana 5版本開始,Timelion(發音為“Timeline”)成為預設安裝選項。圖表是使用定製的查詢語言定義的,該語言既指定了資料的來源,又指定了應用的功能以及呈現方式。該查詢在Timelion界面的文本框中指定。在這個簡單的圖表中,我們使用運算式.es(*)來顯示Elasticsearch中隨時間變化的文件總數


      每個Timelion運算式都以一個資料源函式開始,接著連接的一系列函式。提供了超過20個功能,其運算式分為三組

  • 1.資料源 – 預設是Elasticsearch,其他API,如World Bank和Quandl也可用。
    例如在上面的圖表中,預設運算式.es(*)(類似於.elasticsearch(*))顯示了Elasticsearch中所有文件的計數。您可以在這裡指定Elasticsearch索引,映射和指標的細節以及過濾器。

  • 2.從簡單算術到移動值,累計和和導數的資料操作。例如,向資料添加移動平均數就如同將函式包含到運算式結尾一樣簡單:.es(*).movingaverage(12)

  • 3.視覺元素的主題和風格,包括欄、點、線,標簽,標題和圖例。下圖顯示了從 Oracle資料庫中的活動會話歷史資料中提取的按時間運行的查詢數。.es(index=ash*).lines(1,fill=1).title(‘RunningQueries’).legend(none).label(false)


      關於開發者可用的文件和指南,Timelion 的主要文件比較有限。有關每個函式的詳細信息,請參閱github上的文件


      值得樂觀的是,查詢生成器文本框可以支持自動完成相關功能及其引數,Timelion界面也提供在線說明檔案幫助開發者。Timelion頁面的缺點是運算式文本框的大小,如您將在本文中閱讀更多內容,需要更長時間才能將多個度量標準和幾個樣式實現可視化。

      如果您是初學者,為避免混淆拼寫錯誤,請嘗試逐步構建運算式並逐漸添加函式。Timelion提供的資料處理函式中特別註意的是統計分析函式。

  • .trend() :使用指定的回歸演算法將趨勢線添加到圖形中

  • .holt():這個函式的早期版本,它對一個序列的開始進行採樣,並用它來預測通過幾個可選引數應該發生的事情。

      這對我們的性能監控儀錶板非常有用,如果您繼續以當前速度使用資源,則可以顯示諸如記憶體、磁盤空間不足等問題。

      與此相關的是Prelert預計Elastic將在明年對其收購成為X-Pack的一部分。雖然基於儀錶板的分析是非常有用的,但是當我們想要警報的清晰樣式被識別時,它可以通過Watcher來提供實時通知給尋呼機系統等。


Grafana介紹


      Grafana是一個開源的功能豐富的儀錶板和圖形編輯器,正在迅速成為最好的時間序列度量可視化工具之一。Grafana由於其簡單,易用和時髦的外觀和感覺而吸引了眾多用戶,從而贏得了廣泛的青睞。

      Grafana中的大部分配置都是通過全面的圖形編輯界面完成的。

      Grafana編輯器中,查詢通常是通過GUI完成的。手動指定的查詢用於訪問高級功能以訪問儲存在Elastic search中的資料的。對支持Elasticsearch而言,Grafana(v4.1.1)新版本支持Elastic search v2v5版本。據作者在Grafana 4.1.1Elastic search v5上的實踐經歷表明,它作為長期資料源不像InfluxDBGraphite(甚至是Elastic search v2)樣穩定。例如,如果圖表配置不正確(例如: 設置為空值),Grafana在傳回沒有結果或在丟擲描述性錯誤方面,顯得不夠直觀

      在Grafana家庭中增加的一個有趣成員是警報引擎(Alerting Engine),它允許用戶附加規則到儀錶盤面板。一旦儀錶盤被儲存,Grafana將把警報規則提取到一個單獨的警報規則儲存器中對它們進行評估。

資料呈現方式


      從錶面上看,Grafana和Timelion的輸出可能非常相似的。然而,這兩個工具之間有一些值得挖掘的差異。這些差異主要是在顯示配置部分和簡化的用戶體驗上。

      如上所述,Grafana的圖表編輯器有一個清晰的界面,可以選擇多種選項來改進資料的顯示。

      Timelion也支持圖表格式,但比Grafana的選項要少一些。正如我們上面看到的,它也依賴於用戶將正確的函式連接到資料查詢運算式上。例如,要添加一個圖表,其中包含一個正在運行的查詢標題,圖中右上角的圖例,當沒有標記軸,且資料顯示寬度為1px時,您需要手動編輯該運算式。


.lines(1,fill=1).title(‘RunningQueries’).legend(ne).label(false)


      Grafana在圖表格式上提供了更大的靈活性。例如可以顯示不同單位的指標,如時間,貨幣和資料。Grafana可以根據單位自動縮放坐標軸(Byte-> MB->GB)。下麵的Grafana圖形顯示了Elastic search中儲存的受監控應用程式的磁盤使用情況。Y軸上顯示磁盤使用率(KB),Grafana在標簽中自動縮放到適當的位置(MiB)。

     Timelion中可以通過指定適當的轉換來手動完成,但是與Grafana的動態轉換相比,這是一個硬編碼的選項,即使如此,也不會有Grafana在上面做的不同的標記(最初KiB隨後切換到MiB)。

      Grafana也支持在Y軸上渲染負值,這在Timelion中是不可能的。除了真正的負資料值(例如零度以下的溫度記錄),使用Grafana的變換功能可以將特定的數列反轉,以便幫助理解資料,如下所示:

      Grafana另一個不錯的功能(不幸的是Timelion不具備的功能) 能夠在圖例中顯示指標值。對用戶來說,查看關鍵指標值是一種很好的可視化方式,無需單獨的表格或用戶通過滑鼠點擊查找。

資料交互方式


      Grafana和Kibana在圖表資料交互的層次和易用性方面也是不同的。Kibana和Grafana都支持在圖表上拖動選擇時間段來放大細節,不過,Kibana在這個方面功能更加豐富。作為Elastic search的前端,它支持對資料進行即時文本搜索,它還允許用戶通過單擊圖表中的值來自動深入查看資料,以顯示詳細信息。在下麵的OBIEE監控儀錶板(內置Kibana)中,Session_States活動會話歷史記錄資料在“等待”和“On CPU上”過濾器就是是由用戶創建的,用戶只需點擊其中一個圖表中的資料點即可。

      Timelion也支持這種交互性方式,在es()資料源函式包含一個名為“kibana”的引數。該引數定義了可視化是否應該遵循應用於Kibana儀錶板其餘部分的過濾器,如下所示。

.es(index=dms_*,metric=’avg:obips1-Current_Disk_Usage’,fit=’nearest’,kibana=’true’)


      雖然可以在Grafana中指定Elastic search Lucene查詢併在編輯器中使用術語過濾器,但這些對於圖形來說是區域性的。

      通過使用一些變數,可以在單個Grafana儀錶板上啟用全域性過濾,但這是針對每個儀錶板的定製解決方案,而不是Kibana提供的開箱即用功能通過單擊圖例中的度量標簽(如上),Grafana可以使您切換圖表中的資料顯示。


最後的結論


      將Kibana和Timelion與Grafana進行比較,在一個類似的展示時間序列指標方面,兩個軟體都有各自的優缺點


      Grafana的圖形編輯器提供了一個令人驚嘆的接口,可用於完善資料展示。Grafana不僅是一個簡單易用的開發工具,而且為結果儀錶盤增加了大量的預估選項,使得終端用戶更容易閱讀和分析。


      另一方面,Timelion只是Kibana提供的許多可視化方案(包括Tile Map和Tag Cloud)的一種方案,這意味著儀錶板可以用數字和時間序列來構建,但是信息通過各種可視化顯示。不幸的是,Timelion及其當前版本的運算式編輯器看起來有些不成熟,功能相對有限。顯示選項加上一個更好的編輯器會使Timelion得到用戶青睞。


      所以,我們將堅持Grafana和Kibana一起使用實現能力互補。Grafana提供了純粹的時間序列指標儀錶板,易於構建是關鍵因素之一,同時還提供豐富的格式化功能,並支持不同的資料源(如Elastic search)。Kibana在儀錶板上做了無與倫比的工作,可以在各個維度上對指標進行豐富的探索,並以更多的可視化形式呈現。


      這是一個快速發展的工具領域,作者可以預見,Grafana和Kibana將繼續以很快的速度發展,這對用戶和開發者來說,確實是好訊息!

>>>>>>>>>>>>>    推薦閱讀    <<<<<<<<<<<<<

溫馨提示:
搜索“ICT_Architect”“掃一掃”二維碼關註公眾號,點原文鏈接獲取更多精彩內容。

求知若渴, 虛心若愚(Stay hungry, Stay foolish)

赞(0)

分享創造快樂