Skip to content

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。

alt text

alt text

選擇 Infinity ​

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

alt text

設定 Authentication ​

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

alt text

設定 Base URL ​

依所使用的伺服器區域輸入對應的 URL:

  • 全球服務區:https://www.weincloud.net
  • 中國服務區:https://www.weincloud.net.cn

alt text

設定 Security ​

需將前述 URL 加入允許存取的主機清單(Allowed hosts),依所使用的伺服器區域輸入對應的 URL:

  • 全球服務區:https://www.weincloud.net
  • 中國服務區:https://www.weincloud.net.cn

alt text

建立 Panel(Time Series) ​

選擇 Visualization ​

Visualization 選擇 Time series。

alt text

基礎設定 ​

Parser 選擇 JQ,並帶入取得標籤歷史資料的 API 路徑:

/dashboard/api/v2/open_api/history

alt text

設定 Body ​

點開 Headers, Body, Request params:

  • Body Type 選擇:Raw
  • Body Content Type 選擇:JSON

alt text

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 直接操作查詢的時間範圍。

alt text

alt text

設定 Result Parsing ​

點擊 Parsing options & Result fields:

  • Rows/Root 輸入 .d.[].values,以取得每一筆標籤的 values 資料
  • Columns 需進行格式轉換:hmi_time 轉為 Time(UNIX ms);value 轉為 Number

alt text

複製多筆 Query ​

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

alt text

完成設定 ​

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

alt text