1. 程式人生 > >Grafana 利用Grafana Variables變量配置快速切換不同主機的圖表數據展示

Grafana 利用Grafana Variables變量配置快速切換不同主機的圖表數據展示

引用變量 tom 環境 reference ria lob sql 保持 dashboard

用Grafana Variables變量配置快速切換不同主機的圖表數據展示

by:授客 QQ:1033553122

測試環境

需求描述

操作步驟

結果展示

測試環境

influxdb-1.5.2.x86_64.rpm

網盤下載地址:

https://pan.baidu.com/s/1jAbY4xz5gvzoXxLHesQ-PA

grafana-5.1.2-1.x86_64.rpm

下載地址:

https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3-1.x86_64.rpm

下載地址:https://pan.baidu.com/s/1wtnPH-iYxaXc6FnL1i0ZVg

需求描述

在一個Dashboard中新建了多個pannel,用於監控目標主機性能,因為需要監控的機器比較多,所以,希望用這一套pannel能方便的展示不同主機的性能--根據用戶選擇的目標機器,自動展示對應的性能數據。

此外,還希望這些pannel在展示數據時,能根據用戶所選的tag進行展示。

另外,還希望在某個pannel上展示1到多個measurement的數據,比如想同時查看看單個、多個磁盤的%util的性能數據

操作步驟

1、新建Dashboard及pannel

2、進入步驟1新建的 Dashboard頁面,點擊Settings->Variables->Add variable

技術分享圖片

點擊後打開如下界面

技術分享圖片

3、新建Datasource變量

說明:例中每臺主機的性能數據單獨存儲在一個Datasource數據源中,所以需要新建這樣一個數據源變量。

技術分享圖片

如圖,

General中 填寫 Name, Type選擇 Datasource,

Data source options Type選擇InfluxDB

其它,設置項保持默認。

說明:

Name 變量名稱,要求變量名唯一,且不包含空白字符。

Label 變量在下拉列表中中的名稱(The name of the dropdown for this variable。

Hide 隱藏該變量的下拉選擇框,即在Dashboard中不展示。

Type 定義變量類型。

4、新建Query變量

說明:tag值需要通過查詢得到,所以要新建Query變量。

技術分享圖片

如圖,

General中 填寫 Name, Type選擇 Query,

Data source options Data source選擇剛新建的變量 $dataSource,以保持變量“聯動”,Refresh 設置為On Time Range Change。填寫Query表達式(表達式書寫規則因數據源不同而不同, 比如mysql,InfluxDB數據庫都用各自的查詢語法, InfluxDB為例,查詢tag值 SHOW TAG VALUES WITH KEY= ‘stuid’ (這裏stuid為tag的key)。Sort選擇 Alphabetical(asc),按字母順序升序排序

存儲到數據源中的數據結構如下

json_body = [
{
"measurement": measurement,
"tags": {
"stuid": tag
},
"time": datetime_for_data,
"fields":field_dic
}
]

Selection Options 勾選Muiti-value,include All option以便變量下拉列表中可以進行多選,否則單選。

其它,設置項保持默認。

說明:

Data source 設置從哪個數據源中查詢。

Refresh 控制啥時候更新變量選擇列表(變量下拉列表中的值)。可選值 never(從不)、On Dashboard Load(Dashboard加載完成之前更新,這會減慢加載速度) 、On Time Range Change(如果變量選項包含一個時間範圍過濾,即和時間相關,或者依賴dashboard時間範圍選擇)

Query 因數據源不同而不同的特定查詢表達式

Regex 正則表達式,用於過濾Query返回的數據(可能我們只需要Query返回中的部分數據,可選。

Sort 定義下拉選項的順序,設置為Diasble則表示保持按查詢返回的數據排序。

Multi-value 如果勾選,即開啟,則變量下拉列表指出多選

Include All option 添加一個 All 選項,該選項表示包含所有變量值

Custom all value 如上,默認添加的ALL選項會包含同查詢表達式綁定的所有值,這些值可能會有很多,這會帶來性能問題,這種情況下,我們可以指定一個自定義all值,比如一個通配符正則表達式(globs 或 lucene 語法的表達式),以減少all所包含的數據量,如果發現設置了不起作用,那麽要考慮正則表達式是否正確了。

新建供磁盤使用的measurement Query變量

技術分享圖片

5、編輯pannel,引用變量

技術分享圖片

技術分享圖片

結果展示

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

參考鏈接:

http://docs.grafana.org/reference/templating/

http://docs.grafana.org/features/datasources/influxdb/

附:

來自網絡的一個演示demo:

http://47.96.36.117:3000/dashboard/db/nginxfang-wen-tong-ji?spm=a2c4g.11186623.2.78.546e6e15HziVlc&orgId=1

Grafana 利用Grafana Variables變量配置快速切換不同主機的圖表數據展示