天天看點

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

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

點選後打開如下界面

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

3、建立Datasource變量

說明:例中每台主機的性能資料單獨存儲在一個Datasource資料源中,是以需要建立這樣一個資料源變量。

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

如圖,

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變量。

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

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變量

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

5、編輯pannel,引用變量

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

結果展示

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

參考連結:

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群  

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

繼續閱讀