用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
作者:授客
QQ:1033553122
全國軟體測試QQ交流群:7156436
Git位址:https://gitee.com/ishouke
友情提示:限于時間倉促,文中可能存在錯誤,歡迎指正、評論!
作者五行缺錢,如果覺得文章對您有幫助,請掃描下邊的二維碼打賞作者,金額随意,您的支援将是我繼續創作的源動力,打賞後如有任何疑問,請聯系我!!!
微信打賞
支付寶打賞 全國軟體測試交流QQ群