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。
最近釋出的Timelion是Kibana的一個時間序列視覺化外掛,在日常工作中,我們經常確保使用正確的工具來完成正確的工作。在時間序列視覺化方面,是採用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 v2和v5版本。據作者在Grafana 4.1.1和Elastic search v5上的實踐經歷表明,它作為長期資料來源不像InfluxDB和Graphite(甚至是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)
相關文章
- 如何用Python做輿情時間序列視覺化?Python視覺化
- 資料視覺化如何選擇合適的視覺化圖表?視覺化
- 時間序列 ACF 和 PACF 理解、程式碼、視覺化視覺化
- 時間序列化資料庫選型?時序資料庫的選擇?資料庫
- 視覺化BI工具如何選擇?這2款省心省時又省力!視覺化
- 如何選擇數字孿生視覺化平臺視覺化
- LSTM擇時+StockRanker選股的視覺化策略實現視覺化
- Jupyter 常見視覺化框架選擇視覺化框架
- element 時間選擇器禁止選擇以前的時間
- 如何開發視覺化大屏?報表自動化是最優選擇!視覺化
- 寧波方太的資料視覺化選擇視覺化
- element-ui 時間選擇器設定時間選擇範圍UI
- Prometheus+Grafana視覺化監控SpringBoot專案PrometheusGrafana視覺化Spring Boot
- linux視覺化監控:Grafana+Prometheus+node_exporterLinux視覺化GrafanaPrometheusExport
- 開源的資料視覺化平臺 Kibana 日誌視覺化 mac 安裝筆記視覺化Mac筆記
- 自定義時間選擇器
- Prometheus 監控Mysql伺服器及Grafana視覺化PrometheusMySql伺服器Grafana視覺化
- Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?MySql
- 一小時搭建 EMQ X + InfluxDB + Grafana 物聯網資料視覺化方案MQUXGrafana視覺化
- idou老師教你學Istio 26:如何使用Grafana進行視覺化監控Grafana視覺化
- 【時間序列分析】01. 時間序列·平穩序列
- React Native日期時間選擇元件React Native元件
- uniapp 周選擇範圍時間APP
- Locust+InfluxDB+Grafana 效能測試資料視覺化展示UXGrafana視覺化
- 使用Docker安裝ElasticSearch和視覺化介面Kibana【圖文教學】DockerElasticsearch視覺化
- 選擇使用通用檢視(Generic Views)或檢視集(ViewSets)View
- elastic8.4.0搜尋+logstash<->mysql實時同步+kibana視覺化操作+netcore程式碼筆記ASTMySql視覺化NetCore筆記
- 短視訊平臺搭建,選擇年月日時間軸日期
- Flutter 日期時間選擇類控制元件及國際化Flutter控制元件
- Apisix閘道器-使用Grafana視覺化Apisix的Prometheus資料APIGrafana視覺化Prometheus
- Linux下Zabbix5.0 LTS + Grafana8.2.2圖形視覺化LinuxGrafana視覺化
- EMQX+Prometheus+Grafana:MQTT 資料視覺化監控實踐MQPrometheusGrafanaQT視覺化
- 無需重新學習,使用 Kibana 查詢/視覺化 SLS 資料視覺化
- elasticsearch7.6.2實戰(2)-es視覺化及分析平臺-kibanaElasticsearch視覺化
- 時間序列結構變化分析:Python實現時間序列變化點檢測Python
- 小程式年月日時間段區間選擇
- Json 序列化、反序列化;重複或迴圈使用時注意事項JSON
- NeurIPS 2024 Spotlight | 如何操縱時間序列預測結果?BackTime:全新的時間序列後門攻擊正規化
- 直播帶貨原始碼,日期時間選擇器 選擇範圍限制原始碼