Commit Graph

66 Commits

Author SHA1 Message Date
xxq250 c10f49d209 fixed 成果库首页新接口 2026-07-03 11:14:13 +08:00
wanjia 33e77ed05b feat(dms):excel导入校企成果,支持图片
(cherry picked from commit 89cf31f69a)
2026-03-03 15:53:58 +08:00
OTTO 5d14d5e56a fix(运维监控): 修复新建deployment的同时新建service,但是删除时,未删除service的问题
1. 问题分析:
在正常情况下,支持重复创建应用,即使Service已经创建也支持通过创建操作直接更新原Service,但是部分特殊情况下Service需要暴露指定端口,此时若重复创建会出现端口重复的问题;
2. 处理方案:
删除应用时同步删除对应Service;

关联Issue:https://pm.osredm.com/osredm/projects/27/bug/4152
2025-11-14 17:06:52 +08:00
OTTO 93ed7838e6 feat(运维监控): 新增K8S异常事件站内信通知功能
1. 实现K8S Warning类型异常事件自动监控和站内信通知
2. 添加定时任务,每10秒执行一次事件检测
3. 集成ES查询和站内信发送能力
4. 仅处理Warning类型K8S事件(排除异常原因为"Unhealthy"的事件)
5. 处理最近300秒内且未发送通知的事件(通过sendNotification字段判断)
2025-11-06 17:12:31 +08:00
OTTO b0aede3f93 feat(运维监控): 基于K8S事件开发系统关键活动日志
完成获取K8S事件关键活动列表接口开发
2025-10-11 09:33:47 +08:00
OTTO 0ca345d200 feat(运维监控): 【微服务编排】微服务编排创建应用时支持svc、hpa、config等相关资源创建 2025-09-22 14:28:30 +08:00
OTTO 83c1457c50 Merge branch 'master' of code.gitlink.org.cn:otto/microservices into dev_monitoring 2025-09-22 09:59:13 +08:00
OTTO 705823ec3f feat(运维监控模块): 【微服务运行状态监控】完成获取容器启停状态接口开发
1. 调用Prometheus接口查询容器状态为“Running”的个数以及容器总数量
2. 调用Prometheus接口查询容器的创建时间,调用Rancher接口查询容器元数据和状态数据,筛选出不为“running”状态的所有容器,并获取该容器状态为False的condition,获取condition的lastTransitionTime作为该容器的停止时间
2025-07-30 10:58:31 +08:00
OTTO c6fd9a1c9d feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增更新网关路由配置接口、新增更新网关安全认证配置接口、新增更新网关白名单配置接口:
1. 调用Nacos接口获取最新的网关配置,并将配置内容转换为JSONObject对象
2. 基于用户传入的更新参数,更新网关配置对象
3. 调用Nacos配置更新接口,更新网关配置
2025-07-25 16:10:40 +08:00
OTTO 83c8d5fe3e feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增获取微服务网关路由配置接口:
1. 调用Nacos接口以yaml文本形式获取网关配置内容
2. 将yaml文本转换为JSONObject对象
3. 从JSONObject对象中提取网关路由配置信息
2025-07-25 15:00:35 +08:00
OTTO ddb1a06acc refactor(运维监控模块): 统一处理Rancher接口异常信息
1. 将所有Rancher远程调用接口的响应调整为Response
2. 在监控运维服务中对Rancher接口响应进行统一处理(携带操作方法名称作为入参)
- 当Rancher远程接口响应Body为空时抛出异常:[xx操作]时发生错误,请联系系统管理员
- 读取Body内容并转换为JSONObject类型,
- 当响应状态码为2xx时,若调用方需要JSONObject类型则直接返回,若需要Boolean类型则返回true
- 当响应状态码不是为2xx时,则解析body对象,读取message字段作为异常信息返回给用户
2025-07-25 09:25:00 +08:00
OTTO d13b38e980 feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量可选参数接口
1. 调用getK8sConfigmapByNamespace获取命名空间下的所有 ConfigMap和Secret数据;
2. 遍历ConfigMap/Secret数据,提取每个ConfigMap/Secret 的名称和键值集合;
3. 构建K8sApplicationEnvOptionalParameter对象并设置类型为 CONFIGMAP或Secret;
2025-07-24 10:48:25 +08:00
wanjia 30daa7b00c feat(项目仪表盘):#132587 项目仪表盘中知识库类型动态转换 2025-07-23 14:21:59 +08:00
OTTO 1cb6c3e758 feat(运维监控模块): 【微服务管理】微服务模块定制化编排
1. 新增删除应用接口
2. 抽取Rancher错误响应的处理逻辑,创建公共处理方法
3. 将所有“Pod”展示调整为容器,简化用户理解
2025-07-23 14:11:42 +08:00
OTTO 17a911c54e feat(运维监控模块): 【微服务管理】微服务模块定制化编排
新增编辑应用Yaml文件接口:
- 根据传入的 kind 获取对应的应用类型枚举;
- 调用 remoteRancherService.editK8sApplication 发送编辑请求;
- 如果响应成功(状态码 200~299),返回 true;
- 否则读取响应体,尝试解析为 JSON,若包含 message 字段则抛出带有该错误信息的异常;
- 若读取响应体过程中发生 IO 异常,也抛出异常;
- 默认返回 false 表示编辑失败。
2025-07-23 11:33:30 +08:00
OTTO adc86b04c9 feat(运维监控模块): 【微服务管理】微服务模块定制化编排
新增获取K8S应用Yaml接口(用于Yaml文件下载和编辑应用Yaml时使用):
通过Yaml转换器将JSONObject转换为Yaml格式返回
2025-07-23 10:51:31 +08:00
wanjia 6dc2dda918 feat(项目仪表盘):#132587 项目仪表盘中动态记录补充知识库类型 2025-07-22 16:50:33 +08:00
OTTO fdf61667f7 feat(运维监控模块): 【微服务模块定制化编排】支持编排定义与创建
1. 根据 kind 获取对应的应用类型(如Deployment、DaemonSet等)。
2. 调用 RemoteRancherService 的 createK8sApplication 方法发送创建请求,调用创建方法时将请求的Content-Type设置为application/yaml。
3. 如果响应成功(状态码 200~299),返回 true。
4. 如果失败,读取响应体中的错误信息并抛出 ServiceException。
5. 若解析响应失败,捕获 IOException 并抛出相应异常。
2025-07-22 16:38:03 +08:00
OTTO 8abb5a38bd feat(运维监控模块): 支持微服务启停管理
1. 校验操作类型:根据传入的 operationKey 获取操作类型,若不支持则抛异常。
2. 获取应用详情:调用 RemoteRancherService 获取应用的详细信息。
3. 清理无用字段:去除 JSON 数据中不必要的字段,避免更新冲突。
4. 根据操作类型执行对应逻辑:
- START:设置副本数为1,启动应用。
- STOP:设置副本数为0,停止应用。
- FORCE_STOP:先停止应用,再强制删除处于 Terminating 状态的 Pod。
- RESTART:通过修改 deployment 的注解触发重启。
- PAUSED / RESUME:设置 paused 字段为 true 或 false,控制应用暂停或恢复。
5. 调用远程服务更新应用配置,并返回操作是否成功。
2025-07-21 16:58:00 +08:00
OTTO 65a5b5d081 feat(运维监控模块): 新增Pod删除接口
1. 构建一个 deletePodBody JSON 对象,若 isForce 为 true,则设置强制删除参数。
2. 调用 RemoteRancherService.deletePod 发送删除请求,传入命名空间、Pod 名称、删除策略和用户身份令牌。
3. 判断响应状态码是否在 200-300 之间,若是则返回 true,表示删除成功。
2025-07-17 09:20:03 +08:00
OTTO 672476ba53 feat(运维监控模块): 新增接口:获取微服务应用功能列表 2025-07-01 09:05:58 +08:00
OTTO 18f89d1b8e feat(运维监控模块): 新增接口:获取微服务应用功能列表
1. REGISTRATION_CENTER:调用 Nacos 接口获取服务列表,匹配服务名与标签值,构造注册中心功能对象。
2. GATEWAY_MANAGEMENT:模糊匹配 Nacos 配置中的 dataId,若包含标签值则构造网关管理功能对象。
2025-06-19 19:02:12 +08:00
OTTO c3b5dcafba feat(运维监控模块): 新增接口:获取微服务应用功能列表
1. 调用网关远程接口获取 Sentinel 中注册的应用列表;
2. 检查返回结果是否有效且包含数据;
3. 遍历应用列表,匹配当前 Kubernetes 应用标签值(`k8sLabelValue`)与 Sentinel 中的 `app` 名称;
4. 若匹配成功,则创建 [ApplicationFunction] 对象,设置其键和名称,并封装 `app` 和 `appType` 到变量中;
5. 最后将构建好的功能对象加入结果列表 `applicationFunctionsList`。
2025-06-19 16:31:24 +08:00
OTTO a511f39a13 feat(运维监控模块): 新增接口:获取微服务应用功能列表
这段代码实现以下功能:

1. 调用 SkyWalking GraphQL 接口,查询指定分组下的所有服务;
2. 遍历返回的服务列表,匹配当前应用的 Kubernetes 标签(`k8sLabelValue`)与服务的 `shortName`;
3. 若匹配成功,则创建一个 [ApplicationFunction]对象,设置其功能类型(key/name)和服务 ID(作为变量),并加入结果列表。
2025-06-18 15:10:03 +08:00
OTTO 5e19e53b94 feat(运维监控模块):新增最近24小时应用接口请求次数查询接口
该方法用于获取 Kubernetes 集群中各个应用的请求次数,并封装成 [ApplicationRequestCountData]列表返回。其主要逻辑如下:

1. 获取 Nginx 服务端口别名映射:调用 Rancher 接口获取指定服务信息,提取各端口的名称(别名)并存入 `portMap`。
2. 查询 Prometheus 请求次数数据:通过 Prometheus 查询表达式 [APPLICATION_REQUEST_COUNT] 获取各应用的请求次数。
3. 组装结果数据:将 Prometheus 返回的端口号替换为对应别名,设置序号和请求次数,最终返回 [ApplicationRequestCountData] 列表。
2025-05-22 11:28:37 +08:00
OTTO 2be36ca12e feat(运维监控模块):新增集群每秒请求率(QPS)查询接口
该方法用于获取指定Kubernetes集群在过去一小时内的节点数量指标数据(QPS趋势),若无数据则填充默认值0,并按时间排序返回结果。具体逻辑如下:
1. 获取当前时间及一小时前的时间戳;
2. 调用Prometheus接口查询集群节点数指标数据;
3. 解析返回结果,封装为MetricCommonData对象列表;
4. 若无返回数据,则构造7个默认值为0的指标数据;
5. 按时间升序排序后返回结果。
2025-05-22 09:35:41 +08:00
OTTO 1eefa65c32 refactor(运维监控模块): 重构监控模块集群状态数据获取方式
1. 将同步调用改为异步调用,使用线程池执行任务(原接口响应时间在2s左右,优化至700ms)
2. 优化了数据获取逻辑,提高了效率
3. 由于网关需要鉴权,调整了网关远程接口参数,使用 token 替代 source
4. 新增了线程池工厂和异步服务接口
2025-05-21 17:22:53 +08:00
OTTO c6b4a1bd80 feat(运维监控模块):新增获取集群状态数据接口
1. 从 Prometheus 查询集群节点总数、不可用节点数、CPU 使用率、内存使用率、Pod 使用率等指标。
2. 获取当天的总请求数、平均请求处理时间、请求成功率等网关性能数据。
3. 获取命名空间列表,并统计微服务应用数量及今日重启次数。
4. 将所有数据封装到 K8sClusterStatus 对象并返回。
2025-05-21 15:19:42 +08:00
OTTO 21ba1ce6bd refactor(运维监控模块):重构Rancher相关远程接口
- 新增 RemoteRancherService 接口,专门处理 Rancher 相关请求
- 移除 RemoteGatewayService 中的 Rancher 相关方法
- 更新 K8sNamespaceServiceImpl 中的远程调用方法,使用新的 RemoteRancherService
2025-05-21 08:42:23 +08:00
OTTO dd870b3cd3 feat(k8s): 添加获取应用 Pod IP 列表功能
该方法用于根据应用类型、命名空间和应用名称获取关联的 Pod 的 IP 地址列表。逻辑如下:

1. 调用 [getK8sApplicationDetail]获取应用详情;
2. 从应用的 relationships 中查找关联到 "pod" 的关系,并提取标签选择器;
3. 若选择器中包含 `app=` 标签,则提取应用名;
4. 调用 [getK8sPodListByNamespace] 获取命名空间下所有 Pod 列表;
5. 筛选出标签中 `app` 匹配的应用名的 Pod;
6. 返回这些 Pod 的 IP 地址列表;
7. 若无匹配数据则返回空列表。
2025-05-20 16:44:17 +08:00
OTTO 417d440549 feat(运维监控模块): 新增获取集群节点列表接口
1. 调用rancher接口获取节点列表
2. 将rancher返回对象转换为java对象
3. 从rancher的节点对象中摘取节点标识、节点名称、节点IP、节点角色以及是否就绪
2025-05-20 15:45:16 +08:00
OTTO 010d5e5354 feat(运维监控模块): 新增获取命名空间列表接口
- 在 RemoteGatewayService 中新增 getK8sDeployList 和 getK8sStatefulList 方法
- 在 K8sNamespaceServiceImpl 中调用新方法获取 deployments 和 statefulsets 列表
- 重构 RancherDaemonsetsVo相关类,改为 RancherApplicationVo 以支持多种应用类型
- 优化命名空间列表获取逻辑,整合 daemonsets、deployments 和 statefulsets 数据
2025-05-16 15:51:02 +08:00
OTTO 94e0be0e71 feat(运维监控模块): 新增获取命名空间列表接口
- 在 RemoteGatewayService 中添加 getK8sDaemonsetsList 方法,调用rancher接口获取集群Daemonsets列表
- 新增Rancher Daemonsets对象以及Daemonsets的state和metadata对象,将Rancher接口返回的对象转换为Java对象
2025-05-16 15:28:02 +08:00
OTTO b0f9e06e18 feat(运维监控模块): 新增获取命名空间列表接口
- 在 RemoteGatewayService 中添加 getK8sNamespaceList 方法,调用rancher接口获取集群命名空间列表
- 新增Rancher命名空间对象,将Rancher接口返回的对象转换为Java对象
- 新增 K8sNamespace 和 K8sApplication 模型类
-
2025-05-16 14:33:57 +08:00
OTTO f58af4b0b5 feat(网关服务): 集成 Rancher 登录
新增Rancher免登录转发逻辑实现:
1. 构造登录Json对象调用Rancher登录接口获取Token
2. 将Token放入Redis缓存中,缓存失效时间为Rancher Token失效时间减一小时
3. 携带Token转发用户请求
2025-05-15 16:55:21 +08:00
OTTO 904a1b551c Merge branch 'master' of code.gitlink.org.cn:otto/microservices into product_refact_deliver
# Conflicts:
#	microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java
#	microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/controller/PmsCiPipelinesController.java
#	microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/IPmsCiPipelinesService.java
#	microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/impl/PmsCiPipelinesServiceImpl.java
#	microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/utils/PmsGitLinkRequestUrl.java
2025-03-18 17:03:23 +08:00
OTTO 2d4392bfb2 fix(制品库优化): 修复制品移入产品库逻辑
当需要移入的制品文件未存在于文件服务中时,通过文件服务下载该文件,并返回文件标识,通过文件标识再将文件上传到nexus

Signed-off-by: OTTO <731554297@qq.com>
2025-02-12 11:34:21 +08:00
OTTO fa4d727623 Merge branch 'dev' of code.gitlink.org.cn:Gitlink/microservices into master_micro_ops
# Conflicts:
#	microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java
2024-12-17 14:28:43 +08:00
OTTO f12fac99e7 feat(项目管理产品需求重构): 完善产品中的需求规格功能开发
需求规格纳入计划接口开发:
1. 限制仅已评审状态的需求规格才能纳入计划
2. 将需求规格文件上传至forge
3. 在对应项目中创建计划
4. 更新需规状态,记录计划id
5. 记录需规纳入计划操作

Signed-off-by: OTTO <731554297@qq.com>
2024-12-03 11:02:34 +08:00
OTTO 704c3c1fe4 feat(特色专区专项项目): 定制泛在专区开源项目展示需求
新增专区统计数据获取接口

Signed-off-by: OTTO <731554297@qq.com>
2024-10-29 10:56:45 +08:00
OTTO e4207a48eb feat(特色专区专项项目): 完善专项项目关联关系相关代码逻辑
Signed-off-by: OTTO <731554297@qq.com>
2024-10-26 15:53:14 +08:00
OTTO a44127858e feat(调用第三方微服务): 处理Portainer请求转发
识别到Portainer请求时,调用Portainer登录接口获取Token并写入到请求头中,解析Token的过期时间,将Token存储到Redis中,以便后续Portainer接口鉴权使用

Signed-off-by: OTTO <731554297@qq.com>
2024-10-19 14:04:04 +08:00
OTTO 62495f0f33 feat(调用第三方微服务): 处理Nacos请求转发
Nacos登录接口:用户名/密码调整为表单提交

Signed-off-by: OTTO <731554297@qq.com>
2024-10-18 09:41:05 +08:00
OTTO 1082415f38 fix(用户身份状态管理): Forge用户注销后微服务平台用户需如何处理
当用户已注销时工作项返回的用户为null,导致显示异常,生成注销用户默认信息进行返回

Signed-off-by: OTTO <731554297@qq.com>
2024-10-17 10:27:26 +08:00
OTTO f13e0e000d fix(用户身份状态管理): Forge用户注销后微服务平台用户需如何处理
用户离职/注销状态未正确显示:
https://pm.gitlink.org.cn/Gitlink/projects/107/bug/122179

Signed-off-by: OTTO <731554297@qq.com>
2024-10-15 15:15:21 +08:00
OTTO 19bff8f711 feat(用户身份状态管理): Forge用户注销后微服务平台用户需如何处理
当查询的用户已注销时,设置已注销的默认账户信息进行返回

Signed-off-by: OTTO <731554297@qq.com>
2024-10-14 11:24:48 +08:00
OTTO de9f31a103 feat(调用第三方微服务): 处理Nacos请求转发
识别到Nacos请求时,调用Nacos登录接口获取Token并写入到请求头中,用于Nacos后续接口的鉴权操作

Signed-off-by: OTTO <731554297@qq.com>
2024-10-11 08:40:04 +08:00
OTTO 0029075542 feat(调用第三方微服务): 处理Sentinel请求转发
识别到Sentinel请求时,调用Sentinel登录接口获取Token并写入到Cookie中,用于Sentinel后续接口的鉴权操作

Signed-off-by: OTTO <731554297@qq.com>
2024-10-10 16:50:11 +08:00
OTTO 903164834a Merge branch 'dev' of code.gitlink.org.cn:Gitlink/microservices into user_identity_quit_state 2024-10-08 10:17:43 +08:00
OTTO 72e1f0695c fix(特色专区): 专区管理员添加成员接口报错“没有操作权限”
添加专区管理员时未将用户设置为对应专区项目的管理员
2024-09-29 16:08:42 +08:00