# openGauss-tools-monitor **Repository Path**: opengauss/openGauss-tools-monitor ## Basic Information - **Project Name**: openGauss-tools-monitor - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 16 - **Created**: 2022-08-24 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

openGauss数据库监控插件生成工具 v1.0.0

基于 Vue/Element UI 和 Java 前后端不分离的快速开发框架

### openGauss数据库监控插件工具简介 不同的客户在使用openGauss数据库过程中,可能会使用不同的监控平台来实现对数据库的监控,为帮助行业客户更放心、更快速使openGauss数据库,因此开发一款通用的监控插件生成工具。 * 可以根据客户自定义的监控SQL来生成Prometheus、Zabbix以及Nagios平台的监控插件。 * 内置50个通用的监控插件指标,可直接部署在已有平台上来实现对openGauss的全链路监控,这50个通用指标覆盖了openGauss的连接数、动态内存、共享内存、TPS、QPS、长连接等常用指标监控 * 为减少不同平台的兼容性,工具所有插件均使用Java语言进行适配。支持在Linux、Windows上运行 * 采用前后端不分离的模式,前端(基于 Vue/Element UI),通过前端页面实现数据库配置、监控平台配置、SQL语句的校验、指标文件生成、指标发布等功能。 ### openGauss数据库监控插件工具特性支持如下 * 配置openGauss数据库连接信息 * 支持sql指标生成 * 支持单条sql指标发布,多条sql指标,多主机批量发布。 * sql预览,支持查看历史sql详情,修改和删除历史sql * 发送上报监控平台 * 在监控平台可以查看监控指标。 ### openGauss数据库监控插件工具的使用限制 * 支持java8版本 * 用户需要具有数据库的操作权限,权限配置为只读权限,配置正确的数据源信息,数据库支持openGauss * 只支持select查询语句 * 在Prometheus服务端需要配置exporter的信息 * 使用Zabbix监控平台需要配置Zabbix监控平台的数据库连接信息,Zabbix数据存储库为mysql * 使用Nagios监控平台需要配置Nagios客户端和服务端连接信息 * 本项目部署环境需要和监控平台在同一个网段,网络互通,网络中断导致指标发布失败 * 系统支持windows、linux * 插件重启,zabbix需要重新连接客户端,需要2分钟 * 用户权限需要MONADMIN管理员属性(su - omm ;gsql -d postgres -p 5432;ALTER USER JIM MONADMIN),jim为所添加权限的用户 ### 系统模块 ~~~ openGauss-tools-monitor ├── image // 项目图片资源 ├── monitor-tools // 子项目 └── java └──common // 项目公共资源 └──config // spring基础配置 └──controller // 用户访问控制层 └──entity // 实体类信息 └──exception // 异常处理类 └──manager // 异步处理类 └──mapper // 数据持久层 └──preloading // 项目初始化加载类 └──prometheustools // prometheus工具类 └──quartz // 定时任务管理类 └──util // 工具类 └──MonitorPluginStart // 项目启动类 └── resources └── static // 项目静态资源 └── application.yaml // 项目基础配置文件 ~~~ ### 架构图 ### 工具的安装windows #### 1.安装jdk * 以java8的安装为例 * Oracle官方下载:https://www.oracle.com/java/technologies/downloads/ * 双击打开下载好的jdk,点击下一步,安装完成后进行java环境变量的配置 * 右键我的电脑,点击属性,点击高级系统设置,点击环境变量。 * 在系统变量中新建JAVA_HONE,变量值为java的安装路径 * 在path写入bin所在的路径,如图所示; * 打开cmd命令执行java -version,结果为java version "java版本号",安装成功。(java version "1.8.0_341")
### 工具的安装linux-Centos7 #### 1.安装jdk * 进入oracle官网下载linux版本jdk8,地址:https://www.oracle.com/java/technologies/downloads/#java8 * cd /usr/local (注:目录自定义); * mkdir jdk * 上传jdk到目录/usr/local/jdk * 执行tar -zxcv jdk-8u341-linux-x64.tar.gz * 配置成功后,进行环境变量的配置 * vim /etc/profile * 添加如下命令 * export JAVA_HOME=/usr/local/jdk/jdk1.8.0_341 * export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ * export PATH=$PATH:$JAVA_HOME/bin * 刷新环境变量:执行source /etc/profile * 查看java版本:执行java -version
#### 2.docker的安装 * 如果之前安装过旧版本的Docker,可以使用下面命令卸载: yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine \ docker-ce * 安装yum工具 yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken * 更新本地镜像源: yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo yum makecache fast * 安装docker yum install -y docker-ce * docker 命令 systemctl start docker # 启动docker服务 systemctl stop docker # 停止docker服务 systemctl restart docker # 重启docker服务 #### 3.dockerfile文件的制作 * 参考项目dockerfile文件 ### openGauss数据库监控插件工具使用说明-windows * 环境的准备,安装jdk1.8(参考工具的安装windows)。 * 以idea为例参考下图 * 启动方式:(1)使用idea工具在启动类启动 * 启动方式:(2)使用java -jar monitor-tools.jar启动
### openGauss数据库监控插件工具使用说明-linux * 环境的准备,安装jdk1.8,(参考工具的安装linux)。 * 切换至固定目录如:/usr/local 进入目录使用:java -jar monitor-tools.jar & 后台启动 * 使用docker容器化部署(目录自定义,映射端口自定义) * mkdir /opt/docekerTest * mv dockerfile /opt/docekerTest * mv monitor-tools.jar /opt/docekerTest * docker build -t web:1.0 . 点表示dockerfile所在的目录 * docker run --name monitor -p 8085:8085 -v /opt/tools:/opt/tools -d web:1.0 * docker start monitor ### 演示图