mirror of
https://github.com/dromara/hertzbeat.git
synced 2026-09-17 09:40:58 +00:00
[feat]: add MySQL R2DBC query engine support (#4074)
Signed-off-by: Logic <zqr10159@dromara.org> Co-authored-by: Duansg <siguoduan@gmail.com> Co-authored-by: Tomsun28 <tomsun28@outlook.com>
This commit is contained in:
@@ -2,9 +2,15 @@
|
||||
|
||||
Suggest the [HertzBeat + GreptimeDB + Postgresql Solution](hertzbeat-postgresql-greptimedb) for the best performance and stability.
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If you place `mysql-connector-j` in `ext-lib`, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC driver jars in `ext-lib`.
|
||||
|
||||
|
||||
- Use Postgresql + GreptimeDB as HertzBeat dependent storage -> [HertzBeat+PostgreSQL+GreptimeDB Solution](hertzbeat-postgresql-greptimedb)
|
||||
- Use Postgresql + VictoriaMetrics as HertzBeat dependent storage -> [HertzBeat+PostgreSQL+VictoriaMetrics Solution](hertzbeat-postgresql-victoria-metrics)
|
||||
- Use Mysql + VictoriaMetrics as HertzBeat dependent storage -> [HertzBeat+Mysql+VictoriaMetrics Solution](hertzbeat-mysql-victoria-metrics)
|
||||
- Use Mysql + IoTDB as HertzBeat dependent storage -> [HertzBeat+Mysql+IoTDB Solution](hertzbeat-mysql-iotdb)
|
||||
- Use Mysql + Tdengine as HertzBeat dependent storage -> [HertzBeat+Mysql+Tdengine Solution](hertzbeat-mysql-tdengine)
|
||||
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
1. Download the hertzbeat-docker-compose installation deployment script file
|
||||
The script file is located in `script/docker-compose/hertzbeat-mysql-iotdb` link [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/ hertzbeat-mysql-iotdb)
|
||||
|
||||
2. Add MYSQL jdbc driver jar
|
||||
2. Optional: add external JDBC driver jars to `ext-lib`
|
||||
|
||||
Download the MYSQL jdbc driver jar package, such as mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
Copy the jar package to the ext-lib directory.
|
||||
MySQL-compatible monitoring can use the built-in query engine directly, so `mysql-connector-j` is optional.
|
||||
If you want HertzBeat to prefer JDBC after restart, place `mysql-connector-j` in `ext-lib`.
|
||||
Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
3. Enter the deployment script docker-compose directory, execute
|
||||
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
1. 下载hertzbeat-docker-compose安装部署脚本文件
|
||||
脚本文件位于代码仓库下`script/docker-compose/hertzbeat-mysql-iotdb` 链接 [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-mysql-iotdb)
|
||||
|
||||
2. 添加 MYSQL jdbc 驱动 jar
|
||||
下载 MYSQL jdbc driver jar, 例如 mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
将此 jar 包拷贝放入 ext-lib 目录下.
|
||||
2. 可选:向 `ext-lib` 添加外部 JDBC 驱动 jar
|
||||
MySQL 兼容监控现在可以直接使用内置查询引擎,所以 `mysql-connector-j` 不是必需项。
|
||||
如果你希望 HertzBeat 在重启后优先走 JDBC,可以把 `mysql-connector-j` 放到 `ext-lib`。
|
||||
Oracle、DB2 这类场景仍然需要把外部 JDBC 驱动放到 `ext-lib`。
|
||||
|
||||
3. 进入部署脚本 docker-compose 目录, 执行
|
||||
|
||||
|
||||
@@ -236,6 +236,13 @@ grafana:
|
||||
password: admin
|
||||
|
||||
hertzbeat:
|
||||
collector:
|
||||
mysql:
|
||||
# MySQL-compatible query engine routing for MySQL, MariaDB, OceanBase, and TiDB SQL metrics.
|
||||
# auto : prefer JDBC only when mysql-connector-j is available from ext-lib, otherwise use the built-in query engine
|
||||
# jdbc : always use JDBC
|
||||
# r2dbc : always use the built-in query engine
|
||||
query-engine: ${HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE:auto}
|
||||
# Optional virtual-thread overrides. Remove this whole block to use built-in defaults.
|
||||
vthreads:
|
||||
enabled: true
|
||||
|
||||
@@ -68,6 +68,7 @@ services:
|
||||
hostname: hertzbeat
|
||||
restart: always
|
||||
environment:
|
||||
HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto
|
||||
TZ: Asia/Shanghai
|
||||
LANG: zh_CN.UTF-8
|
||||
depends_on:
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
Please move external libs to this folder like:
|
||||
Please move external libs to this folder only when you need external JDBC jars, for example:
|
||||
|
||||
ojdbc8-21.5.0.0.jar
|
||||
orai18n-21.5.0.0.jar
|
||||
mysql-connector-java-8.0.30.jar
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If `mysql-connector-j` is present here, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
1. Download the hertzbeat-docker-compose installation deployment script file
|
||||
The script file is located in `script/docker-compose/hertzbeat-mysql-tdengine` link [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-mysql-tdengine)
|
||||
|
||||
2. Add MYSQL jdbc driver jar
|
||||
2. Optional: add external JDBC driver jars to `ext-lib`
|
||||
|
||||
Download the MYSQL jdbc driver jar package, such as mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
Copy the jar package to the ext-lib directory.
|
||||
MySQL-compatible monitoring can use the built-in query engine directly, so `mysql-connector-j` is optional.
|
||||
If you want HertzBeat to prefer JDBC after restart, place `mysql-connector-j` in `ext-lib`.
|
||||
Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
3. Enter the deployment script docker-compose directory, execute
|
||||
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
1. 下载hertzbeat-docker-compose安装部署脚本文件
|
||||
脚本文件位于代码仓库下`script/docker-compose/hertzbeat-mysql-tdengine` 链接 [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-mysql-tdengine)
|
||||
|
||||
2. 添加 MYSQL jdbc 驱动 jar
|
||||
下载 MYSQL jdbc driver jar, 例如 mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
将此 jar 包拷贝放入 ext-lib 目录下.
|
||||
2. 可选:向 `ext-lib` 添加外部 JDBC 驱动 jar
|
||||
MySQL 兼容监控现在可以直接使用内置查询引擎,所以 `mysql-connector-j` 不是必需项。
|
||||
如果你希望 HertzBeat 在重启后优先走 JDBC,可以把 `mysql-connector-j` 放到 `ext-lib`。
|
||||
Oracle、DB2 这类场景仍然需要把外部 JDBC 驱动放到 `ext-lib`。
|
||||
|
||||
3. 进入部署脚本 docker-compose 目录, 执行
|
||||
|
||||
|
||||
@@ -233,6 +233,13 @@ grafana:
|
||||
password: admin
|
||||
|
||||
hertzbeat:
|
||||
collector:
|
||||
mysql:
|
||||
# MySQL-compatible query engine routing for MySQL, MariaDB, OceanBase, and TiDB SQL metrics.
|
||||
# auto : prefer JDBC only when mysql-connector-j is available from ext-lib, otherwise use the built-in query engine
|
||||
# jdbc : always use JDBC
|
||||
# r2dbc : always use the built-in query engine
|
||||
query-engine: ${HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE:auto}
|
||||
# Optional virtual-thread overrides. Remove this whole block to use built-in defaults.
|
||||
vthreads:
|
||||
enabled: true
|
||||
|
||||
@@ -67,6 +67,7 @@ services:
|
||||
hostname: hertzbeat
|
||||
restart: always
|
||||
environment:
|
||||
HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto
|
||||
TZ: Asia/Shanghai
|
||||
LANG: zh_CN.UTF-8
|
||||
depends_on:
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
Please move external libs to this folder like:
|
||||
Please move external libs to this folder only when you need external JDBC jars, for example:
|
||||
|
||||
ojdbc8-21.5.0.0.jar
|
||||
orai18n-21.5.0.0.jar
|
||||
mysql-connector-java-8.0.30.jar
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If `mysql-connector-j` is present here, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
1. Download the hertzbeat-docker-compose installation deployment script file
|
||||
The script file is located in `script/docker-compose/hertzbeat-mysql-victoria-metrics` link [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-mysql-victoria-metrics)
|
||||
|
||||
2. Add MYSQL jdbc driver jar
|
||||
2. Optional: add external JDBC driver jars to `ext-lib`
|
||||
|
||||
Download the MYSQL jdbc driver jar package, such as mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
Copy the jar package to the ext-lib directory.
|
||||
MySQL-compatible monitoring can use the built-in query engine directly, so `mysql-connector-j` is optional.
|
||||
If you want HertzBeat to prefer JDBC after restart, place `mysql-connector-j` in `ext-lib`.
|
||||
Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
3. Enter the deployment script docker-compose directory, execute
|
||||
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
1. 下载hertzbeat-docker-compose安装部署脚本文件
|
||||
脚本文件位于代码仓库下`script/docker-compose/hertzbeat-mysql-victoria-metrics` 链接 [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-mysql-victoria-metrics)
|
||||
|
||||
2. 添加 MYSQL jdbc 驱动 jar
|
||||
下载 MYSQL jdbc driver jar, 例如 mysql-connector-java-8.0.25.jar. https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.zip
|
||||
将此 jar 包拷贝放入 ext-lib 目录下.
|
||||
2. 可选:向 `ext-lib` 添加外部 JDBC 驱动 jar
|
||||
MySQL 兼容监控现在可以直接使用内置查询引擎,所以 `mysql-connector-j` 不是必需项。
|
||||
如果你希望 HertzBeat 在重启后优先走 JDBC,可以把 `mysql-connector-j` 放到 `ext-lib`。
|
||||
Oracle、DB2 这类场景仍然需要把外部 JDBC 驱动放到 `ext-lib`。
|
||||
|
||||
3. 进入部署脚本 docker-compose 目录, 执行
|
||||
|
||||
|
||||
@@ -236,6 +236,13 @@ grafana:
|
||||
password: admin
|
||||
|
||||
hertzbeat:
|
||||
collector:
|
||||
mysql:
|
||||
# MySQL-compatible query engine routing for MySQL, MariaDB, OceanBase, and TiDB SQL metrics.
|
||||
# auto : prefer JDBC only when mysql-connector-j is available from ext-lib, otherwise use the built-in query engine
|
||||
# jdbc : always use JDBC
|
||||
# r2dbc : always use the built-in query engine
|
||||
query-engine: ${HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE:auto}
|
||||
# Optional virtual-thread overrides. Remove this whole block to use built-in defaults.
|
||||
vthreads:
|
||||
enabled: true
|
||||
|
||||
@@ -67,6 +67,7 @@ services:
|
||||
hostname: hertzbeat
|
||||
restart: always
|
||||
environment:
|
||||
HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto
|
||||
TZ: Asia/Shanghai
|
||||
LANG: zh_CN.UTF-8
|
||||
depends_on:
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
Please move external libs to this folder like:
|
||||
Please move external libs to this folder only when you need external JDBC jars, for example:
|
||||
|
||||
ojdbc8-21.5.0.0.jar
|
||||
orai18n-21.5.0.0.jar
|
||||
mysql-connector-java-8.0.30.jar
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If `mysql-connector-j` is present here, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
@@ -18,7 +18,13 @@
|
||||
The script file is located in `script/docker-compose/hertzbeat-postgresql-greptimedb` link [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-postgresql-greptimedb)
|
||||
|
||||
|
||||
2. Enter the deployment script docker-compose directory, execute
|
||||
2. Optional: add external JDBC driver jars to `ext-lib`
|
||||
|
||||
MySQL-compatible monitoring can use the built-in query engine directly, so `mysql-connector-j` is optional.
|
||||
If you want HertzBeat to prefer JDBC after restart, place `mysql-connector-j` in `ext-lib`.
|
||||
Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
3. Enter the deployment script docker-compose directory, execute
|
||||
|
||||
`docker compose up -d`
|
||||
|
||||
|
||||
@@ -20,7 +20,12 @@
|
||||
脚本文件位于代码仓库下`script/docker-compose/hertzbeat-postgresql-greptimedb` 链接 [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-postgresql-greptimedb)
|
||||
|
||||
|
||||
2. 进入部署脚本 docker-compose 目录, 执行
|
||||
2. 可选:向 `ext-lib` 添加外部 JDBC 驱动 jar
|
||||
MySQL 兼容监控现在可以直接使用内置查询引擎,所以 `mysql-connector-j` 不是必需项。
|
||||
如果你希望 HertzBeat 在重启后优先走 JDBC,可以把 `mysql-connector-j` 放到 `ext-lib`。
|
||||
Oracle、DB2 这类场景仍然需要把外部 JDBC 驱动放到 `ext-lib`。
|
||||
|
||||
3. 进入部署脚本 docker-compose 目录, 执行
|
||||
|
||||
`docker compose up -d`
|
||||
|
||||
|
||||
@@ -233,6 +233,13 @@ grafana:
|
||||
password: admin
|
||||
|
||||
hertzbeat:
|
||||
collector:
|
||||
mysql:
|
||||
# MySQL-compatible query engine routing for MySQL, MariaDB, OceanBase, and TiDB SQL metrics.
|
||||
# auto : prefer JDBC only when mysql-connector-j is available from ext-lib, otherwise use the built-in query engine
|
||||
# jdbc : always use JDBC
|
||||
# r2dbc : always use the built-in query engine
|
||||
query-engine: ${HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE:auto}
|
||||
# Optional virtual-thread overrides. Remove this whole block to use built-in defaults.
|
||||
vthreads:
|
||||
enabled: true
|
||||
|
||||
@@ -87,6 +87,7 @@ services:
|
||||
hostname: hertzbeat
|
||||
restart: always
|
||||
environment:
|
||||
HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto
|
||||
TZ: Asia/Shanghai
|
||||
LANG: zh_CN.UTF-8
|
||||
depends_on:
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
Please move external libs to this folder like:
|
||||
Please move external libs to this folder only when you need external JDBC jars, for example:
|
||||
|
||||
ojdbc8-21.5.0.0.jar
|
||||
orai18n-21.5.0.0.jar
|
||||
mysql-connector-java-8.0.30.jar
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If `mysql-connector-j` is present here, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
@@ -18,7 +18,13 @@
|
||||
The script file is located in `script/docker-compose/hertzbeat-postgresql-victoria-metrics` link [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-postgresql-victoria-metrics)
|
||||
|
||||
|
||||
2. Enter the deployment script docker-compose directory, execute
|
||||
2. Optional: add external JDBC driver jars to `ext-lib`
|
||||
|
||||
MySQL-compatible monitoring can use the built-in query engine directly, so `mysql-connector-j` is optional.
|
||||
If you want HertzBeat to prefer JDBC after restart, place `mysql-connector-j` in `ext-lib`.
|
||||
Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
3. Enter the deployment script docker-compose directory, execute
|
||||
|
||||
`docker compose up -d`
|
||||
|
||||
|
||||
@@ -20,7 +20,12 @@
|
||||
脚本文件位于代码仓库下`script/docker-compose/hertzbeat-postgre-victoria-metrics` 链接 [script/docker-compose](https://github.com/apache/hertzbeat/tree/master/script/docker-compose/hertzbeat-postgresql-victoria-metrics)
|
||||
|
||||
|
||||
2. 进入部署脚本 docker-compose 目录, 执行
|
||||
2. 可选:向 `ext-lib` 添加外部 JDBC 驱动 jar
|
||||
MySQL 兼容监控现在可以直接使用内置查询引擎,所以 `mysql-connector-j` 不是必需项。
|
||||
如果你希望 HertzBeat 在重启后优先走 JDBC,可以把 `mysql-connector-j` 放到 `ext-lib`。
|
||||
Oracle、DB2 这类场景仍然需要把外部 JDBC 驱动放到 `ext-lib`。
|
||||
|
||||
3. 进入部署脚本 docker-compose 目录, 执行
|
||||
|
||||
`docker compose up -d`
|
||||
|
||||
|
||||
@@ -235,6 +235,13 @@ grafana:
|
||||
password: admin
|
||||
|
||||
hertzbeat:
|
||||
collector:
|
||||
mysql:
|
||||
# MySQL-compatible query engine routing for MySQL, MariaDB, OceanBase, and TiDB SQL metrics.
|
||||
# auto : prefer JDBC only when mysql-connector-j is available from ext-lib, otherwise use the built-in query engine
|
||||
# jdbc : always use JDBC
|
||||
# r2dbc : always use the built-in query engine
|
||||
query-engine: ${HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE:auto}
|
||||
# Optional virtual-thread overrides. Remove this whole block to use built-in defaults.
|
||||
vthreads:
|
||||
enabled: true
|
||||
|
||||
@@ -70,6 +70,7 @@ services:
|
||||
hostname: hertzbeat
|
||||
restart: always
|
||||
environment:
|
||||
HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto
|
||||
TZ: Asia/Shanghai
|
||||
LANG: zh_CN.UTF-8
|
||||
depends_on:
|
||||
|
||||
@@ -13,9 +13,14 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
Please move external libs to this folder like:
|
||||
Please move external libs to this folder only when you need external JDBC jars, for example:
|
||||
|
||||
ojdbc8-21.5.0.0.jar
|
||||
orai18n-21.5.0.0.jar
|
||||
mysql-connector-java-8.0.30.jar
|
||||
|
||||
Notes:
|
||||
|
||||
- MySQL, MariaDB, OceanBase, and TiDB SQL query metrics can use the built-in MySQL-compatible query engine without `mysql-connector-j`.
|
||||
- If `mysql-connector-j` is present here, HertzBeat prefers JDBC after restart.
|
||||
- Oracle and DB2 still require external JDBC jars in `ext-lib`.
|
||||
|
||||
Reference in New Issue
Block a user