Grafana
功能概述
本篇說明如何透過 Grafana 的 Infinity 資料來源外掛,串接 Dashboard Data API,將 HMI 標籤歷史資料以趨勢圖(Time Series)的形式呈現於 Grafana 面板。
前置需求
- 已安裝 Grafana,並具備新增 Data Source 與建立 Dashboard 的權限
- 已取得有效的 API 金鑰(於左側選單〔Dashboard〕→〔儀表板 API 金鑰〕建立),詳見 Dashboard Data API
操作步驟
安裝 Infinity 外掛
於 Grafana 安裝 Infinity 資料來源外掛。
設定 Data Source
新增 Data Source
依序點擊 Connections -> Data sources -> Add new data source。


選擇 Infinity
於資料來源類型清單中選擇 Infinity。

設定 Authentication
- 類型選擇:
API Key Value pair - Key 輸入:
X-API-KEY - Value 輸入 API 金鑰

設定 Base URL
依所使用的伺服器區域輸入對應的 URL:
- 全球服務區:
https://www.weincloud.net - 中國服務區:
https://www.weincloud.net.cn

設定 Security
需將前述 URL 加入允許存取的主機清單(Allowed hosts),依所使用的伺服器區域輸入對應的 URL:
- 全球服務區:
https://www.weincloud.net - 中國服務區:
https://www.weincloud.net.cn

建立 Panel(Time Series)
選擇 Visualization
Visualization 選擇 Time series。

基礎設定
Parser 選擇 JQ,並帶入取得標籤歷史資料的 API 路徑:
/dashboard/api/v2/open_api/history

設定 Body
點開 Headers, Body, Request params:
- Body Type 選擇:
Raw - Body Content Type 選擇:
JSON

Body Content 請依 API 文件輸入對應的查詢內容,範例如下:
json
{
"start": "${__from:date:iso}",
"end": "${__to:date:iso}",
"tags": [
{
"hw_key": "imhwkey",
"name": "16bit Unsigned"
}
]
}${__from:date:iso} 與 ${__to:date:iso} 分別對應 Grafana 上方的時間選擇器,可透過 Grafana 直接操作查詢的時間範圍。


設定 Result Parsing
點擊 Parsing options & Result fields:
Rows/Root輸入.d.[].values,以取得每一筆標籤的 values 資料- Columns 需進行格式轉換:
hmi_time轉為Time(UNIX ms);value轉為Number

複製多筆 Query
單筆 Query 僅能取得 1 個標籤的資料,若需同時顯示多個標籤,需複製該筆 Query 並修改其中的標籤參數,以取得第 2 個標籤的資料。

完成設定
於右上方點擊 Save Dashboard 儲存面板設定,亦可先點擊 Refresh 預覽資料是否正確顯示。
