Merge branch '3.0' of github.com:taosdata/TDengine into fix/TD-31288
|
@ -63,7 +63,7 @@ toc_max_heading_level: 4
|
|||
|
||||
1. 数据库(Database):数据库提供时序数据的高效存储和读取能力。在工业、物联网场景,由设备所产生的时序数据量是十分惊人的。从存储数据的角度来说,数据库需要把这些数据持久化到硬盘上并最大程度地压缩,从而降低存储成本。从读取数据的角度来说,数据库需要保证实时查询,以及历史数据的查询效率。比较传统的存储方案是使用 MySql、Oracle 等关系型数据库,也有 Hadoop 体系的 HBase,专用的时序数据库则有 InfluxDB、OpenTSDB、Prometheus 等。
|
||||
|
||||
2. 数据订阅(Data Subscription):很多时序数据应用都需要在第一时间订阅到业务所需的实时数据,从而及时了解被监测对对象的最新状态,用 AI 或其他工具做实时的数据分析。同时,由于数据的隐私以及安全,你只能容许应用订阅他有权限访问的数据。因此,一个时序数据处理平台一定需要具备数据订阅的能力,帮助应用实时获取最新数据。
|
||||
2. 数据订阅(Data Subscription):很多时序数据应用都需要在第一时间订阅到业务所需的实时数据,从而及时了解被监测对对象的最新状态,用 AI 或其他工具做实时的数据分析。同时,由于数据的隐私以及安全,你只能允许应用订阅他有权限访问的数据。因此,一个时序数据处理平台一定需要具备数据订阅的能力,帮助应用实时获取最新数据。
|
||||
|
||||
3. ETL(Extract, Transform, Load):在实际的物联网、工业场景中,时序数据的采集需要特定的 ETL 工具进行数据的提取、清洗和转换操作,才能把数据写入数据库中,以保证数据的质量。因为不同数据采集系统往往使用不同的标准,比如采集的温度的物理单位不一致,有的用摄氏度,有的用华氏度;系统之间所在的时区不一致,要进行转换;时间分辨率也可能不统一,因此这些从不同系统汇聚来的数据需要进行转换才能写入数据库。
|
||||
|
||||
|
@ -109,7 +109,7 @@ toc_max_heading_level: 4
|
|||
|
||||
5. 必须拥有高效的缓存功能:绝大部分场景,都需要能快速获取设备当前状态或其他信息,用以报警、大屏展示或其他。系统需要提供一高效机制,让用户可以获取全部、或符合过滤条件的部分设备的最新状态。
|
||||
|
||||
6. 必须拥有实时流式计算:各种实时预警或预测已经不是简单的基于某一个阈值进行,而是需要通过将一个或多个设备产生的数据流进行实时聚合计算,不只是基于一个时间点、而是基于一个时间窗口进行计算。不仅如此,计算的需求也相当复杂,因场景而异,应容许用户自定义函数进行计算。
|
||||
6. 必须拥有实时流式计算:各种实时预警或预测已经不是简单的基于某一个阈值进行,而是需要通过将一个或多个设备产生的数据流进行实时聚合计算,不只是基于一个时间点、而是基于一个时间窗口进行计算。不仅如此,计算的需求也相当复杂,因场景而异,应允许用户自定义函数进行计算。
|
||||
|
||||
7. 必须支持数据订阅:与通用大数据平台比较一致,同一组数据往往有很多应用都需要,因此系统应该提供订阅功能,只要有新的数据更新,就应该实时提醒应用。由于数据隐私和安全,而且这个订阅也应该是个性化的,只能订阅有权查看的数据,比如仅仅能订阅每小时的平均功率,而不能订阅原始的电流、电压值。
|
||||
|
||||
|
@ -119,7 +119,7 @@ toc_max_heading_level: 4
|
|||
|
||||
10. 必须支持灵活的多维度分析:对于联网设备产生的数据,需要进行各种维度的统计分析,比如从设备所处的地域进行分析,从设备的型号、供应商进行分析,从设备所使用的人员进行分析等等。而且这些维度的分析是无法事先想好的,是在实际运营过程中,根据业务发展的需求定下来的。因此时序大数据系统需要一个灵活的机制增加某个维度的分析。
|
||||
|
||||
11. 需要支持即席分析和查询。为提高大数据分析师的工作效率,系统应该提供一命令行工具或容许用户通过其他工具,执行 SQL 查询,而不是非要通过编程接口。查询分析的结果可以很方便的导出,再制作成各种图表。
|
||||
11. 需要支持即席分析和查询。为提高大数据分析师的工作效率,系统应该提供一命令行工具或允许用户通过其他工具,执行 SQL 查询,而不是非要通过编程接口。查询分析的结果可以很方便的导出,再制作成各种图表。
|
||||
|
||||
12. 必须支持数据降频、插值、特殊函数计算等操作。原始数据的采集频次可能很高,但具体分析往往不需要对原始数据执行,而是数据降频之后。系统需要提供高效的数据降频操作。设备是很难同步的,不同设备采集数据的时间点是很难对齐的,因此分析一个特定时间点的值,往往需要插值才能解决,系统需要提供线性插值、设置固定值等多种插值策略才行。工业互联网里,除通用的统计操作之外,往往还需要支持一些特殊函数,比如时间加权平均、累计求和、差值等。
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ TDengine OSS 是一个开源的高性能时序数据库,与其他时序数据
|
|||
|
||||
TDengine 经过特别优化,以适应时间序列数据的独特需求,引入了“一个数据采集点一张表”和“超级表”的创新数据组织策略。这些策略背后的支撑是一个革命性的存储引擎,它极大地提升了数据处理的速度和效率,无论是在数据的写入、查询还是存储方面。接下来,逐一探索 TDengine 的众多功能,帮助您全面了解这个为高效处理时间序列数据而生的大数据平台。
|
||||
|
||||
1. 写入数据:TDengine 支持多种数据写入方式。首先,它完全兼容 SQL,允许用户使用标准的 SQL 语法进行数据写入。而且 TDengine 还支持无模式(Schemaless)写入,包括流行的 InfluxDB Line 协议、OpenTSDB 的 Telnet 和 JSON 协议,这些协议的加入使得数据的导入变得更加灵活和高效。更进一步,TDengine 与众多第三方工具实现了无缝集成,例如 Telegraf、Prometheus、EMQX、StatsD、collectd 和 HiveMQ 等。对于 TDengine Enterprise, TDengine 还提供了 MQTT、OPC-UA、OPC-DA、PI、Wonderware, Kafka 等连接器。这些工具通过简单的配置,无需一行代码,就可以将来自各种数据源的数据源源不断的写入数据库,极大地简化了数据收集和存储的过程。
|
||||
1. 写入数据:TDengine 支持多种数据写入方式。首先,它完全兼容 SQL,允许用户使用标准的 SQL 语法进行数据写入。而且 TDengine 还支持无模式(Schemaless)写入,包括流行的 InfluxDB Line 协议、OpenTSDB 的 Telnet 和 JSON 协议,这些协议的加入使得数据的导入变得更加灵活和高效。更进一步,TDengine 与众多第三方工具实现了无缝集成,例如 Telegraf、Prometheus、EMQX、StatsD、collectd 和 HiveMQ 等。在 TDengine Enterprise 中, 还提供了 MQTT、OPC-UA、OPC-DA、PI、Wonderware、Kafka、InfluxDB、OpenTSDB、MySQL、Oracle 和 SQL Server 等连接器。这些工具通过简单的配置,无需一行代码,就可以将来自各种数据源的数据源源不断的写入数据库,极大地简化了数据收集和存储的过程。
|
||||
|
||||
2. 查询数据:TDengine 提供标准的 SQL 查询语法,并针对时序数据和业务的特点优化和新增了许多语法和功能,例如降采样、插值、累计求和、时间加权平均、状态窗口、时间窗口、会话窗口、滑动窗口等。TDengine 还支持用户自定义函数(UDF)
|
||||
|
||||
|
@ -38,13 +38,11 @@ TDengine 经过特别优化,以适应时间序列数据的独特需求,引
|
|||
|
||||
8. 数据迁移:TDengine 提供了多种便捷的数据导入导出功能,包括脚本文件导入导出、数据文件导入导出、taosdump 工具导入导出等。企业版还支持边云协同、数据同步等场景,兼容多种数据源,如 AVEVA PI System 等。
|
||||
|
||||
9. 编程连接器:TDengine 提供不同语言的连接器,包括 C/C++、Java、Go、Node.js、Rust、Python、C#、R、PHP 等。而且 TDengine 支持 REST 接口,应用可以直接通过 HTTP POST 请求 BODY 中包含的 SQL 语句来操作数据库。
|
||||
9. 编程连接器:TDengine 提供不同语言的连接器,包括 C/C++、Java、Go、Node.js、Rust、Python、C#、R、PHP 等。这些连接器大多都支持原生连接和 WebSocket 两种连接方式。TDengine 也提供 REST 接口,任何语言的应用程序可以直接通过 HTTP 请求访问数据库。
|
||||
|
||||
10. 数据安全:TDengine 提供了丰富的用户管理和权限管理功能以控制不同用户对数据库和表的访问权限,提供了 IP 白名单功能以控制不同帐号只能从特定的服务器接入集群。TDengine 支持系统管理员对不同数据库按需加密,数据加密后对读写完全透明且对性能的影响很小。还提供了审计日志功能以记录系统中的敏感操作。
|
||||
|
||||
11. 编程连接器:TDengine 提供了丰富的编程语言连接器,包括 C/C++、Java、Go、Node.js、Rust、Python、C#、R、PHP 等,并支持 REST ful 接口,方便应用通过HTTP POST 请求操作数据库。
|
||||
|
||||
12. 常用工具:TDengine 还提供了交互式命令行程序(CLI),便于管理集群、检查系统状态、做即时查询。压力测试工具 taosBenchmark,用于测试 TDengine 的性能。TDengine 还提供了图形化管理界面,简化了操作和管理过程。
|
||||
11. 常用工具:TDengine 还提供了交互式命令行程序(CLI),便于管理集群、检查系统状态、做即时查询。压力测试工具 taosBenchmark,用于测试 TDengine 的性能。TDengine 还提供了图形化管理界面,简化了操作和管理过程。
|
||||
|
||||
## TDengine 与典型时序数据库的区别
|
||||
|
||||
|
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 70 KiB |
|
@ -7,80 +7,47 @@ toc_max_heading_level: 4
|
|||
import Tabs from '@theme/Tabs'
|
||||
import TabItem from '@theme/TabItem'
|
||||
|
||||
TDinsight 是使用监控数据库和 [Grafana] 对 TDengine 进行监控的解决方案。
|
||||
TDinsight 是使用 [Grafana] 对 TDengine 进行监控的解决方案。
|
||||
|
||||
TDengine 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入指定数据库,并对重要的系统操作(比如登录、创建、删除数据库等)以及各种错误报警信息进行记录。通过 [Grafana] 和 [TDengine 数据源插件](https://github.com/taosdata/grafanaplugin/releases),TDinsight 将集群状态、节点信息、插入及查询请求、资源使用情况等进行可视化展示,同时还支持 vnode、dnode、mnode 节点状态异常告警,为开发者实时监控 TDengine 集群运行状态提供了便利。本文将指导用户安装 Grafana 服务器并通过 `TDinsight.sh` 安装脚本自动安装 TDengine 数据源插件及部署 TDinsight 可视化面板。
|
||||
TDengine 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入指定数据库。通过 Grafana 和 TDengine 数据源插件,TDinsight 将集群状态、节点信息、插入及查询请求、资源使用情况等进行可视化展示,为开发者实时监控 TDengine 集群运行状态提供了便利。本文将指导用户安装 TDengine 数据源插件及部署 TDinsight 可视化面板。
|
||||
|
||||
## 系统要求
|
||||
## 前置条件
|
||||
|
||||
- 单节点的 TDengine 服务器或多节点的 [TDengine] 集群,以及一个[Grafana]服务器。此仪表盘需要 TDengine 3.0.0.0 及以上,并开启监控服务,具体配置请参考:[TDengine 监控配置](../../../operation/monitor)。
|
||||
首先检查下面服务:
|
||||
- TDengine 已经安装并正常运行,此仪表盘需要 TDengine 3.0.0.0 及以上,并开启监控上报配置,具体配置请参考:[TDengine 监控配置](../taosd/#监控相关)。
|
||||
- taosAdapter 已经安装并正常运行。具体细节请参考:[taosAdapter 使用手册](../taosadapter)
|
||||
- taosKeeper 已安装并正常运行。注意需要 taos.cfg 文件中打开 monitor 相关配置项,具体细节请参考:[taosKeeper 使用手册](../taoskeeper)
|
||||
- taosKeeper 已安装并正常运行。具体细节请参考:[taosKeeper 使用手册](../taoskeeper)
|
||||
|
||||
记录以下信息:
|
||||
然后记录以下信息:
|
||||
|
||||
- taosAdapter 集群 REST API 地址,如:`http://tdengine.local:6041`。
|
||||
- taosAdapter 集群 REST API 地址,如:`http://localhost:6041`。
|
||||
- taosAdapter 集群认证信息,可使用用户名及密码。
|
||||
- taosKeeper 记录监控指标的数据库名称。
|
||||
|
||||
## 安装 Grafana
|
||||
## 安装和启动 Grafana
|
||||
|
||||
我们建议在此处使用最新的[Grafana] 8 或 9 版本。您可以在任何[支持的操作系统](https://grafana.com/docs/grafana/latest/installation/requirements/#supported-operating-systems)中,按照 [Grafana 官方文档安装说明](https://grafana.com/docs/grafana/latest/installation/) 安装 [Grafana]。
|
||||
我们建议您使用最新的 Grafana 版本,TDInsight 支持 Grafana 7.5 及以上版本。您可以在任何[支持的操作系统](https://grafana.com/docs/grafana/latest/installation/requirements/#supported-operating-systems)中,按照 [Grafana 官方文档安装说明](https://grafana.com/docs/grafana/latest/installation/) 安装 Grafana。
|
||||
安装后请参考 [启动 Grafana](https://grafana.com/docs/grafana/latest/setup-grafana/start-restart-grafana/) 启动 Grafana 服务。
|
||||
|
||||
<Tabs defaultValue="debian" groupId="install">
|
||||
<TabItem value="debian" label="基于 Debian 或 Ubuntu 系统">
|
||||
安装完成后就可以在 Web 浏览器中打开 Grafana 网址,默认是:`http://localhost:3000`。 默认用户名/密码都是 `admin`。Grafana 会要求在首次登录后更改密码。
|
||||
|
||||
对于 Debian 或 Ubuntu 操作系统,建议使用 Grafana 镜像仓库。使用如下命令从零开始安装:
|
||||
:::info
|
||||
|
||||
```bash
|
||||
sudo apt-get install -y apt-transport-https
|
||||
sudo apt-get install -y software-properties-common wget
|
||||
wget -q -O - https://packages.grafana.com/gpg.key |\
|
||||
sudo apt-key add -
|
||||
echo "deb https://packages.grafana.com/oss/deb stable main" |\
|
||||
sudo tee -a /etc/apt/sources.list.d/grafana.list
|
||||
sudo apt-get update
|
||||
sudo apt-get install grafana
|
||||
```
|
||||
下文介绍中,都以 Grafana v11.0.0 版本为例,其他版本功能可能有差异,请参考 [Grafana 官网](https://grafana.com/docs/grafana/latest/)。
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="redhat" label="基于 CentOS / RHEL 系统">
|
||||
:::
|
||||
|
||||
您可以从官方 YUM 镜像仓库安装。
|
||||
## 安装 TDengine 数据源插件
|
||||
|
||||
```bash
|
||||
sudo tee /etc/yum.repos.d/grafana.repo << EOF
|
||||
[grafana]
|
||||
name=grafana
|
||||
baseurl=https://packages.grafana.com/oss/rpm
|
||||
repo_gpgcheck=1
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://packages.grafana.com/gpg.key
|
||||
sslverify=1
|
||||
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
|
||||
EOF
|
||||
sudo yum install grafana
|
||||
```
|
||||
|
||||
或者用 RPM 安装:
|
||||
|
||||
```bash
|
||||
wget https://dl.grafana.com/oss/release/grafana-7.5.11-1.x86_64.rpm
|
||||
sudo yum install grafana-7.5.11-1.x86_64.rpm
|
||||
# or
|
||||
sudo yum install \
|
||||
https://dl.grafana.com/oss/release/grafana-7.5.11-1.x86_64.rpm
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
|
||||
</Tabs>
|
||||
|
||||
### 安装 TDengine 数据源插件
|
||||
TDInsight 支持图形界面安装、手动安装和脚本安装三种安装方式,一般建议图形界面安装。对于 Grafana 8.5 以下版本可以使用手动安装和脚本安装方式。
|
||||
|
||||
<Tabs defaultValue="manual" groupId="deploy">
|
||||
<TabItem value="manual" label="手动设置 TDinsight">
|
||||
<TabItem value="gui" label="图形界面安装">
|
||||
|
||||
使用 Grafana 最新版本(8.5+),您可以在 Grafana 中[浏览和管理插件](https://grafana.com/docs/grafana/next/administration/plugin-management/#plugin-catalog)。在 Grafana 管理界面中的 **Configurations > Plugins** 页面直接搜索 `TDengine` 并按照提示安装。
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="manual" label="手动安装">
|
||||
|
||||
从 GitHub 安装 TDengine 最新版数据源插件。
|
||||
|
||||
|
@ -108,9 +75,9 @@ allow_loading_unsigned_plugins = tdengine-datasource
|
|||
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="auto" label="自动部署 TDinsight">
|
||||
<TabItem value="auto" label="脚本安装">
|
||||
|
||||
我们提供了一个自动化安装脚本 [`TDinsight.sh`](https://github.com/taosdata/grafanaplugin/releases/latest/download/TDinsight.sh) 脚本以便用户快速进行安装配置。
|
||||
我们提供了一个自动化安装脚本 [TDinsight.sh](https://github.com/taosdata/grafanaplugin/releases/latest/download/TDinsight.sh) 脚本以便用户快速进行安装配置。
|
||||
|
||||
您可以通过 `wget` 或其他工具下载该脚本:
|
||||
|
||||
|
@ -122,9 +89,154 @@ chmod +x TDinsight.sh
|
|||
|
||||
这个脚本会自动下载最新的[Grafana TDengine 数据源插件](https://github.com/taosdata/grafanaplugin/releases/latest) 和 [TDinsight 仪表盘](https://github.com/taosdata/grafanaplugin/blob/master/dashboards/TDinsightV3.json) ,将命令行选项中的可配置参数转为 [Grafana Provisioning](https://grafana.com/docs/grafana/latest/administration/provisioning/) 配置文件,以进行自动化部署及更新等操作。
|
||||
|
||||
假设您在同一台主机上使用 TDengine 和 Grafana 的默认服务。运行 `./TDinsight.sh` 并打开 Grafana 浏览器窗口就可以看到 TDinsight 仪表盘了。
|
||||
1. 假设您在同一台主机上使用 TDengine 和 Grafana 服务。 运行 `./TDinsight.sh` 并打开 Grafana 页面就可以看到 TDinsight 仪表盘了。
|
||||
2. 假设您在主机 `tdengine` 上启动 TDengine 数据库,taosAdapter 的 HTTP 监听端口为 `6041`,用户为 `root1`,密码为 `pass5ord`。执行脚本:`./TDinsight.sh -a http://tdengine:6041 -u root1 -p pass5ord`
|
||||
|
||||
下面是 TDinsight.sh 的用法说明:
|
||||
详细的使用方法请参考 [TDinsight.sh 详细说明](./#附录)
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
## 添加 TDengine 数据源
|
||||
|
||||
安装完毕后, 点击 “Connections” -> “Data sources“, 然后选择 ”tdengine-datasource“,输入 TDengine 相关配置:
|
||||
- Host: TDengine 集群中提供 REST 服务的 IP 地址与端口号,默认 `http://localhost:6041`
|
||||
- User:TDengine 用户名。
|
||||
- Password:TDengine 用户密码。
|
||||
|
||||
点击 `Save & Test` 进行测试,成功会提示:`TDengine Data source is working`。
|
||||
|
||||
|
||||
## 导入 TDengine V3 仪表盘
|
||||
|
||||
在配置 TDengine 数据源界面,点击 “Dashboards” tab,再点击 ”import” 导入 ”TDengine for 3.x” 仪表盘。
|
||||
导入成功后可以进入这个 dashboard,在左上角 ”Log from“ 选项中选择 taosKeeper 中设置的记录监控指标的数据库就可以看到监控结果。
|
||||
|
||||
|
||||
## TDengine V3 仪表盘详情
|
||||
|
||||
TDinsight 仪表盘旨在提供 TDengine 相关资源的使用情况和状态,比如 dnodes、 mnodes、 vnodes 和数据库等。
|
||||
主要分为集群状态、DNodes 概述、MNode 概述、请求、数据库、DNode 资源使用情况和 taosAdapter 监控信息。下面我们分别详细介绍。
|
||||
|
||||
### 集群状态
|
||||
这部分指标包括集群当前信息和状态。
|
||||
|
||||

|
||||
|
||||
指标详情(从上到下,从左到右):
|
||||
|
||||
- **First EP**:当前 TDengine 集群中的`firstEp`设置。
|
||||
- **Version**:TDengine 服务器版本(master mnode)。
|
||||
- **Expire Time** - 企业版过期时间。
|
||||
- **Used Measuring Points** - 企业版已使用的测点数。
|
||||
- **Databases** - 数据库个数。
|
||||
- **Connections** - 当前连接个数。
|
||||
- **DNodes/MNodes/VGroups/VNodes**:每种资源的总数和存活数。
|
||||
- **DNodes/MNodes/VGroups/VNodes Alive Percent**:每种资源的存活数/总数的比例,启用告警规则,并在资源存活率(1 分钟内平均健康资源比例)不足 100%时触发。
|
||||
- **Measuring Points Used**:启用告警规则的测点数用量(社区版无数据,默认情况下是健康的)。
|
||||
|
||||
### DNodes 概述
|
||||
这部分指标包括集群 dnode 基本信息。
|
||||
|
||||

|
||||
|
||||
指标详情:
|
||||
- **DNodes Status**:`show dnodes` 的简单表格视图。
|
||||
- **DNodes Number**:DNodes 数量变化。
|
||||
|
||||
### MNode 概述
|
||||
这部分指标包括集群 mnode 基本信息。
|
||||
|
||||

|
||||
|
||||
指标详情:
|
||||
1. **MNodes Status**:`show mnodes` 的简单表格视图。
|
||||
2. **MNodes Number**:类似于`DNodes Number`,MNodes 数量变化。
|
||||
|
||||
### 请求统计
|
||||
这部分指标包括集群执行 sql 的统计指标。
|
||||
|
||||

|
||||
|
||||
指标详情:
|
||||
1. **Select Request**:select 请求数。
|
||||
2. **Delete Request**:delete 请求数。
|
||||
3. **Insert Request**:insert 请求数。
|
||||
4. **Inserted Rows**:实际插入行数。
|
||||
5. **Slow Sql**:慢查询数,可以在顶部分时长段过滤。
|
||||
|
||||
### 表统计
|
||||
|
||||
这部分指标包括集群中表的统计指标。
|
||||
|
||||

|
||||
|
||||
指标详情:
|
||||
1. **STables**:超级表数量。
|
||||
2. **Total Tables**:所有表数量。
|
||||
3. **Tables**:所有普通表数量随时间变化图。
|
||||
4. **Tables Number Foreach VGroups**:每个 VGroups 包含的表数量。
|
||||
|
||||
### DNode 资源使用情况
|
||||
|
||||
这部分指标包括集群所有数据节点资源使用情况展示,每个数据节点为一个 Row 进行展示。。
|
||||
|
||||

|
||||
|
||||
指标详情(从上到下,从左到右):
|
||||
|
||||
1. **Uptime**:从创建 dnode 开始经过的时间。
|
||||
2. **Has MNodes?**:当前 dnode 是否为 mnode。
|
||||
3. **CPU Cores**:CPU 核数。
|
||||
4. **VNodes Number**:当前 dnode 的 VNodes 数量。
|
||||
5. **VNodes Masters**:处于 master 角色的 vnode 数量。
|
||||
6. **Current CPU Usage of taosd**:taosd 进程的 CPU 使用率。
|
||||
7. **Current Memory Usage of taosd**:taosd 进程的内存使用情况。
|
||||
8. **Max Disk Used**:taosd 所有数据目录对应的最大磁盘使用率。
|
||||
9. **CPU Usage**:进程和系统 CPU 使用率。
|
||||
10. **RAM Usage**:RAM 使用指标时间序列视图。
|
||||
11. **Disk Used**:多级存储下每个级别使用的磁盘(默认为 level0 级)。
|
||||
12. **Disk IO**:磁盘 IO 速率。
|
||||
13. **Net IO**:网络 IO,除本机网络之外的总合网络 IO 速率。
|
||||
|
||||
|
||||
### taosAdapter 监控
|
||||
|
||||
这部分指标包括 taosAdapter rest 和 websocket 请求统计详情。
|
||||
|
||||

|
||||
|
||||
指标详情:
|
||||
|
||||
1. **Total**:总请求数
|
||||
2. **Successful**:总成功数
|
||||
3. **Failed**:总失败数
|
||||
4. **Queries**:总查询数
|
||||
5. **Writes**:总写入数
|
||||
6. **Other**:总其他请求数
|
||||
|
||||
还有上述分类的细分维度折线图。
|
||||
|
||||
## 升级
|
||||
下面三种方式都可以进行升级:
|
||||
- 用图形界面,若有新版本,可以在 ”TDengine Datasource“ 插件页面点击 update 升级。
|
||||
- 按照手动安装步骤自行安装新的 Grafana 插件和 Dashboard。
|
||||
- 通过重新运行 `TDinsight.sh` 脚本升级到最新的 Grafana 插件和 TDinsight Dashboard。
|
||||
|
||||
## 卸载
|
||||
针对不同的安装方式,卸载时:
|
||||
- 用图形界面,在 ”TDengine Datasource“ 插件页面点击 ”Uninstall“ 卸载。
|
||||
- 通过 `TDinsight.sh` 脚本安装的 TDinsight,可以使用命令行 `TDinsight.sh -R` 清理相关资源。
|
||||
- 手动安装的 TDinsight,要完全卸载,需要清理以下内容:
|
||||
1. Grafana 中的 TDinsight Dashboard。
|
||||
2. Grafana 中的 Data Source 数据源。
|
||||
3. 从插件安装目录删除 `tdengine-datasource` 插件。
|
||||
|
||||
## 附录
|
||||
|
||||
### TDinsight.sh 详细说明
|
||||
下面是 TDinsight.sh 的用法详细说明:
|
||||
|
||||
```text
|
||||
Usage:
|
||||
|
@ -189,211 +301,3 @@ sudo ./TDengine.sh -n TDengine-Env1 -a http://another:6041 -u root -p taosdata -
|
|||
请注意,配置数据源、通知 Channel 和仪表盘在前端是不可更改的。您应该再次通过此脚本更新配置或手动更改 `/etc/grafana/provisioning` 目录(这是 Grafana 的默认目录,根据需要使用`-P`选项更改)中的配置文件。
|
||||
|
||||
特别地,当您使用 Grafana Cloud 或其他组织时,`-O` 可用于设置组织 ID。 `-G` 可指定 Grafana 插件安装目录。 `-e` 参数将仪表盘设置为可编辑。
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### 启动 Grafana 服务
|
||||
|
||||
```bash
|
||||
sudo systemctl start grafana-server
|
||||
sudo systemctl enable grafana-server
|
||||
```
|
||||
|
||||
### 登录到 Grafana
|
||||
|
||||
在 Web 浏览器中打开默认的 Grafana 网址:`http://localhost:3000`。
|
||||
默认用户名/密码都是 `admin`。Grafana 会要求在首次登录后更改密码。
|
||||
|
||||
### 添加 TDengine 数据源
|
||||
|
||||
指向 **Configurations** -> **Data Sources** 菜单,然后点击 **Add data source** 按钮。
|
||||
|
||||

|
||||
|
||||
搜索并选择**TDengine**。
|
||||
|
||||

|
||||
|
||||
配置 TDengine 数据源。
|
||||
|
||||

|
||||
|
||||
保存并测试,正常情况下会报告 'TDengine Data source is working'。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### 导入仪表盘
|
||||
|
||||
在配置 TDengine 数据源界面,点击 **Dashboards** tab。
|
||||
|
||||

|
||||
|
||||
选择 `TDengine for 3.x`,并点击 `import`。
|
||||
|
||||
导入完成后,在搜索界面已经出现了 **TDinsight for 3.x** dashboard。
|
||||
|
||||

|
||||
|
||||
进入 TDinsight for 3.x dashboard 后,选择 taosKeeper 中设置的记录监控指标的数据库。
|
||||
|
||||

|
||||
|
||||
然后可以看到监控结果。
|
||||
|
||||
## TDinsight 仪表盘详细信息
|
||||
|
||||
TDinsight 仪表盘旨在提供 TDengine 相关资源的使用情况和状态,比如 dnodes、 mnodes、 vnodes 和数据库等。
|
||||
|
||||
指标详情如下:
|
||||
|
||||
### 集群状态
|
||||
|
||||

|
||||
|
||||
这部分包括集群当前信息和状态,告警信息也在此处(从左到右,从上到下)。
|
||||
|
||||
- **First EP**:当前 TDengine 集群中的`firstEp`设置。
|
||||
- **Version**:TDengine 服务器版本(master mnode)。
|
||||
- **Master Uptime**: 当前 Master MNode 被选举为 Master 后经过的时间。
|
||||
- **Expire Time** - 企业版过期时间。
|
||||
- **Used Measuring Points** - 企业版已使用的测点数。
|
||||
- **Databases** - 数据库个数。
|
||||
- **Connections** - 当前连接个数。
|
||||
- **DNodes/MNodes/VGroups/VNodes**:每种资源的总数和存活数。
|
||||
- **DNodes/MNodes/VGroups/VNodes Alive Percent**:每种资源的存活数/总数的比例,启用告警规则,并在资源存活率(1 分钟内平均健康资源比例)不足 100%时触发。
|
||||
- **Measuring Points Used**:启用告警规则的测点数用量(社区版无数据,默认情况下是健康的)。
|
||||
- **Grants Expire Time**:启用告警规则的企业版过期时间(社区版无数据,默认情况是健康的)。
|
||||
- **Error Rate**:启用警报的集群总合错误率(每秒平均错误数)。
|
||||
|
||||
### DNodes 状态
|
||||
|
||||

|
||||
|
||||
- **DNodes Status**:`show dnodes` 的简单表格视图。
|
||||
- **DNodes Lifetime**:从创建 dnode 开始经过的时间。
|
||||
- **DNodes Number**:DNodes 数量变化。
|
||||
|
||||
### MNode 概述
|
||||
|
||||

|
||||
|
||||
1. **MNodes Status**:`show mnodes` 的简单表格视图。
|
||||
2. **MNodes Number**:类似于`DNodes Number`,MNodes 数量变化。
|
||||
|
||||
### 请求
|
||||
|
||||

|
||||
|
||||
1. **Requests Rate(Inserts per Second)**:平均每秒插入次数。
|
||||
2. **Requests (Selects)**:查询请求数及变化率(count of second)。
|
||||
|
||||
### 数据库
|
||||
|
||||

|
||||
|
||||
数据库使用情况,对变量 `$database` 的每个值即每个数据库进行重复多行展示。
|
||||
|
||||
1. **STables**:超级表数量。
|
||||
2. **Total Tables**:所有表数量。
|
||||
3. **Tables**:所有普通表数量随时间变化图。
|
||||
4. **Tables Number Foreach VGroups**:每个 VGroups 包含的表数量。
|
||||
|
||||
### DNode 资源使用情况
|
||||
|
||||

|
||||
|
||||
数据节点资源使用情况展示,对变量 `$fqdn` 即每个数据节点进行重复多行展示。包括:
|
||||
|
||||
1. **Uptime**:从创建 dnode 开始经过的时间。
|
||||
2. **Has MNodes?**:当前 dnode 是否为 mnode。
|
||||
3. **CPU Cores**:CPU 核数。
|
||||
4. **VNodes Number**:当前 dnode 的 VNodes 数量。
|
||||
5. **VNodes Masters**:处于 master 角色的 vnode 数量。
|
||||
6. **Current CPU Usage of taosd**:taosd 进程的 CPU 使用率。
|
||||
7. **Current Memory Usage of taosd**:taosd 进程的内存使用情况。
|
||||
8. **Disk Used**:taosd 数据目录的总磁盘使用百分比。
|
||||
9. **CPU Usage**:进程和系统 CPU 使用率。
|
||||
10. **RAM Usage**:RAM 使用指标时间序列视图。
|
||||
11. **Disk Used**:多级存储下每个级别使用的磁盘(默认为 level0 级)。
|
||||
12. **Disk Increasing Rate per Minute**:每分钟磁盘用量增加或减少的百分比。
|
||||
13. **Disk IO**:磁盘 IO 速率。
|
||||
14. **Net IO**:网络 IO,除本机网络之外的总合网络 IO 速率。
|
||||
|
||||
### 登录历史
|
||||
|
||||

|
||||
|
||||
目前只报告每分钟登录次数。
|
||||
|
||||
### 监控 taosAdapter
|
||||
|
||||

|
||||
|
||||
支持监控 taosAdapter 请求统计和状态详情。包括:
|
||||
|
||||
1. **Http Request Total**: 请求总数。
|
||||
2. **Http Request Fail**: 请求总数。
|
||||
3. **CPU Used**: taosAdapter CPU 使用情况。
|
||||
4. **Memory Used**: taosAdapter 内存使用情况。
|
||||
5. **Http Request Inflight**: 即时处理请求数。
|
||||
6. **Http Status Code**: taosAdapter http 状态码。
|
||||
|
||||
## 升级
|
||||
|
||||
通过 `TDinsight.sh` 脚本安装的 TDinsight,可以通过重新运行该脚本就可以升级到最新的 Grafana 插件和 TDinsight Dashboard。
|
||||
|
||||
手动安装的情况下,可按照上述步骤自行安装新的 Grafana 插件和 Dashboard。
|
||||
|
||||
## 卸载
|
||||
|
||||
通过 `TDinsight.sh` 脚本安装的 TDinsight,可以使用命令行 `TDinsight.sh -R` 清理相关资源。
|
||||
|
||||
手动安装时,要完全卸载 TDinsight,需要清理以下内容:
|
||||
|
||||
1. Grafana 中的 TDinsight Dashboard。
|
||||
2. Grafana 中的 Data Source 数据源。
|
||||
3. 从插件安装目录删除 `tdengine-datasource` 插件。
|
||||
|
||||
## 整合的 Docker 示例
|
||||
|
||||
```bash
|
||||
git clone --depth 1 https://github.com/taosdata/grafanaplugin.git
|
||||
cd grafanaplugin
|
||||
```
|
||||
|
||||
根据需要在 `docker-compose.yml` 文件中修改:
|
||||
|
||||
```yaml
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:7.5.10
|
||||
volumes:
|
||||
- ./dist:/var/lib/grafana/plugins/tdengine-datasource
|
||||
- ./grafana/grafana.ini:/etc/grafana/grafana.ini
|
||||
- ./grafana/provisioning/:/etc/grafana/provisioning/
|
||||
- grafana-data:/var/lib/grafana
|
||||
environment:
|
||||
TDENGINE_API: ${TDENGINE_API}
|
||||
TDENGINE_USER: ${TDENGINE_USER}
|
||||
TDENGINE_PASS: ${TDENGINE_PASS}
|
||||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
grafana-data:
|
||||
```
|
||||
|
||||
替换`docker-compose.yml`中的环境变量或保存环境变量到`.env`文件,然后用`docker-compose up`启动 Grafana。`docker-compose` 工具的具体用法参见 [Docker Compose Reference](https://docs.docker.com/compose/)
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
TDinsight 已经通过 Provisioning 部署完毕,请到 http://localhost:3000/d/tdinsight/ 查看仪表盘。
|
||||
|
||||
[grafana]: https://grafana.com
|
||||
[tdengine]: https://www.taosdata.com
|
||||
|
|
|
@ -35,6 +35,7 @@ Websocket 连接支持所有能运行 Rust 的平台。
|
|||
|
||||
| Rust 连接器版本 | TDengine 版本 | 主要功能 |
|
||||
| :----------------: | :--------------: | :--------------------------------------------------: |
|
||||
| v0.12.3 | 3.3.0.0 or later | 优化了 Websocket 查询和插入性能,支持了 VARBINARY 和 GEOMETRY 类型 |
|
||||
| v0.12.0 | 3.2.3.0 or later | WS 支持压缩。 |
|
||||
| v0.11.0 | 3.2.0.0 | TMQ 功能优化。 |
|
||||
| v0.10.0 | 3.1.0.0 | WS endpoint 变更。 |
|
||||
|
@ -44,7 +45,6 @@ Websocket 连接支持所有能运行 Rust 的平台。
|
|||
| v0.7.6 | 3.0.3.0 | 支持在请求中使用 req_id。 |
|
||||
| v0.6.0 | 3.0.0.0 | 基础功能。 |
|
||||
|
||||
Rust 连接器仍然在快速开发中,1.0 之前无法保证其向后兼容。建议使用 3.0 版本以上的 TDengine,以避免已知问题。
|
||||
|
||||
## 处理错误
|
||||
|
||||
|
|
|
@ -41,12 +41,16 @@ Python 连接器的源码托管在 [GitHub](https://github.com/taosdata/taos-con
|
|||
|
||||
|Python Connector 版本|主要变化|
|
||||
|:-------------------:|:----:|
|
||||
|2.7.15|新增 VARBINARY 和 GEOMETRY 类型支持|
|
||||
|2.7.14|修复已知问题|
|
||||
|2.7.13|新增 tmq 同步提交 offset 接口|
|
||||
|2.7.12|1. 新增 varbinary 类型支持(STMT暂不支持 varbinary )<br/> 2. query 性能提升(感谢贡献者[hadrianl](https://github.com/taosdata/taos-connector-python/pull/209))|
|
||||
|2.7.9|数据订阅支持获取消费进度和重置消费进度|
|
||||
|2.7.8|新增 `execute_many`|
|
||||
|
||||
|Python Websocket Connector 版本|主要变化|
|
||||
|:----------------------------:|:-----:|
|
||||
|0.3.2|优化 Websocket sql 查询和插入性能,修改 readme 和 文档,修复已知问题|
|
||||
|0.2.9|已知问题修复|
|
||||
|0.2.5|1. 数据订阅支持获取消费进度和重置消费进度 <br/> 2. 支持 schemaless <br/> 3. 支持 STMT|
|
||||
|0.2.4|数据订阅新增取消订阅方法|
|
||||
|
|
|
@ -178,7 +178,7 @@ TDengine 集群可以容纳单个、多个甚至几千个数据节点。应用
|
|||
|
||||
TDengine 存储的数据包括采集的时序数据以及库、表相关的元数据、标签数据等,这些数据具体分为三部分:
|
||||
|
||||
- 时序数据:TDengine 的核心存储对象,存放于 vnode 里,由 data、head 和 last 三个文件组成,数据量大,查询量取决于应用场景。容许乱序写入,但暂时不支持删除操作,并且仅在 update 参数设置为 1 时允许更新操作。通过采用一个采集点一张表的模型,一个时间段的数据是连续存储,对单张表的写入是简单的追加操作,一次读,可以读到多条记录,这样保证对单个采集点的插入和查询操作,性能达到最优。
|
||||
- 时序数据:TDengine 的核心存储对象,存放于 vnode 里,由 data、head 和 last 三个文件组成,数据量大,查询量取决于应用场景。允许乱序写入,但暂时不支持删除操作,并且仅在 update 参数设置为 1 时允许更新操作。通过采用一个采集点一张表的模型,一个时间段的数据是连续存储,对单张表的写入是简单的追加操作,一次读,可以读到多条记录,这样保证对单个采集点的插入和查询操作,性能达到最优。
|
||||
- 数据表元数据:包含标签信息和 Table Schema 信息,存放于 vnode 里的 meta 文件,支持增删改查四个标准操作。数据量很大,有 N 张表,就有 N 条记录,因此采用 LRU 存储,支持标签数据的索引。TDengine 支持多核多线程并发查询。只要计算内存足够,元数据全内存存储,千万级别规模的标签数据过滤结果能毫秒级返回。在内存资源不足的情况下,仍然可以支持数千万张表的快速查询。
|
||||
- 数据库元数据:存放于 mnode 里,包含系统节点、用户、DB、STable Schema 等信息,支持增删改查四个标准操作。这部分数据的量不大,可以全内存保存,而且由于客户端有缓存,查询量也不大。因此目前的设计虽是集中式存储管理,但不会构成性能瓶颈。
|
||||
|
||||
|
|