插件 〉Apache IoTDB


开发者

Apache 软件基金会 (ASF)

注册以接收不定期的产品新闻和更新



数据源
社区

Apache IoTDB

  • 概览
  • 安装
  • 更新日志
  • 相关内容

Grafana 插件

Grafana 是一个开源的体积指标监控和可视化工具,可用于呈现时序数据并分析应用程序运行时状态。

我们为 IoTDB 开发了 Grafana 插件,使用 IoTDB REST 服务来呈现时序数据,并提供了多种时序数据可视化方法。

IoTDB Grafana 插件支持 Grafana 9.3.0 及以上版本

如何使用 Grafana 插件

访问 Grafana 仪表盘

Grafana 在网页仪表盘中显示数据。使用时请打开您的浏览器并访问 http://<ip>:<port>

  • IP 是您 Grafana 所在服务器的 IP,Port 是 Grafana 的运行端口(默认为 3000)。

  • 默认登录用户名和密码均为 admin

添加 IoTDB 作为数据源

点击左侧的 设置 图标,选择 数据源 选项,然后点击 添加数据源

选择 Apache IoTDB 数据源。

  • URL 字段中填写 http://<ip>:<port>
    • ip 是您的 IoTDB 服务器所在主机的 IP
    • port 是 REST 服务的运行端口(默认为 18080)。
  • 输入 IoTDB 服务器的用户名和密码

点击 保存并测试,将显示 成功

创建一个新面板

点击左侧的 仪表盘 图标,选择 管理 选项。

点击右上角的 新仪表盘 图标,选择 添加一个空面板 选项。

Grafana 插件支持 SQL:完全自定义模式 和 SQL:下拉列表模式,默认模式为 SQL:完全自定义模式。

SQL:完全自定义输入方法

在 SELECT、FROM、WHERE 和 CONTROL 输入框中输入内容,其中 WHERE 和 CONTROL 输入框是可选的。

如果查询涉及多个表达式,我们可以点击 SELECT 输入框右侧的 + 来添加 SELECT 子句中的表达式,或者点击 FROM 输入框右侧的 + 来添加路径前缀

SELECT 输入框:内容可以是时间序列后缀、函数、udf、算术表达式或嵌套表达式。您还可以使用 as 子句重命名结果。

以下是一些有效的 SELECT 内容示例

  • s1
  • top_k(s1, 'k'='1') as top
  • sin(s1) + cos(s1 + s2)
  • udf(s1) as "alias"

FROM 输入框:内容必须是时间序列的路径前缀,例如 root.sg.d

WHERE 输入框:内容应该是查询的过滤条件,例如 time > 0s1 < 1024 and s2 > 1024

CONTROL 输入框:内容应该是一个控制查询类型和输出格式的特殊子句。GROUP BY 输入框支持使用 Grafana 的全局变量来获取当前时间间隔的变化 $__from(开始时间)、$__to(结束时间)

以下是一些有效的 CONTROL 内容示例

  • GROUP BY ([$__from, $__to), 1d)
  • GROUP BY ([$__from, $__to),3h,1d)
  • GROUP BY ([2017-11-01T00:00:00, 2017-11-07T23:00:00), 1d)
  • GROUP BY ([2017-11-01 00:00:00, 2017-11-07 23:00:00), 3h, 1d)
  • GROUP BY ([$__from, $__to), 1m) FILL (PREVIOUSUNTILLAST)
  • GROUP BY ([2017-11-07T23:50:00, 2017-11-07T23:59:00), 1m) FILL (PREVIOUSUNTILLAST)
  • GROUP BY ([2017-11-07T23:50:00, 2017-11-07T23:59:00), 1m) FILL (PREVIOUS, 1m)
  • GROUP BY ([2017-11-07T23:50:00, 2017-11-07T23:59:00), 1m) FILL (LINEAR, 5m, 5m)
  • GROUP BY ((2017-11-01T00:00:00, 2017-11-07T23:00:00], 1d), LEVEL=1
  • GROUP BY ([0, 20), 2ms, 3ms), LEVEL=1

提示:不建议使用 select * from root.xx.** 等语句,因为这些语句可能导致 OOM。

SQL:下拉列表

在 TIME-SERIES 选择框中选择时间序列,在 FUNCTION 选项中选择函数,并在 SAMPLING INTERVAL、SLIDING STEP、LEVEL、FILL 输入框中输入内容,其中 TIME-SERIES 是必填项,其余为非必填项。

支持变量和模板函数

SQL:完全自定义和 SQL:下拉列表两种输入方法都支持 Grafana 的变量和模板函数。在下面的示例中,使用了原始输入方法,聚合方法类似。

创建新面板后,点击右上角的设置按钮

选择 Variables,点击 Add variable

示例 1:输入 名称标签查询,然后点击 更新 按钮

应用变量,在 Grafana 面板 中输入变量,然后点击 保存 按钮

示例 2:变量的嵌套使用

示例 3:使用函数变量

上图中的 Name 是变量名,也是我们将来在面板中使用的变量名。Label 是变量的显示名称。如果为空,则显示 Name 变量;否则,显示 Label 的名称。类型下拉列表中有 Query、Custom、Text box、Constant、DataSource、Interval、Ad hoc filters 等,所有这些都可以在 IoTDB 的 Grafana 插件中使用。有关更详细的用法介绍,请查阅官方手册 (https://grafana.org.cn/docs/grafana/latest/variables/)

除了上面的示例,还支持以下语句

  • show databases
  • show timeseries
  • show child nodes
  • show all ttl
  • show latest timeseries
  • show devices
  • select xx from root.xxx limit xx 等 SQL 查询

提示:如果查询字段包含布尔型数据,结果值会将 true 转换为 1,将 false 转换为 0。

Grafana 告警功能

此插件支持 Grafana 告警功能。

有关 Grafana 操作的更多详细信息,请参阅官方 Grafana 文档:https://grafana.org.cn/docs/grafana/latest/alerting/

在 Grafana Cloud 上安装 Apache IoTDB

有关更多信息,请访问文档:插件安装

<!--

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

-->

更新日志

请参阅 RELEASE_NOTES.md