Grafana 利用Grafana Variables變量配置快速切換不同主機的圖表數據展示
用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變量配置快速切換不同主機的圖表數據展示