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