diff --git a/zh_CN/assets/datalayers-with-grafana/config_datasource.jpg b/zh_CN/assets/datalayers-with-grafana/config_datasource.jpg new file mode 100644 index 0000000..55d23f4 Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/config_datasource.jpg differ diff --git a/zh_CN/assets/datalayers-with-grafana/dashboard.jpg b/zh_CN/assets/datalayers-with-grafana/dashboard.jpg new file mode 100644 index 0000000..e0641b6 Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/dashboard.jpg differ diff --git a/zh_CN/assets/datalayers-with-grafana/download_grafana.png b/zh_CN/assets/datalayers-with-grafana/download_grafana.png new file mode 100644 index 0000000..987c8f1 Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/download_grafana.png differ diff --git a/zh_CN/assets/datalayers-with-grafana/plugin_help.png b/zh_CN/assets/datalayers-with-grafana/plugin_help.png new file mode 100644 index 0000000..60fa618 Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/plugin_help.png differ diff --git a/zh_CN/assets/datalayers-with-grafana/select_all_example.jpg b/zh_CN/assets/datalayers-with-grafana/select_all_example.jpg new file mode 100644 index 0000000..fab8318 Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/select_all_example.jpg differ diff --git a/zh_CN/assets/datalayers-with-grafana/switch_to_sql_editor.jpg b/zh_CN/assets/datalayers-with-grafana/switch_to_sql_editor.jpg new file mode 100644 index 0000000..092a8bb Binary files /dev/null and b/zh_CN/assets/datalayers-with-grafana/switch_to_sql_editor.jpg differ diff --git a/zh_CN/integration/datalayers-with-grafana.md b/zh_CN/integration/datalayers-with-grafana.md index a42655b..1c8d52e 100644 --- a/zh_CN/integration/datalayers-with-grafana.md +++ b/zh_CN/integration/datalayers-with-grafana.md @@ -1,54 +1,78 @@ # Grafana -Datalayers 支持与开源数据可视化系统 Grafana 快速集成搭建数据监测仪表盘与告警系统,通过简单的配置,Datalayers 中的数据可以在仪表盘(DashBoard)上进行可视化展现。 -若你想通过 docker compose 零配置快速体验,请点击[详情](https://github.com/datalayers-io/datalayers-with-grafana)查看。 +随着物联网 (IoT)、工业自动化、智能能源等领域的迅猛发展,数据量呈现爆炸式增长。如何高效管理这些时序数据并实现实时监控,已成为各行业面临的关键挑战。Datalayers 作为一款专为工业 IoT 和连接车辆等场景优化的时序数据库,提供了强大的分布式存储和计算能力。而通过与Grafana 的集成,用户可以将这些复杂的时序数据以可视化的形式呈现出来,帮助实现实时数据洞察。 -## 安装 Datalayers +本文将介绍如何将 Datalayers 与 Grafana 集成,以实现数据存储、可视化,以下是具体的集成步骤: -Datalayers 支持多种安装方式,具体安装方法请参考**快速开始**章节。 +我们将以 **手动配置** 和 **零配置** 两种方式进行介绍。 +## 方式一:手动配置 -## 安装 Grafana +### 环境准备 -目前 Datalayers 支持 Grafana >=9.2.5 版本。请前往 [Grafana 官网下载页](https://grafana.com/grafana/download)。 +- Grafana 版本必须 >= 9.2.5。 +### 安装 Datalayers -## 安装并配置 Grafana 插件 +Datalayers 支持多种安装方式,具体安装方法请参考**快速开始**章节。 -安装好 Grafana 之后就可以进行插件的安装了,建议安装前先停止你的 Grafana 服务。下面将介绍三种安装方式: +此处我们以 Ubuntu 操作系统、amd64 平台为例,请至[下载页](https://datalayers.cn/download?broker=ubuntu)下载对应平台的 `deb` 安装包。 -:::: tabs +安装完成后,可以通过我们提供的命令行工具写入一些示例数据: -::: tab 手动安装插件 -下载[Grafana 插件](https://github.com/datalayers-io/grafana-datalayers-datasource/releases) 并解压到本地,例如 `./myplugins`。 -编辑你的 `grafana.ini`,找到并修改如下配置: +首先,通过以下命令连接到数据库: +``` bash +dlsql -u admin -p public ``` -[paths] -plugins = YOUR_UNZIP_DIRECTORY/myplugins -[plugins] -allow_loading_unsigned_plugins = datalayersio-datasource +然后创建一个示例数据库: + +``` bash +create database demo; ``` -关于如何配置你的 `grafana.ini` ,可以参考 Grafana 官网配置文档,当然你也可以通过脚本安装的方式,为你自动安装插件并生成相关配置文件。 +再创建一个表: -修改配置后,需要重启 Grafana 服务。 +``` bash +CREATE TABLE demo.sensor_info ( + ts TIMESTAMP(9) NOT NULL DEFAULT CURRENT_TIMESTAMP, + sn STRING, + speed DOUBLE, + temperature DOUBLE, + timestamp KEY (ts)) + PARTITION BY HASH(sn) PARTITIONS 8 + ENGINE=TimeSeries + with (ttl='10d'); +``` -打开浏览器,登录到 Grafana +写入一些示例数据,当然为了数据更丰富,你可以多写入一点随机数据: -- 添加数据源 +``` bash +INSERT INTO sensor_info(sn, speed, temperature) VALUES('100', 22.12, 30.8), ('101', 34.12, 40.6), ('102', 56.12, 52.3); +``` -点击左侧菜单 `Connections - Data sources`, 然后点击 `Add new data source` 按钮, 找到 `Datalayers` 数据源: +- 关于更多 SQL 的支持,请查看[SQL参考](../sql-reference/data-type.md)。 -![find datasource](../assets/find_datasource.png) +- 关于命令行工具,更详细的用法请参考[命令行工具](../getting-started/command-line-tool.md)。 -- 配置数据源插件, 你可以点击 `Save & test` 按钮保存并测试连通性. -![config datasource](../assets/config_datasource.jpg) -请注意:图中的 `http://datalayers:8360` 需要根据你 Datalayers 部署的地址、端口进行调整。 -::: + +### 安装 Grafana + +请前往 [Grafana 官网下载页](https://grafana.com/grafana/download)。 + +此处我们下载并安装 Linux 的 开源版本 11.2.0: + +![download grafana](../assets/datalayers-with-grafana/download_grafana.png) + + +> 安装好 Grafana 之后就可以进行插件的安装了,建议安装前先停止你的 Grafana 服务。 + +### 安装 Datalayers 数据源插件 + +:::: tabs ::: tab 通过脚本安装 @@ -65,22 +89,21 @@ bash -c "$(curl -fsSL \ 该脚本将为你自动安装插件,并在当前目录生成相关配置文件,脚本运行结束后,请根据脚本提示,进入到你的 Grafana 实例目录,启动 Grafana 服务。 ::: -::: tab 通过 docker 安装 - -首先需要下载 [Grafana 插件](https://github.com/datalayers-io/grafana-datalayers-datasource/releases)并解压到本地,例如 `./myplugins`。 +::: tab 手动安装 +下载[Grafana 插件](https://github.com/datalayers-io/grafana-datalayers-datasource/releases) 并解压到本地,例如 `./myplugins`。 +编辑你的 `grafana.ini`,找到并修改如下配置: -如果你希望单独通过 docker 来运行,请运行以下命令 +``` +[paths] +plugins = YOUR_UNZIP_DIRECTORY/myplugins -``` bash -docker run \ - -v $PWD/plugins/datalayersio-datasource:/var/lib/grafana/plugins/datalayersio-datasource \ - -e GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=datalayersio-datasource \ - --network host \ - --name grafana-datalayers \ - grafana/grafana:latest +[plugins] +allow_loading_unsigned_plugins = datalayersio-datasource ``` -通过浏览器登录到 Grafana。 +修改配置后,需要重启 Grafana 服务。 + +打开浏览器,登录到 Grafana,通常是默认的 `3000` 端口。 - 添加数据源 @@ -88,27 +111,70 @@ docker run \ ![find datasource](../assets/find_datasource.png) -- 配置数据源插件, 你可以点击 `Save & test` 按钮保存并测试连通性. +::: -![config datasource](../assets/config_datasource.jpg) +:::: -请注意:图中的网络地址 `datalayers:8360` 请替换为实际网络地址(域名+端口)。这里 Docker 启动 Grafana 使用了 host 模式,若你希望通过端口映射来启动,请注意使用 Docker 容器内部能够访问的网络地址。 -::: +### 配置插件 -:::: +此时 Grafana 和 Datalayers 数据源插件均已就绪,请通过本地浏览器,登录到 Grafana。 + +请按照下方图示填入对应的数据库地址+端口、用户名+密码,如果开启了 TLS 还需要填写证书。 + +![config plugin](../assets/datalayers-with-grafana/config_datasource.jpg) + +> 推荐填写 metaData 部分,key 为 `'database'`,value 为 `'数据库名称'`,填写后在使用查询语句时可以免写数据库名。 + +配置完成后,你可以点击 `Save & test` 按钮保存并测试连通性。 + + +### 数据查询 +我们之前已经写入了一些示例数据,你可以通过 Datalayers 数据源插件进行一些查询。 +![select all](../assets/datalayers-with-grafana/select_all_example.jpg) -## 配置 Grafana Dashboard +图中使用 `Home - Explore` 面板查询数据,使用默认的界面模式试图拼出 `select * from demo.test` 这样的查询语句。 -现在,你可以按照你喜欢的方式配置 Grafana Dashboard,或者通过 Grafana Explore 进行一些查询。 +当然也可以切换到 SQL 编辑器模式,编写更复杂的查询语句。 -例如: +![select data use sql-editor](../assets/datalayers-with-grafana/switch_to_sql_editor.jpg) -![config datasource](../assets/dashboard.jpg) +你也可以使用`函数` 对数据进行聚合等操作,详见[SQL函数](../sql-reference/aggregation.html)。 + + +在插件的编辑器模式中,你可以使用一些 Grafana 变量,请点击帮助按钮查看: + +![help button](../assets/datalayers-with-grafana/plugin_help.png) ::: tip -请注意,在 Grafana 插件中查询语句请通过 . 的方式来指定数据库。 +请注意,在 Grafana 插件中查询语句建议通过 . 的方式来指定数据库。 ::: + + +### 添加 Dashboard + +现在,你也可以使用 `Grafana - Dashboards` 功能开始添加一个 Dashboard,如下图: + +![select data use sql-editor](../assets/datalayers-with-grafana/dashboard.jpg) + +在此界面可进行更精细的调整,调整完成后可以点击 `Apply` 应用这个 `Panel`,当你添加了较多的 `Panel`,就可以通过 Grafana 强大的自定义编辑功能组合成一个丰富的 Dashboard。 + +## 方式二:零配置 + +如果你想免去安装和配置 Datalayers 与 Grafana,可以通过我们提供的 docker compose 零配置快速体验。 + +首先你需要拉取这个[开源项目](https://github.com/datalayers-io/datalayers-with-grafana)。 它使用 Docker 将 Datalayers、Datalayers 对应的镜像整合到一个 docker-compose 文件中,这样可以快速启动这些服务。 + +``` bash +git clone https://github.com/datalayers-io/datalayers-with-grafana.git +``` +然后请跟随 README 文档完成启动、快速写入示例数据的过程。 + +当你完成上述步骤后,就已经自动完成了上述所有的安装、配置、写入示例数据步骤,你可以直接进行数据查询、添加 Dashboard 相关操作。 + + +## 结语 +将 Datalayers 与 Grafana 集成,不仅能够大幅提升时序数据的管理与分析效率,还能通过灵活的可视化工具为用户提供更加直观的业务洞察。无论是在工业 IoT 还是智能能源等领域,Datalayers 与 Grafana 的结合都能帮助企业实现数据驱动的决策和优化,推动业务智能化转型。