运维工具DataKit介绍
openGauss官方文档:DataKit (osinfra.cn)
DataKit使用文档和开发文档:content/zh/docs/ToolandCommandReference/DataKit.md · openGauss/docs - Gitee.com
功能介绍
openGauss的开发运维涉及到很多复杂操作,DataKit提供了一个可视化操作的运维界面,可以帮助用户管理,安装,监控运维自己的openGauss数据库以及对应的物理机资源。
DataKit是一个以资源(物理机,数据库)为底座的开发运维工具,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展开,完成数据库的运维,监控,迁移,开发,建模等复杂的操作。
Datakit安装部署在服务器上,是一个自动化运维的平台。可以部署不同类型的插件来实现不同的功能,是跟随opengauss6.0发布的新软件,也可以用来监控小于6.0的opengauss版本。
原理简介
DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-bot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,可以灵活的在基座上面安装卸载,方便客户按需使用。
特性优势
本项目是基于Web的openGauss的可视化的一体化工具:DataKit,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,以及其它功能包括一键化部署、卸载、组件化安装、多版本升级和日常运维。
安装前准备
注意事项
当前平台运行依赖于openJDK11
平台使用的数据库,当前仅支持openGauss数据库,并且需要提前创建database。
需要将部署服务器IP配置在平台使用的数据库openGauss的白名单列表中。
支持的服务器系统
openEuler 20.3LTS(x86_x64,ARM)
centos7.x(x86_x64)
注:经验证,在openEuler 22.03 LTS可以完美运行。
[omm@top175 ~]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
jdk升级至11版本
jdk下载地址:https://download.oracle.com/otn/java/jdk/11.0.22+9/8662aac2120442c2a89b1ee9c67d7069/jdk-11.0.22_linux-x64_bin.tar.gz?AuthParam=1707028918_ba497c321eb5782bbabe489644d765da
--当前JDK版本
[root@top175 ~]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
[root@top175 ~]# rpm -qa |grep jdk
copy-jdk-configs-3.3-10.el7_5.noarch
yum -y remove copy-jdk-configs.noarch
--压缩安装包
tar -zxvf /opt/jdk-11.0.22_linux-x64_bin.tar.gz -C /usr/local
ln -s /usr/local/jdk-11.0.22/bin/java /usr/bin/java
--环境变量导入
vi /etc/profile
export JAVA_HOME=/usr/local/jdk-11.0.22
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
--环境变量生效
source /etc/profile
--确认安装是否成功
[root@top175 jdk-11.0.22]# java -version
java version "11.0.22" 2024-01-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.22+9-LTS-219)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.22+9-LTS-219, mixed mode)
或采用rpm安装方式升级java版本
# 检查rpm -qa | grep java
rpm -qa | grep jdk
# 卸载
rpm -qa | grep java | xargs rpm -e --nodeps
rpm -qa | grep jdk | xargs rpm -e --nodeps
# 安装
rpm -ivh jdk-11.0.17_linux-x64_bin.rpm
# 验证
[root@test01 tmp]# java -version
java version "11.0.17" 2022-10-18 LTSJava(TM) SE Runtime Environment 18.9 (build 11.0.17+10-LTS-269)Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.17+10-LTS-269, mixed mode)
运维工具DataKit安装
jar包下载有以下两种方式
1.通过openGauss官网下载:https://www.opengauss.org/zh/download/
2.通过opengauss官方gitee仓库下载:
仓库地址:https://gitee.com/opengauss/openGauss-workbench
openGauss官方gitee仓库的安装包一般会比openGauss官网的安装包版本高,包含最新功能和基础修复。
由于datakit版本需要和下文中的迁移套件有版本依赖关系,所以
本文档采用opengauss官网下载最新版本的安装包:https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/tools/Datakit/Datakit-6.0.0.tar.gz
和opengauss官网下载迁移套件:https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/tools/centos7/PortalControl-6.0.0-x86_64.tar.gz
迁移套件gitee仓库地址:https://gitee.com/opengauss/openGauss-migration-portal
上传并解压Datakit安装包
下载后安装包上传至/home/omm/soft目录下
--创建DataKit安装包存放位置目录
mkdir -p /home/omm/soft
--查看并解压DataKit安装包
[root@top175:/root]$ cd /home/omm/soft
[root@top175:/home/omm/soft]$ ls -l
total 878700
-rw-r--r-- 1 root root 899781101 Oct 15 18:17 Datakit-6.0.0.tar.gz
--查看解压后的内容
[root@top175:/home/omm/soft]$ ls -l
total 985604
-rw-r--r-- 1 root root 1379 Sep 29 10:16 application-temp.yml
-rw-r--r-- 1 root root 320 Sep 29 10:06 build_commit_id.log
-rw-r--r-- 1 root root 899781101 Oct 15 18:17 Datakit-6.0.0.tar.gz
drwxr-xr-x 2 root root 4096 Sep 29 10:16 doc
-rw-r--r-- 1 root root 109445199 Sep 29 10:16 openGauss-datakit-6.0.0.jar
-rw-r--r-- 1 root root 1677 Sep 29 10:16 run.sh
drwxr-xr-x 2 root root 4096 Sep 29 10:16 visualtool-plugin
[root@top175:/home/omm/soft]$ ls -l visualtool-plugin/
total 834392
-rw-r--r-- 1 root root 82833727 Sep 29 10:16 alert-monitor-6.0.0-repackage.jar
-rw-r--r-- 1 root root 58341751 Sep 29 10:16 base-ops-6.0.0-repackage.jar
-rw-r--r-- 1 root root 63093773 Sep 29 10:16 compatibility-assessment-6.0.0-repackage.jar
-rw-r--r-- 1 root root 32585208 Sep 29 10:16 data-migration-6.0.0-repackage.jar
-rw-r--r-- 1 root root 64090612 Sep 29 10:16 MetaTune-6.0.0-repackage.jar
-rw-r--r-- 1 root root 37983131 Sep 29 10:16 monitor-tools-6.0.0-repackage.jar
-rw-r--r-- 1 root root 42026528 Sep 29 10:16 oauth-login-6.0.0-repackage.jar
-rw-r--r-- 1 root root 247163511 Sep 29 10:16 observability-instance-6.0.0-repackage.jar
-rw-r--r-- 1 root root 45877188 Sep 29 10:16 observability-log-search-6.0.0-repackage.jar
-rw-r--r-- 1 root root 81130700 Sep 29 10:16 observability-sql-diagnosis-6.0.0-repackage.jar
-rw-r--r-- 1 root root 99260679 Sep 29 10:16 webds-plugin-6.0.0-repackage.jar
--创建DataKit安装包存放位置目录
mkdir -p /home/omm/soft
--查看并解压DataKit安装包
[root@top175:/root]$ cd /home/omm/soft
[root@top175:/home/omm/soft]$ ls -l
total 878700
-rw-r--r-- 1 root root 899781101 Oct 15 18:17 Datakit-6.0.0.tar.gz
--查看解压后的内容
[root@top175:/home/omm/soft]$ ls -l
total 985604
-rw-r--r-- 1 root root 1379 Sep 29 10:16 application-temp.yml
-rw-r--r-- 1 root root 320 Sep 29 10:06 build_commit_id.log
-rw-r--r-- 1 root root 899781101 Oct 15 18:17 Datakit-6.0.0.tar.gz
drwxr-xr-x 2 root root 4096 Sep 29 10:16 doc
-rw-r--r-- 1 root root 109445199 Sep 29 10:16 openGauss-datakit-6.0.0.jar
-rw-r--r-- 1 root root 1677 Sep 29 10:16 run.sh
drwxr-xr-x 2 root root 4096 Sep 29 10:16 visualtool-plugin
[root@top175:/home/omm/soft]$ ls -l visualtool-plugin/
total 834392
-rw-r--r-- 1 root root 82833727 Sep 29 10:16 alert-monitor-6.0.0-repackage.jar
-rw-r--r-- 1 root root 58341751 Sep 29 10:16 base-ops-6.0.0-repackage.jar
-rw-r--r-- 1 root root 63093773 Sep 29 10:16 compatibility-assessment-6.0.0-repackage.jar
-rw-r--r-- 1 root root 32585208 Sep 29 10:16 data-migration-6.0.0-repackage.jar
-rw-r--r-- 1 root root 64090612 Sep 29 10:16 MetaTune-6.0.0-repackage.jar
-rw-r--r-- 1 root root 37983131 Sep 29 10:16 monitor-tools-6.0.0-repackage.jar
-rw-r--r-- 1 root root 42026528 Sep 29 10:16 oauth-login-6.0.0-repackage.jar
-rw-r--r-- 1 root root 247163511 Sep 29 10:16 observability-instance-6.0.0-repackage.jar
-rw-r--r-- 1 root root 45877188 Sep 29 10:16 observability-log-search-6.0.0-repackage.jar
-rw-r--r-- 1 root root 81130700 Sep 29 10:16 observability-sql-diagnosis-6.0.0-repackage.jar
-rw-r--r-- 1 root root 99260679 Sep 29 10:16 webds-plugin-6.0.0-repackage.jar
创建DataKit工作目录
mkdir -p /ops/server/openGauss-visualtool/logs /ops/server/openGauss-visualtool/config/visualtool-plugin /ops/ssl /ops/files
上传DataKit的jar包
cd /home/omm/soft
cp openGauss-datakit-6.0.0.jar /ops/server/openGauss-visualtool/
配置文件application-temp.yml
上传本地application-temp.yml文件到/ops/server/openGauss-visualtool/config/目录下,并修改文件中的数据库ip、port、database、dbuser、dbpassword,test-while-idle配置为false。
此处使用openGauss作为后台数据库。
cd /ops/server/openGauss-visualtool/config
vi application-temp.yml
:%s#/ops#/topsoft/server/DataKit5#g
修改前
--查看原配置文件内容
cat application-temp.yml
system:
# File storage path
defaultStoragePath: /ops/files
# Whitelist control switch
whitelist:
enabled: false
server:
port: 9494
ssl:
key-store: /ops/ssl/keystore.p12
key-store-password: 123456
key-store-type: PKCS12
enabled: true
servlet:
context-path: /
logging:
file:
path: /ops/logs/
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.opengauss.Driver
url: jdbc:opengauss://ip:port/database?currentSchema=public&batchMode=off
username: dbuser
password: dbpassword
druid:
test-while-idle: true
test-on-borrow: true
validation-query: "select 1"
validation-query-timeout: 10000
connection-error-retry-attempts: 0
break-after-acquire-failure: true
max-wait: 6000
keep-alive: true
max-active: 30
min-evictable-idle-time-millis: 600000
management:
server:
port: 9494
更改后
cat application-temp.yml
system:
# File storage path
defaultStoragePath: /ops/files
# Whitelist control switch
whitelist:
enabled: false
server:
port: 9494
ssl:
key-store: /ops/ssl/keystore.p12
key-store-password: 123456
key-store-type: PKCS12
enabled: true
servlet:
context-path: /
logging:
file:
path: /ops/logs/
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.opengauss.Driver
url: jdbc:opengauss://192.168.3.175:15400/datakit?currentSchema=public&batchMode=off
username: datakit
password: Topnet_1234
druid:
test-while-idle: true
test-on-borrow: true
validation-query: "select 1"
validation-query-timeout: 10000
connection-error-retry-attempts: 0
break-after-acquire-failure: true
max-wait: 6000
keep-alive: true
max-active: 30
min-evictable-idle-time-millis: 600000
management:
server:
port: 9494
生成ssl文件
root用户下操作 使用keytool工具生成密钥,需要注意的是keytool -genkey命令用于创建SSL文件(包括密钥对和证书),并且它与 JDK (Java Development Kit)是有关系的。keytool 是JDK提供的一个工具,用于管理密钥库和证书,用于加密和身份验证等安全通信。而我们前面提到该平台依赖JDK11环境,所以这里使用JDK11来创建密钥文件。 修改并执行如下命令生成密钥信息。修改-storepass参数值与application.yml配置文件中的key-store-password值保持一致,默认时两者均为123456;-keystore路径值与配置文件application-temp.yml中的key-store路径值保持一致。
su - root
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 /ops/ssl/keystore.p12 \
-validity 3650 \
-storepass 123456
需要修改的参数:
-keystore /ops/ssl/keystore.p12 #位置,视情况修改
-storepass 123456 #123456密码,视情况修改
su - root
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 /ops/ssl/keystore.p12 \
-validity 3650 \
-storepass 123456
需要修改的参数:
-keystore /ops/ssl/keystore.p12 #位置,视情况修改
-storepass 123456 #123456密码,视情况修改
注意:
storepass与配置文件application-temp.yml中的key-store-password保持一致keystore路径与配置文件application-temp.yml中的key-store路径保持一致
创建DataKit运行用户
groupadd ops
useradd -m -g ops ops
chown -R ops:ops /ops
启动与日常运维
--切换目录
su - ops
cd /ops/server/openGauss-visualtool
--启动应用 -Xms2048m -Xmx4096m可视情况更改
nohup java -Xms1024m -Xmx2048m -jar /ops/server/openGauss-visualtool/openGauss-datakit-6.0.0.jar --spring.profiles.active=temp >/ops/server/openGauss-visualtool/logs/visualtool-main.out 2>&1 &
登录datakit平台
启动成功后,可通过浏览器界面访问datakit平台
登录地址:https://192.168.3.175:9494/,其中192.168.3.175为实际ip
初始用户:admin
初始密码:admin123
首次登录需修改初始密码
admin1234
点击阅读原文跳转作者文章