前言:
openGauss的安装、运维场景对于初级用户或单纯想要测试openGauss数据库基本特性的使用者来说技术难度较大、过程较为复杂、学习曲线较为陡峭,尤其企业版安装对一般用户来说操作难度很大。使用可视化运维平台可以屏蔽openGauss的技术细节,让普通用户能够快速上手体验功能,让运维人员能够快速在企业环境中部署、卸载各类openGauss集群,减少了用户的学习成本和运维成本,实现了对openGauss各种常见操作的可视化,屏蔽了各种不同openGauss版本中的运维命令差异,可以让用户使用相同的方式操作数据库,不用知道命令细节也可以使用openGauss数据库的各项能力,让用户可以专注于自身的业务领域。
一、DataKit功能概述
1.1、DataKit 简介
DataKit 是一个基于 Web 的 openGauss 数据库的可视化一体化工具,旨在方便用户使用和管理 openGauss 数据库。它提供了一系列功能,包括一键化部署、卸载、组件化安装、多版本升级和日常运维、监控、迁移、开发、建模等复杂操作。DataKit 通过插件化设计,允许用户根据需要引入不同的插件,以扩展其功能。
1.2、部署与配置
部署 openGauss DataKit 通常涉及以下步骤:
环境准备:确保服务器满足 openGauss DataKit 的运行要求,包括操作系统版本、硬件配置等。
软件环境准备:安装所需的依赖软件,如 Java 运行环境(通常需要 Java 11)。
下载安装包:可以从 openGauss 官网或官方 Gitee 仓库下载 DataKit 的安装包。
安装与配置:根据提供的安装指南进行 DataKit 的安装和配置,包括数据库连接信息、用户权限、监听地址等参数的设置。
启动与访问:启动 DataKit 服务,并通过浏览器访问 DataKit 的 Web 界面进行管理和操作。
1.3、插件与功能
openGauss DataKit 提供了多种插件,例如基础运维插件、数据迁移插件、告警监控插件、业务开发插件、实例监控插件等,这些插件围绕 DataKit 的资源中心进行扩展,提供了丰富的数据库管理和监控功能。
1.4、注意事项
在部署和使用 openGauss DataKit 时,需要注意确保数据库的安全性,例如将部署服务器的 IP 配置在数据库的白名单列表中,以及遵循最佳实践来管理数据库用户和权限。
综上所述,openGauss DataKit 是一个强大的工具,能够帮助用户更有效地管理和运维 openGauss 数据库。随着 openGauss 社区的不断发展,DataKit 也在不断更新和完善,以满足用户的多样化需求。
1.5、更多资料
安装包下载地址:https://opengauss.org/zh/download/
DataKit使用文档和开发文档:https://gitee.com/opengauss/openGauss-workbench/tree/master/openGauss-datakit/doc
基础运维插件:https://gitee.com/opengauss/openGauss-workbench/tree/master/plugins/base-ops
其他插件:https://gitee.com/opengauss/openGauss-workbench/tree/master/plugins
二、环境准备
2.1、环境规划
类型 | 名称 | IP地址 | 操作系统 |
---|---|---|---|
primary | Node1 | 192.168.1.61 | CentOS 7.9 |
standby | Node2 | 192.168.1.62 | CentOS 7.9 |
monitor | Node3 | 192.168.1.63 | CentOS 7.9 |
2.2、安装
操作系统版本:
[ ]
[ ]
CentOS Linux release 7.9.2009 (Core)
[ ]
CPU核数:
[ ]
4
[ ]
内存大小:
[ ]
total used free shared buff/cache available
Mem: 7.6G 1.8G 3.6G 304M 2.3G 5.3G
Swap: 4.0G 0B 4.0G
[ ]
2.3、安装依赖
yum install bzip2 libaio-devel readline-devel wget
2.4、检查Python版本
[root@Node3 ~]# python --version
Python 2.7.5
[root@Node3 ~]#
[root@Node3 ~]# python3 --version
-bash: python3: command not found
[root@Node3 ~]#
说明:本例未安装Python3,需安装Python3.
代码如下:
yum install python3
2.5、关闭SELINUX
[ ]
[ ]
2.6、关闭RemoveIPC
说明:在各数据库节点上,关闭RemoveIPC。CentOS操作系统默认为关闭,可以跳过该步骤。
[root@Node3 ~]#
[root@Node3 ~]# cat>>/etc/systemd/logind.conf<<EOF
> RemoveIPC=no
> EOF
[root@Node3 ~]#
[root@Node3 ~]#
[root@Node3 ~]# cat>>/usr/lib/systemd/system/systemd-logind.service<<EOF
> RemoveIPC=no
> EOF
[root@Node3 ~]#
2.7、修改内核
sysctl -w kernel.sem="250 85000 250 330"
2.8、关闭防火墙
[ ]
[ ]
[ ]
说明:目前仅支持在防火墙关闭的状态下进行安装。
2.9、检查服务器主机时间
[ ]
Mon Oct 28 21:04:12 CST 2024
[ ]
说明:如果当前时间与本地时间不一致,需修改。
2.10、关闭HISTORY记录
[ ]
[ ]
2.11、修改字符集
查看本地字符集:
[root@Node3 ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
修改字符集:
[ ]
[ ]
> export LANG=en_US.UTF08
> EOF
[ ]
查看字符集:
[root@Node3 ~]#
[root@Node3 ~]# cat /etc/profile
# /etc/profile
unset i
unset -f pathmunge
export LANG=en_US.UTF-8
[root@Node3 ~]#
2.12、以上设置完毕,重启主机。
三、openGauss部署流程
3.1、创建安装目录
目录规划:
名称 | 用途 |
---|---|
openGauss | 数据库安装的主目录 |
install | 安装包上传目录 |
代码如下:
mkdir /openGauss /install
chmod 755 -R /openGauss /install
chown -R omm:dbgrp /openGauss /install
3.2、在线下载安装包
代码如下:
[omm@Node3 root]$ cd /install/
[omm@Node3 install]$ wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0-RC1/x86/openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
3.3、解压安装包
代码如下:
[omm@Node3 install]$
[omm@Node3 install]$ tar -jxf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 -C /openGauss/
[omm@Node3 install]$
3.4、openGauss部署
代码如下:
[omm@Node3 install]$
[omm@Node3 install]$ cd /openGauss/
[omm@Node3 openGauss]$ cd simpleInstall/
[omm@Node3 simpleInstall]$
[omm@Node3 simpleInstall]$ sh install.sh -w "Gauss@1234" &&source ~/.bashrc
[step 1]: check parameter
[step 2]: check install env and os setting
install.sh: line 91: netstat: command not found
[step 3]: change_gausshome_owner
[step 4]: set environment variables
.......................
import sql file
Would you like to create a demo database (yes/no)? yes
Load demoDB [school,finance] success.
[complete successfully]: You can start or stop the database server using:
gs_ctl start|stop|restart -D $GAUSSHOME/data/single_node -Z single_node
bash: ulimit: open files: cannot modify limit: Operation not permitted
[omm@Node3 simpleInstall]$
3.5、检查主备服务运行情况
代码如下:
[omm@Node3 ~]$ gs_ctl status -D $GAUSSHOME/data/single_node -Z single_node
[2024-08-22 14:51:09.100][2145][][gs_ctl]: gs_ctl status,datadir is /openGauss/data/single_node
gs_ctl: server is running (PID: 2070)
/openGauss/bin/gaussdb "-D" "/openGauss/data/single_node"
[omm@Node3 ~]$
3.6、登录主备数据库
代码如下:
[omm@Node3 simpleInstall]$ gsql -dpostgres -Ugauss -r
gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=#
openGauss=#
openGauss=# \q
[omm@Node3 ~]$
四、Datakit部署
4.1、创建管理账户
说明:
1、平台使用的数据库,当前仅支持openGauss数据库,并且需要提前创建数据库:用户:monitoruser、密码:User@123、数据库:db_datakit;
2、需要将部署服务器IP配置在平台使用的数据库(openGauss)的白名单列表中。
代码如下:
[omm@Node3 ~]$ gsql -p 5432 -d postgres -c 'create user monitoruser with password "User@123";'
CREATE ROLE
[omm@Node3 ~]$ gsql -p 15400 -d postgres -c 'grant all privileges to monitoruser;'
ALTER ROLE
[omm@Node3 ~]$ gsql -p 15400 -d postgres -c 'create database db_datakit;'
CREATE DATABASE
[omm@Node3 ~]$
4.2、修改配置文件
说明:
1、需要将部署服务器IP配置在平台使用的数据库(openGauss)的白名单列表中。
1、修改postgresql.conf
vi $GAUSSHOME/data/single_node/postgresql.conf
修改内容如下:
listen_addresses = '*'
password_encryption_type = 1
2、修改pg_hba.conf
vi $GAUSSHOME/data/single_node/pg_hba.conf
增加以下内容:
host all all 0.0.0.0/0 sha256
4.3、使用新数据库信息测试连接
代码如下:
[omm@Node3 simpleInstall]$ gsql -p 5432 -d postgres -c 'create database db_datakit;'
CREATE DATABASE
[omm@Node3 simpleInstall]$ gsql -d db_datakit -p 5432 -r -U monitoruser -W User@123 -h 192.168.4.93
gsql ((openGauss 6.0.0 build aee4abd5) compiled at 2024-09-29 18:38:08 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
db_datakit=>
4.4、安装依赖openJdk11
说明:
1、当前平台运行依赖于openJdk11。
yum install -y java-11-openjdk
多版本指定
[root@Node3 ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)
[root@Node3 ~]#
[root@Node3 ~]#
[root@Node3 ~]#
[root@Node3 ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number: 1
[root@Node3 ~]#
再次查看java版本
[root@Node3 ~]# java -version
openjdk version "11.0.23" 2024-04-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS, mixed mode, sharing)
[root@Node3 ~]#
4.5、创建安装目录
名称 | 目录 |
---|---|
日志目录 | /openGauss/Datakit/logs |
配置文件 | /openGauss/Datakit/config |
ssl目录 | /openGauss/Datakit/ssl |
files目录 | /openGauss/Datakit/files |
代码如下:
mkdir -p /openGauss/Datakit/logs /openGauss/Datakit/config /openGauss/Datakit/ssl /openGauss/Datakit/files
4.6、下载Datakit安装包
说明:
切换用户monitoruser,在线下载Datakit安装包。
代码如下:
[root@Node3 install]# su monitoruser
[monitoruser@Node3 install]$ wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-6.0.0.tar.gz
--2024-10-28 21:14:52-- https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/Datakit/Datakit-6.0.0.tar.gz
Resolving opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-south-1.myhuaweicloud.com)... 139.159.208.234, 121.37.63.47, 139.9.23.166, ...
Connecting to opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-south-1.myhuaweicloud.com)|139.159.208.234|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 899787168 (858M) [application/gzip]
Saving to: ‘Datakit-6.0.0.tar.gz’
100%[=========================================================================================>] 899,787,168 8.91MB/s in 1m 49s
2024-10-28 21:14:52 (7.88 MB/s) - ‘Datakit-6.0.0.tar.gz’ saved [899787168/899787168]
[monitoruser@Node3 install]$
4.7、解压Datakit安装包
代码如下:
[monitoruser@Node3 install]$ tar -xzvf Datakit-6.0.0.tar.gz -C /monitor/Datakit/
./application-temp.yml
./build_commit_id.log
./doc/
./doc/data-migration-README.md
./doc/oauth-login-README.md
./doc/datakit-README.md
./doc/observability-log-search-README.md
./doc/observability-instance-README.md
./doc/data-studio-README.md
./doc/alert-monitor-README.md
./doc/observability-sql-diagnosis-README.md
./doc/intelligent-parameter-tuning-README.md
./doc/compatibility-assessment-README.md
./doc/openGauss-tools-monitor-README.md
./doc/base-ops-README.md
./openGauss-datakit-6.0.0.jar
./run.sh
./visualtool-plugin/
./visualtool-plugin/webds-plugin-6.0.0-repackage.jar
./visualtool-plugin/compatibility-assessment-6.0.0-repackage.jar
./visualtool-plugin/observability-instance-6.0.0-repackage.jar
./visualtool-plugin/observability-sql-diagnosis-6.0.0-repackage.jar
./visualtool-plugin/observability-log-search-6.0.0-repackage.jar
./visualtool-plugin/MetaTune-6.0.0-repackage.jar
./visualtool-plugin/monitor-tools-6.0.0-repackage.jar
./visualtool-plugin/oauth-login-6.0.0-repackage.jar
./visualtool-plugin/data-migration-6.0.0-repackage.jar
./visualtool-plugin/alert-monitor-6.0.0-repackage.jar
./visualtool-plugin/base-ops-6.0.0-repackage.jar
[monitoruser@Node3 install]$
4.8、解压Datakit安装包
说明:
将jar包传至/monitorr/openGauss-visualtool/下,jar包下载地址:https://www.opengauss.org/zh/download/
修改application-temp.yml文件中的数据库链接ip、port、database、dbuser、dbpassword。
将配置文件application-temp.yml传至/monitor/openGauss-visualtool/config/下。
代码如下:
切换到用户monitoruser、切换到目录/monitor/Datakit
[root@Node3 ~]# su monitoruser
[monitoruser@Node3 root]$ cd /monitor/Datakit/
[monitoruser@Node3 Datakit]$
vi application-temp.yml
defaultStoragePath: /monitor/Datakit/files
# Whitelist control switch
whitelist:
enabled: false
server:
port: 9494
ssl:
/monitor/Datakit/ssl/keystore.p12 :
123456 :
PKCS12 :
enabled: true
servlet:
/ :
logging:
file:
path: /monitor/Datakit/logs
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
# For openGauss
org.opengauss.Driver :
url: jdbc:opengauss://192.168.4.93:5432/db_datakit?currentSchema=public&batchMode=off
username: monitoruser
password: User@123
# For Intarkdb
# driver-class-name: org.intarkdb.IntarkdbJDBC
# url: jdbc:intarkdb:data/datakit
复制application-temp.yml到/monitor/openGauss-visualtool/config/目录下
mv application-temp.yml config
4.9、生成ssl文件
说明:
将ssl文件传至/monitor/Datakit/ssl/下,生成ssl文件实例(生成ssl的java必须跟运行DataKit是一个java版本)
[monitoruser@Node3 Datakit]$ keytool -genkey -noprompt -dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN" -alias opengauss -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore /monitor/Datakit/ssl/keystore.p12 -validity 3650 -storepass 123456
[monitoruser@Node3 Datakit]$
4.10、生成ssl文件
说明:
切换到monitoruser用户,进入/monitor/Datakit 目录,执行启动命令:
[monitoruser@Node3 Datakit]$ sh ./run.sh start
Datakit started.
[monitoruser@Node3 Datakit]$ sh ./run.sh status
Datakit is running with PID: 2404
[monitoruser@Node3 Datakit]$
4.11、登录web端
说明:
平台默认的登录默认端口9494,账号:admin 密码:admin123,请在首次登录后及时修改密码。
登录地址:https://ip:9494
五、Datakit使用
5.1、首页
说明:
首页前两个菜单出现乱码情况;
第一个用于新增数据源;第二个用于新增物理机。
5.2、新增物理机
说明:新建物理机,需录入:主机名称、内网IP、外网IP、端口号、密码
Node1主机:
Node2主机:
主机状态
5.3、新增数据源
5.3.1、手工创建数据库集群
说明:选择数据库类型:OPENGAUSS、实例1、实例2、IP地址、端口、用户名、密码
Node1主机:
Node2主机:
数据源状态:
5.3.2、导入数据库集群
1、点击集群安装
2、点击批量导入
3、导入模版下载
说明:模版格式如下
4、编辑模版
说明:主机Node1:192.168.1.61,192.168.1.62
5、导入模版
6、导入模版
7、导入后首页监控情况
5.4、数据库、操作系统智能化巡检
5.5、数据库开发
说明:
1、DataKit支持在线开放工具,只需录入数据库主机IP、数据库名、用户名、密码。
2、开发工具遇到SQL错误语法会记录错误。
5.6、慢SQL分析与慢SQL诊断
5.7、集群监控
5.8、运行日志
5.9、更多功能
更多功能,如性能调优,智能运维、集群部署等,会继续完善。
六、相关问题
6.1、DataKit部署完成后,无法启动DataKit服务,检查日志如下
[monitoruser@Node3 Datakit]$ sh ./run.sh start
-- 说明:此时外网无法打开,检查日志如下:
[monitoruser@Node3 Datakit]$ cat logs/visualtool-main.out
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/opengauss/admin/AdminApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.lang.ClassLoader.defineClass(ClassLoader.java:635)
at com.gitee.starblues.loader.classloader.GenericClassLoader.findClassFromLocal(GenericClassLoader.java:161)
at com.gitee.starblues.loader.classloader.GenericClassLoader.findClass(GenericClassLoader.java:129)
at com.gitee.starblues.loader.classloader.GenericClassLoader.loadClass(GenericClassLoader.java:115)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.gitee.starblues.loader.launcher.runner.MethodRunner.loadRunClass(MethodRunner.java:56)
at com.gitee.starblues.loader.launcher.runner.MethodRunner.run(MethodRunner.java:48)
at com.gitee.starblues.loader.launcher.isolation.IsolationBaseLauncher.launch(IsolationBaseLauncher.java:58)
at com.gitee.starblues.loader.launcher.isolation.IsolationBaseLauncher.launch(IsolationBaseLauncher.java:35)
at com.gitee.starblues.loader.launcher.AbstractMainLauncher.toLaunch(AbstractMainLauncher.java:62)
at com.gitee.starblues.loader.launcher.AbstractMainLauncher.run(AbstractMainLauncher.java:53)
at com.gitee.starblues.loader.launcher.ProdLauncher.run(ProdLauncher.java:84)
at com.gitee.starblues.loader.launcher.ProdLauncher.run(ProdLauncher.java:45)
at com.gitee.starblues.loader.launcher.SpringMainProdBootstrap.run(SpringMainProdBootstrap.java:35)
at com.gitee.starblues.loader.launcher.SpringMainProdBootstrap.main(SpringMainProdBootstrap.java:30)
解决方案:
1、检查Java版本
说明:此时发现Java版本错误。
[root@Node3 ~]# java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@Node3 ~]#
2、检查Java版本
说明:使用alternatives --config java选择多版本Java,此处选择1。
[root@Node3 ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number: 1
[root@Node3 ~]#
3、再次检查Java版本
[root@Node3 ~]# java --version
openjdk 11.0.23 2024-04-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS, mixed mode, sharing)
[root@Node3 ~]#
七、总结
openGauss Datakit是一个基于Web的openGauss的可视化的一体化工具,旨在方便客户使用和管理openGauss数据库。它提供了一系列功能:
1. 资源管理
DataKit提供了资源管理功能,允许用户对物理机和数据库资源进行集中管理。
2. 安全中心管理
DataKit支持安全中心管理,确保数据库的安全性。
3. 插件管理
DataKit将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。
4. 一键化部署、卸载、组件化安装、多版本升级
DataKit支持一键化部署、卸载、组件化安装和多版本升级,简化了数据库的管理和维护过程。
5. 日常运维
DataKit提供了日常运维功能,包括监控、迁移、开发、建模等复杂操作。
6. 监控
DataKit提供了监控功能,帮助用户实时监控数据库的运行状态。
7. 迁移
DataKit支持数据库迁移,帮助用户将数据从一个数据库迁移到另一个数据库。
8. 开发
DataKit提供了开发功能,帮助用户进行数据库的开发和建模。
9. 建模
DataKit支持数据库建模,帮助用户设计和优化数据库结构。
10. 插件化工具
DataKit是基于spring-brick开发的插件化工具,前台使用vue,后台使用spring-boot技术栈,具有高度的灵活性和可扩展性。
11. 环境准备
DataKit的安装和使用需要特定的环境准备,包括操作系统、数据库版本等。
12. 操作步骤
DataKit的操作步骤包括创建工作目录、修改配置文件、更改配置文件、生成密钥信息、启动与日常运维、访问服务等。
13. 卸载工具
DataKit工具是Jar包启动的,删除对应的Jar包即可卸载该工具。
14. 源码和使用说明
DataKit的源码和使用说明可以在官方仓库中找到。
15. 插件说明
DataKit提供了多个插件,包括基础运维插件、数据迁移插件、告警监控插件、业务开发插件、实例监控插件、日志检索插件、智能诊断插件、openGauss数据库监控插件等。
16. 特性优势
DataKit的特性优势在于其一站式的解决方案、易用性和强大的可视化运维平台,为用户提供了更加高效、便捷和稳定的数据库运维体验。
17. 安装与使用
DataKit的安装与使用相对简单,用户可以按照官方提供的步骤进行操作。
总结与展望
DataKit的出现为数据库运维领域带来了革命性的改变,它以其一站式的解决方案、易用性和强大的可视化运维平台,为用户提供了更加高效、便捷和稳定的数据库运维体验。随着技术的不断发展,DataKit将在未来继续引领数据库运维领域的发展潮流。
点击阅读原文跳转作者文章