Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update grafana integrated #150

Merged
merged 2 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
163 changes: 115 additions & 48 deletions zh_CN/integration/datalayers-with-grafana.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,79 @@
# 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 版本必须 >= 2.1.8。
hipibo marked this conversation as resolved.
Show resolved Hide resolved

### 安装 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` ,可以参考 <a href="https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/" target="_blank">Grafana 官网配置文档</a>,当然你也可以通过脚本安装的方式,为你自动安装插件并生成相关配置文件。
再创建一个表:

修改配置后,需要重启 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 通过脚本安装

Expand All @@ -65,50 +90,92 @@ 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` 端口。

- 添加数据源

点击左侧菜单 `Connections - Data sources`, 然后点击 `Add new data source` 按钮, 找到 `Datalayers` 数据源:

![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 插件中查询语句请通过 <db_name>.<table_name> 的方式来指定数据库。
请注意,在 Grafana 插件中查询语句建议通过 <db_name>.<table_name> 的方式来指定数据库。
:::


### 添加 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 的结合都能帮助企业实现数据驱动的决策和优化,推动业务智能化转型。