[feat] Support TDengine monitoring (#3678)

Co-authored-by: Calvin <zhengqiwei@apache.org>
This commit is contained in:
Duansg
2025-08-24 14:23:23 +08:00
committed by GitHub
co-authored by Calvin
parent f475540508
commit 6814c7c357
21 changed files with 1956 additions and 2 deletions
File diff suppressed because it is too large Load Diff
+96
View File
@@ -0,0 +1,96 @@
---
id: tdengine_promql
title: Monitoring TDengine-PromQL
sidebar_label: TDengine-PromQL
keywords: [ Open Source Monitoring System, Open Source Middleware Monitoring, TDengine Monitoring, TDengine-PromQL Monitoring ]
---
> Use Prometheus PromQL to query general metric data from the Prometheus server to monitor TDengine. This solution is
> suitable for situations where Prometheus is already monitoring TDengine and you need to retrieve TDengine monitoring
> data from the Prometheus server.
### Prerequisites
1. Deploy TDengine;
2. Deploy taosKeeper; note that installing the official TDengine installation package will automatically install
taosKeeper. For details, please refer to: [taosKeeper](https://docs.taosdata.com/reference/components/taoskeeper/);
3. Collect monitoring metrics exposed by TDengine taosKeeper through prometheus;
### Configuration parameters
| Parameter Name | Parameter Description |
|---------------------|----------------------------------------------------------------------------------------------------------------------------|
| Monitoring Host | IP, IPv6, or domain name of the target being monitored. Note ⚠️: Do not include protocol header (e.g., https://, http://). |
| Monitoring name | Name to identify this monitoring, ensuring uniqueness of names. |
| Port | Prometheus API port, default: 9090. |
| Relative path | Relative path of Prometheus to query PromQL, default: /api/v1/query |
| Request mode | Set the request method for API calls: GET, POST, PUT, DELETE, default: GET |
| Enable HTTPS | Whether to access the website via HTTPS, note ⚠️: enabling HTTPS generally requires changing the corresponding port to 443 |
| Username | Username for Basic or Digest authentication when accessing the API. |
| Password | Password for Basic or Digest authentication when accessing the API. |
| Content-Type | Resource type when carrying BODY request data. |
| Request BODY | Set the BODY request data, effective for PUT and POST request methods. |
| Collection interval | Interval for periodic data collection in seconds, the minimum interval that can be set is 30 seconds |
| Description remarks | Additional remarks and descriptions for this monitoring. Users can add notes here. |
### Collection indicators
#### Indicator set: Basic information indicators
| Indicator name | indicator unit | Indicators help describe |
|---------------------------------|----------------|--------------------------|
| taos_cluster_info_first_ep | none | first endpoint |
| taos_cluster_info_version | none | Version Information |
| taos_cluster_info_master_uptime | day | Master node runtime |
#### Indicator set: Number of nodes indicator
| Indicator name | indicator unit | Indicators help describe |
|---------------------------------|----------------|------------------------------------|
| taos_cluster_info_dnodes_total | none | Total number of dnodes |
| taos_cluster_info_dnodes_alive | none | Number of surviving dnodes |
| taos_cluster_info_mnodes_total | none | Total number of mnodes |
| taos_cluster_info_mnodes_alive | none | Number of surviving mnodes |
| taos_cluster_info_vgroups_total | none | Total number of virtual groups |
| taos_cluster_info_vgroups_alive | none | Number of surviving virtual groups |
| taos_cluster_info_vnodes_total | none | Total number of virtual nodes |
| taos_cluster_info_vnodes_alive | none | Number of surviving virtual nodes |
### Indicator set: Database and table statistics
| Indicator name | indicator unit | Indicators help describe |
|-------------------------------------|----------------|-----------------------------|
| taos_cluster_info_dbs_total | none | Total number of databases |
| taos_cluster_info_tbs_total | none | Total number of tables |
| taos_cluster_info_connections_total | day | total number of connections |
### Indicator set: Dnode information
| Indicator name | indicator unit | Indicators help describe |
| --- | | --- |
| taos_d_info_status | Ready indicates normal, offline indicates offline, and unknown indicates unknown. | dnode
status |
| taos_dnodes_info_uptime | s | The startup time of this dnode |
| taos_dnodes_info_cpu_engine | none | The percentage of CPU used by the process of this dnode. |
| taos_dnodes_info_cpu_system | none | The percentage of CPU used by the system of the node where the dnode is
located. |
| taos_dnodes_info_mem_engine | KB | Memory used by the process of this dnode |
| taos_dnodes_info_mem_system | KB | The memory used by the system of the node where the dnode is located. |
| taos_dnodes_info_disk_total | Byte | The total disk capacity of the node where the dnode is located. |
| taos_dnodes_info_disk_used | Byte | The amount of disk space used on the node where the dnode is located. |
| taos_dnodes_info_io_write_disk | Bytes per second | The disk IO write rate of the node where the dnode is located. |
| taos_dnodes_info_io_read_disk | Bytes per second | The disk IO read rate of the node where the dnode is located. |
### Indicator set: taosadapter related
| Indicator name | indicator unit | Indicators help describe |
|--------------------------------------|----------------|-------------------------------|
| total_requests_for_adapter_transfers | none | Total number of requests |
| taos_adapter_requests_success | none | Number of successful requests |
| taos_adapter_requests_fail | none | Number of failed requests |
| taos_adapter_requests_query | none | Number of query requests |
### Other TDengine monitoring methods supported by HertzBeat
1. Through the monitoring metrics exposed by taosKeeper, you can refer to [Prometheus Task](prometheus) to configure
Prometheus collection tasks for monitoring TDengine.
@@ -0,0 +1,166 @@
---
id: tdengine-practice
title: TDengine Monitoring Practice
sidebar_label: TDengine Monitoring Practice
---
:::tip
TDengine TSDB is an open-source, high-performance, cloud-native time series database (TSDB) optimized for IoT, vehicle networking, industrial Internet, finance, IT operations, and other scenarios. It also comes with built-in caching, streaming computing, data subscription, and other system functions that greatly reduce system design complexity and lower R&D and operational costs, making it an extremely simple time series data processing platform.
:::
This article introduces how to use the Hertzbeat monitoring system to collect and monitor TDengine general performance indicators.
## What is HertzBeat?
Apache HertzBeat is a real-time monitoring tool with powerful customization capabilities that does not require an agent. It monitors websites, PING connectivity, port availability, databases, operating systems, middleware, APIs, threshold alerts, and alert notifications (email, WeChat, DingTalk, Feishu).
> **github: [https://github.com/apache/hertzbeat](https://github.com/apache/hertzbeat)**
## Install HertzBeat
1. The `docker` environment can be installed with just one command.
`docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat`
2. Once installed, you can start by accessing `localhost:1157` in your browser. The default username and password are `admin/hertzbeat`.
:::note
Recommended deployment method for production environments, reference: [https://hertzbeat.apache.org/docs/start/docker-compose-deploy](https://hertzbeat.apache.org/docs/start/docker-compose-deploy)
:::
## Enable TDengine monitoring
:::tip
TDengine TSDB integrates multiple monitoring metric collection mechanisms and aggregates them through taosKeeper. taosKeeper is a monitoring metric export tool for TDengine TSDB version 3.0. With just a few simple configurations, you can obtain the runtime status of TDengine TSDB. For reference: [https://docs.taosdata.com/reference/components/taoskeeper/](https://docs.taosdata.com/reference/components/taoskeeper/)
:::
## Monitor TDengine(PromQL)
1. Added TDengine-PromQL monitoring
> System Page -> Monitoring Center -> Add Monitoring -> Custom Monitoring -> TDengine-PromQL Task
![HertzBeat](/img/docs/start/tdengine_1.png)
2. Fill in key parameters
> **Target Host**: Prometheus application server address (without protocol header, e.g., https://, http://)
>
> **Port**: Prometheus API port, default value: 9090
>
> **Endpoint path**: The URL for Prometheus to query PromQL. Default value: `/api/v1/query`
>
> You can use tags to categorize tasks, such as adding business-related tags like `env=test`.
![HertzBeat](/img/docs/start/tdengine_2.png)
3. View inspection indicator data
> You can view task statuses in the monitoring list and view metric data charts and other information in the monitoring details.
![HertzBeat](/img/docs/start/tdengine_3.png)
![HertzBeat](/img/docs/start/tdengine_4.png)
## Monitor TDengine(Prometheus)
1. New AUTO monitoring
> System Page -> Monitoring Center -> Add Monitoring -> AUTO -> Prometheus Task
![HertzBeat](/img/docs/start/tdengine_1_1.png)
2. Fill in key parameters
> **Target Host** taosKeeper service address (without protocol header, e.g., https://, http://)
>
> **Port**: taosKeeper service port (e.g., 6043)
>
> **Endpoint path**: `/metrics`
>
> You can use tags to categorize tasks, such as adding business-related tags like `env=test`.
![HertzBeat](/img/docs/start/tdengine_1_2.png)
3. View inspection indicator data
> You can view task statuses in the monitoring list and view metric data charts and other information in the monitoring details.
![HertzBeat](/img/docs/start/tdengine_1_3.png)
![HertzBeat](/img/docs/start/tdengine_1_4.png)
### Grafana visualization integration (optional)
1. Grafana chart configuration
> You need to enable Grafana's embeddable feature and allow anonymous access.
:::note
For complete configuration, please refer to the documentation: [Grafana Historical Charts](https://hertzbeat.apache.org/zh-cn/docs/help/grafana_dashboard)
:::
2. Embedding Grafana dashboards in HertzBeat monitoring
> After enabling Grafana, restart the HertzBeat service, enable it in the newly added AUTO monitoring, and upload the Grafana template.
>
> For example: Select the Grafana data source `hertzbeat-victoria-metrics`, then click "Share" → "Export" → "Save to file" on the dashboard to download the template and upload it to HertzBeat monitoring. For reference, see: [taoskeeper-prometheus-dashboard](https://grafana.com/grafana/dashboards/15164-taoskeeper-prometheus-dashboard/)
![HertzBeat](/img/docs/start/tdengine_1_5.png)
3. View Grafana charts
> Go to the new AUTO monitoring page, click the Grafana icon button to view the Grafana chart.
![HertzBeat](/img/docs/start/tdengine_1_6.png)
## Alarm and notification linkage
1. HertzBeat Alert Configuration
> System Page -> Alerts -> Threshold Rules -> Add -> Add Threshold
![HertzBeat](/img/docs/start/tdengine_5.png)
> HertzBeat provides two types of threshold rule settings: **real-time calculation** and **scheduled cycle**. Here, we will use the **scheduled cycle** threshold rule as an example.
>
> * **Threshold Name**: Threshold rule name
> * **Threshold rules**: Fill in the rules for monitoring indicators (supports `PromQL`).
> * **Execution cycle**: The time interval for calculating the periodic execution threshold.
> * **Alarm Level**: The alarm level triggered by the threshold, from low to high: Warning, Critical, Emergency.
> * **Trigger count**: Set the threshold number of times the trigger must occur before an alert is sent.
> * **Alarm content**: Fill in the content of the monitoring alarm (supports filling in variables)
2. Set threshold rules
> For example, to monitor the CPU percentage used by the Dnode node system, add a threshold rule: `taos_dnodes_info_cpu_system_value > 20`
>
> There are many combinations of threshold rules that can be set, and users can set more detailed alert rules according to their needs.
![HertzBeat](/img/docs/start/tdengine_6.png)
> Finally, you can see the triggered alerts in the Alert Center.
![HertzBeat](/img/docs/start/tdengine_7.png)
3. Alert notification
> System Page -> Message Notifications -> Notification Media -> Add New Recipient
![HertzBeat](/img/docs/start/tdengine_8.png)
> System Page -> Message Notifications -> Notification Policies -> Add Notification Policy -> Select recipients and enable notifications
![HertzBeat](/img/docs/start/tdengine_9.png)
4. OK! When the threshold rule is triggered, we will receive the corresponding alert message. If no notification is configured, you can also view the alert information in the alert center.
## Summary
That concludes our practical guide to monitoring TDengine applications. Of course, this feature is just the tip of the iceberg for HertzBeat. If you like this open-source project, please give it a star on GitHub or Gitee. Your stars are what motivate us to keep improving! Please light up the little stars ✨
**Making monitoring simpler, we look forward to building an ecosystem with you!** 💝
**github: [https://github.com/apache/hertzbeat](https://github.com/apache/hertzbeat)**
**gitee: [https://gitee.com/hertzbeat/hertzbeat](https://gitee.com/hertzbeat/hertzbeat)**
@@ -0,0 +1,92 @@
---
id: tdengine_promql
title: 监控:TDengine-PromQL
sidebar_label: TDengine-PromQL
keywords: [ 开源监控系统,开源中间件监控, TDengine监控,TDengine-PromQL监控 ]
---
> 使用 Prometheus PromQL 从 Prometheus 服务器中查询到 TDengine 的通用指标数据来进行监控。此方案适用于 Prometheus 已监控
> TDengine,需要从 Prometheus 服务器抓取 TDengine 的监控数据。
### 前置条件
1. 部署 TDengine
2. 部署 taosKeeper;注意⚠️安装 TDengine 官方安装包的同时会自动安装 taosKeeper
详情请参考:[taosKeeper](https://docs.taosdata.com/reference/components/taoskeeper/)
3. 通过 prometheus 采集 TDengine taosKeeper 暴露的监控指标;
### 配置参数
| 参数名称 | 参数帮助描述 |
|--------------|------------------------------------------------------|
| 监控Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。 |
| 任务名称 | 标识此监控的名称,名称需要保证唯一性。 |
| 端口 | Prometheus api 端口,默认值:9090。 |
| 相对路径 | Prometheus查询PromQL的URL,默认值:/api/v1/query。 |
| 请求方式 | 设置接口调用的请求方式:GET,POST,PUT,DELETE,默认值:GET。 |
| 启用HTTPS | 是否通过HTTPS访问网站,注意⚠️开启HTTPS一般默认对应端口需要改为443。 |
| 用户名 | 接口Basic认证或Digest认证时使用的用户名。 |
| 密码 | 接口Basic认证或Digest认证时使用的密码。 |
| Content-Type | 设置携带BODY请求体数据请求时的资源类型。 |
| 请求BODY | 设置携带BODY请求体数据,PUT POST请求方式时有效。 |
| 采集间隔 | 监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒。 |
| 描述备注 | 更多标识和描述此监控的备注信息,用户可以在这里备注信息。 |
### 采集指标
#### 指标集合:基础信息指标
| 指标名称 | 指标单位 | 指标帮助描述 |
|---------------------------------|------|---------|
| taos_cluster_info_first_ep | 无 | 第一个端点 |
| taos_cluster_info_version | 无 | 版本信息 |
| taos_cluster_info_master_uptime | 天 | 主节点运行时间 |
#### 指标集合:节点数量指标
| 指标名称 | 指标单位 | 指标帮助描述 |
|---------------------------------|------|--------------|
| taos_cluster_info_dnodes_total | 无 | dnode 总数 |
| taos_cluster_info_dnodes_alive | 无 | 存活的 dnode 数量 |
| taos_cluster_info_mnodes_total | 无 | mnode 总数 |
| taos_cluster_info_mnodes_alive | 无 | 存活的 mnode 数量 |
| taos_cluster_info_vgroups_total | 无 | 虚拟组总数 |
| taos_cluster_info_vgroups_alive | 无 | 存活的虚拟组数量 |
| taos_cluster_info_vnodes_total | 无 | 虚拟节点总数 |
| taos_cluster_info_vnodes_alive | 无 | 存活的虚拟节点数量 |
### 指标集合:数据库和表统计
| 指标名称 | 指标单位 | 指标帮助描述 |
|-------------------------------------|------|--------|
| taos_cluster_info_dbs_total | 无 | 数据库总数 |
| taos_cluster_info_tbs_total | 无 | 表总数 |
| taos_cluster_info_connections_total | 天 | 总连接数 |
### 指标集合:Dnode 信息
| 指标名称 | 指标单位 | 指标帮助描述 |
|--------------------------------|--------------------------------------|----------------------------|
| taos_d_info_status | ready 表示正常、offline 表示下线、unknown 表示未知 | dnode 状态 |
| taos_dnodes_info_uptime | 秒 | 该 dnode 的启动时间 |
| taos_dnodes_info_cpu_engine | 无 | 该 dnode 的进程所使用的 CPU 百分比 |
| taos_dnodes_info_cpu_system | 无 | 该 dnode 所在节点的系统使用的 CPU 百分比 |
| taos_dnodes_info_mem_engine | KB | 该 dnode 的进程所使用的内存 |
| taos_dnodes_info_mem_system | KB | 该 dnode 所在节点的系统所使用的内存 |
| taos_dnodes_info_disk_total | Byte | 该 dnode 所在节点的磁盘总容量 |
| taos_dnodes_info_disk_used | Byte | 该 dnode 所在节点的磁盘已使用的容量 |
| taos_dnodes_info_io_write_disk | Byte/s | 该 dnode 所在节点的磁盘 io 写入速率 |
| taos_dnodes_info_io_read_disk | Byte/s | 该 dnode 所在节点的磁盘 io 读取速率 |
### 指标集合:taosadapter 相关
| 指标名称 | 指标单位 | 指标帮助描述 |
|-------------------------------|------|--------|
| taos_adapter_requests_total | 无 | 总请求数 |
| taos_adapter_requests_success | 无 | 成功的请求数 |
| taos_adapter_requests_fail | 无 | 失败的请求数 |
| taos_adapter_requests_query | 无 | 查询请求数 |
### HertzBeat支持的其他 TDengine 监控方式
1.通过taosKeeper暴露的监控指标,可以参考 [Prometheus任务](prometheus) 配置Prometheus采集任务监控 TDengine。
@@ -0,0 +1,171 @@
---
id: tdengine-practice
title: TDengine 监控案例
sidebar_label: TDengine 监控案例
---
:::tip
TDengine TSDB 是一款 开源、高性能、云原生 的时序数据库(Time Series Database, TSDB, 它专为物联网、车联网、工业互联网、金融、IT 运维等场景优化设计。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一款极简的时序数据处理平台。
:::
这篇文章介绍如何使用 Hertzbeat 监控系统对 TDengine 通用性能指标进行采集监控
## HertzBeat 是什么
Apache HertzBeat 一个拥有强大自定义监控能力,无需Agent的实时监控工具。网站监测,PING连通性,端口可用性,数据库,操作系统,中间件,API监控,阈值告警,告警通知(邮件微信钉钉飞书)。
> **github: <https://github.com/apache/hertzbeat>**
## 安装 HertzBeat
1. `docker` 环境仅需一条命令即可安装
`docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat`
2. 安装成功浏览器访问 `localhost:1157` 即可开始,默认账号密码 `admin/hertzbeat`
:::note
生产环境建议完整部署方式, 参考:<https://hertzbeat.apache.org/docs/start/docker-compose-deploy>
:::
## 启用 TDengine 监控
:::tip
TDengine TSDB 集成了多种监控指标收集机制,并通过 taosKeeper 进行汇总,taosKeeper 是 TDengine TSDB 3.0 版本监控指标的导出工具,通过简单的几项配置即可获取 TDengine TSDB 的运行状态,参考:<https://docs.taosdata.com/reference/components/taoskeeper/>
:::
## 监控 TDengine(PromQL)
1. 新增 TDengine-PromQL 监控
> 系统页面 -> 监控中心 -> 新增监控 -> 自定义监控 -> TDengine-PromQL任务
![HertzBeat](/img/docs/start/tdengine_1.png)
2. 填写关键参数
> **目标Host**Prometheus 应用服务器地址(不带协议头,例如: https://, http://
>
> **端口**Prometheus api 端口,默认值:9090
>
> **端点路径**Prometheus查询PromQL的URL,默认值:`/api/v1/query`
>
> 可以使用标签分类来管理任务,如添加`env=test`等业务相关标签。
![HertzBeat](/img/docs/start/tdengine_2.png)
3. 查看检测指标数据
> 在监控列表可以查看任务状态,进监控详情可以查看指标数据图表等。
![HertzBeat](/img/docs/start/tdengine_3.png)
![HertzBeat](/img/docs/start/tdengine_4.png)
## 监控 TDengine(Prometheus)
1. 新增 AUTO 监控
> 系统页面 -> 监控中心 -> 新增监控 -> AUTO -> Prometheus任务
![HertzBeat](/img/docs/start/tdengine_1_1.png)
2. 填写关键参数
> **目标Host** taosKeeper 服务地址(不带协议头,例如: https://, http://
>
> **端口**taosKeeper服务端口(例如: 6043
>
> **端点路径**`/metrics`
>
> 可以使用标签分类来管理任务,如添加`env=test`等业务相关标签。
![HertzBeat](/img/docs/start/tdengine_1_2.png)
3. 查看检测指标数据
> 在监控列表可以查看任务状态,进监控详情可以查看指标数据图表等。
![HertzBeat](/img/docs/start/tdengine_1_3.png)
![HertzBeat](/img/docs/start/tdengine_1_4.png)
### Grafana可视化集成 (可选)
1. Grafana 图表配置
> 需启用 Grafana 可嵌入功能,并开启匿名访问。
:::note
完整配置请参考文档:[Grafana历史图表](https://hertzbeat.apache.org/zh-cn/docs/help/grafana_dashboard)
:::
2. 在 HertzBeat 监控中嵌入 Grafana 仪表盘
> 配置启用 Grafana 后,重启 HertzBeat 服务,在新增的 AUTO 监控中启用并上传 Grafana 模板。
>
> 比如:Grafana 数据源选择`hertzbeat-victoria-metrics`,然后在仪表盘点击:「Share」→「Export」→「Save to file」下载模板并上传至 HertzBeat 监控中,可参考:[taoskeeper-prometheus-dashboard](https://grafana.com/grafana/dashboards/15164-taoskeeper-prometheus-dashboard/)
![HertzBeat](/img/docs/start/tdengine_1_5.png)
3. 查看 Grafana 图表
> 进入新增 AUTO 监控页面,点击 Grafana 图标按钮,即可查看 Grafana 图表。
![HertzBeat](/img/docs/start/tdengine_1_6.png)
## 告警与通知联动
1. HertzBeat 告警配置
> 系统页面 -> 告警 -> 阈值规则 -> 新增 -> 新增阈值
>
![HertzBeat](/img/docs/start/tdengine_5.png)
> HertzBeat 提供了 **实时计算** 和 **计划周期** 两种类型的阈值规则设置,这里我们以 **计划周期** 阈值规则为例。
>
> - **阈值名称**:阈值规则名称
> - **阈值规则**:填写指标监测的规则(支持 `PromQL`)
> - **执行周期**:周期性执行阈值计算的时间间隔
> - **告警级别**:触发阈值的告警级别,从低到高依次为: 警告-warning,严重-critical,紧急-emergency
> - **触发次数**:设置触发阈值多少次之后才会发送告警
> - **告警内容**:填写监测告警的内容(支持填写变量)
2. 设置阈值规则
> 比如监测 Dnode 节点的系统使用的 CPU 百分比,添加阈值规则:`taos_dnodes_info_cpu_system_value > 20`
>
> 可以设置的阈值规则组合有很多,用户可以根据自身需要设置更丰富的告警规则。
![HertzBeat](/img/docs/start/tdengine_6.png)
> 最后可以在 告警中心 看到已触发的告警。
>
![HertzBeat](/img/docs/start/tdengine_7.png)
3. 告警通知
> 系统页面 -> 消息通知 -> 通知媒介 -> 新增接收对象
>
![HertzBeat](/img/docs/start/tdengine_8.png)
> 系统页面 -> 消息通知 -> 通知策略 -> 新增通知策略 -> 选择接收对象并启用通知
>
![HertzBeat](/img/docs/start/tdengine_9.png)
4. OK!当阈值规则触发后我们就可以收到对应告警消息啦,如果没有配置通知,也可以在告警中心查看告警信息。
## 总结
监控 TDengine 应用的实践就到这里,当然对 HertzBeat 来说这个功能只是冰山一角,如果您觉得 HertzBeat 这个开源项目不错的话欢迎在 GitHub、Gitee 点 **Star** 哦,您的 Star 是我们持续优化的动力!欢迎点亮小星星✨
**让监控更简单,期待与您共建生态!** 💝
**github: <https://github.com/apache/hertzbeat>**
**gitee: <https://gitee.com/hertzbeat/hertzbeat>**
+3 -2
View File
@@ -72,7 +72,8 @@
"items": [
"start/usecase/ssl-cert-practice",
"start/usecase/springboot-auto-practice",
"start/usecase/linux-os-practice"
"start/usecase/linux-os-practice",
"start/usecase/tdengine-practice"
]
},
{
@@ -268,7 +269,7 @@
{
"type": "category",
"label": "custom",
"items": ["help/kafka_promql", "help/influxdb_promql"]
"items": ["help/kafka_promql", "help/influxdb_promql", "help/tdengine_promql"]
},
"help/bulletin",
"help/plugin",
Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB