本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本文件主題專為支援 Grafana 10.x 版的 Grafana 工作區而設計。
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱使用 Grafana 第 9 版。
如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱使用 Grafana 第 8 版。
每個關聯性都使用下列選項設定:
- 標籤
-
連結標籤,如視覺化所示。
- Description
-
選用的描述。
- 來源資料來源
-
顯示連結的結果來源。
- 結果欄位
-
定義連結在視覺效果中顯示的位置。
- 目標查詢
-
目標查詢會在按一下連結時執行。
- 轉換
-
對傳入目標查詢的來源資料進行選用操作。
如需建立關聯的詳細資訊,請參閱建立關聯。
來源資料來源和結果欄位
連結會顯示在探索視覺化中,以取得來自關聯來源資料來源的結果。連結會從關聯組態中提供的結果 (結果欄位) 指派給其中一個欄位。每個視覺效果會以不同的方式顯示具有連結的欄位。
目標查詢
在視覺化中按一下連結時,會執行目標查詢。您可以使用所選目標資料來源的查詢編輯器來指定目標查詢。來源資料結果可在目標查詢內以變數存取。
關聯變數
您可以使用目標查詢內的變數來存取與查詢相關的來源資料。關聯使用 Grafana 變數語法。選擇連結時,變數會填入來源結果的值。您可以使用兩種類型的變數:
-
欄位變數 (存取欄位值和標籤)。
-
關聯變數 (存取欄位值和轉換)。
範例:如果來源結果包含名為 的欄位employee
,則可以使用下列方式存取該欄位的值:
-
欄位變數
${__data.fields.employee}
。 -
將上述欄位值映射至 的關聯變數
${employee}
。
除了將欄位值映射到較短的變數名稱之外,還可以將轉換套用至現有欄位來建立更多關聯性變數。
關聯僅在所有變數在所選資料列中有值時,才會建立資料連結。全域變數是此規則的例外狀況,不需要從傳回的資料中填入。這些變數由資料來源自動插補。
相關性轉換
轉換提供從欄位值擷取更多變數的方法。轉換的輸出是一組新變數,可以做為任何其他變數存取。
轉換有兩種類型:logfmt 和規則表達式。
每個轉換都會使用選取的欄位值做為輸入。轉換的輸出是根據轉換的類型和選項而產生的一組新變數。
Logfmt 轉換
logfmt 轉換會解構包含以 logfmt 金鑰/值對
如果您希望轉換套用到與結果欄位不同的欄位,則 logfmt 轉換只需要指定輸入欄位名稱。的範例輸出變數field = "host=srv001 endpoint=/test app=foo"
:
name | value |
---|---|
託管 | srv001 |
端點 | /測試 |
應用程式 | foo |
規則表達式轉換
規則表達式轉換會根據提供的規則表達式解構欄位值。
規則運算式轉換選項:
- 欄位
輸入欄位名稱
- 運算式
-
規則表達式。具名擷取群組會對應至符合群組名稱的變數。如果使用無名稱的比對群組,則會從第一個比對建立變數。如果提供 mapValue,則值會覆寫符合輸入欄位的變數或建立新變數 (請參閱下表中的範例)。
- mapValue
-
與沒有具名比對群組的簡單 regex 群組搭配使用。根據預設,第一個相符項目會使用做為輸入的欄位名稱覆寫變數。若要變更該預設行為,您可以指定 mapValue 屬性。提供的名稱用於建立新的變數。如果您的目標查詢同時需要確切值和以轉換擷取的部分值,這很有用。
範例:假設選取的欄位名稱為 ,employee
而欄位值為 John Doe
。
根據表達式和 mapValue 選項的各種輸出變數:
expression | mapValue | 輸出變數 | comment |
---|---|---|---|
/\w+ (\w+)/ |
- | employee=Doe |
未提供 mapValue。第一個相符項目會對應至現有的欄位名稱變數 (employee )。 |
/(\w+) (\w+)/ |
name | name=John |
第一個相符項目會對應至名為 的新變數name 。 |
/(?\w+) (?\w+)/ |
- | firstName=John , lastName=Doe |
使用具名群組時,它們是輸出變數的名稱,並且會忽略 mapValue。 |
/(?\w+) (?\w+)/ |
name | firstName=John , lastName=Doe |
與上述相同 |