Commit Graph

4981 Commits

Author SHA1 Message Date
OTTO d0fcf1fbce refactor(运维监控模块): 统一处理Rancher接口异常信息
优化方法命名
2025-07-25 10:12:29 +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 0c94e636e1 feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量接口
统一环境变量各类型返回字段
2025-07-24 17:04:43 +08:00
OTTO 6e72d6f762 feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量可选参数接口
新增资源相关环境变量的可选参数
2025-07-24 15:12:59 +08:00
OTTO 29dbc84989 feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量类型接口 2025-07-24 14:48:54 +08:00
OTTO 20ce451a9a feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量可选参数接口
新增资源相关环境变量的可选参数
2025-07-24 14:40:55 +08:00
OTTO f9956c305e feat(运维监控模块): 【编排环境变量管理】新增更新应用环境变量接口
1. 根据 EnvType 区分 KEY_VALUE_PAIR/RESOURCE/CONFIG_MAP_KEY/SECRET_KEY/POD_FIELD/SECRET/CONFIGMAP 七类环境变量
2. 构建符合 K8s spec 的 env 与 envFrom 数组,并写回第一个容器
3. 统一校验应用存在性及 spec.template.spec 路径,异常时抛出 ServiceException
4. 通过 Rancher API 完整更新应用配置,成功返回 true,失败统一处理错误信息
2025-07-24 14:31:07 +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
OTTO 45c84d17b6 feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量接口
将 Kubernetes 容器定义中的环境变量(env)与环境变量来源(envFrom)的 JSON 片段统一转换成内部模型 K8sApplicationEnv:
1. env:
- 区分五种情形:直接键值对、resourceFieldRef 资源字段引用、configMapKeyRef 指定键、secretKeyRef 指定键以及 fieldRef Pod 字段引用;
- 分别设置对应的 Type 枚举值(KEY_VALUE_PAIR、RESOURCE、CONFIG_MAP_KEY、SECRET_KEY、POD_FIELD),同时把引用信息封装到 valueObj 中;若入参为 null 或结构无法识别则返回 null。
2. envFrom:
- 处理整个 ConfigMap 或整个 Secret 的批量引入场景;
- 通过 configMapRef 或 secretRef 节点提取名称,并把 prefix(可能为空)作为 key,类型设为 CONFIGMAP 或 SECRET,同样把名称写入 valueObj;无法识别或入参为 null 时也返回 null。
2025-07-24 09:16:29 +08:00
OTTO 71ec75c3e5 fix(运维监控模块): 【微服务大屏】微服务POD运行状态增加状态描述
增加Unknown状态

关联Issue:https://pm.osredm.com/osredm/projects/27/task/3441
2025-07-23 14:26:19 +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
OTTO cd19bd94cc Merge remote-tracking branch 'origin/dev_monitoring' into dev_monitoring 2025-07-22 17:31:42 +08:00
otto dc814cffff fix(运维监控模块): 完善接口:获取微服务应用功能列表
修复当应用没有标签时无法获取启停功能的bug
2025-07-22 17:31:15 +08:00
OTTO 92bfd2c7f2 fix(运维监控模块): 完善接口:获取微服务应用功能列表
修复当应用没有标签时无法获取启停功能的bug
2025-07-22 16:54:46 +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 22f350510c feat(运维监控模块): 【微服务模块定制化编排】支持编排定义与创建
构建K8S应用类型枚举,作为编排创建时的类型选择
2025-07-22 15:03:49 +08:00
OTTO 2566f119d3 Merge remote-tracking branch 'origin/dev_monitoring' into dev_monitoring 2025-07-22 09:49:50 +08:00
OTTO 3fa2daac28 fix(运维监控模块): 【微服务可视化面板】支持”所属命名空间“排序
pod列表根据命名空间排序,相同命名空间根据名称排序

关联issue:https://pm.osredm.com/osredm/projects/27/bug/3668
2025-07-22 09:49:26 +08:00
OTTO 2d304cfae0 fix(运维监控模块): 【微服务可视化面板】支持”所属命名空间“排序
pod列表根据命名空间排序,相同命名空间根据名称排序
2025-07-22 09:49:06 +08:00
OTTO 19e298b67a feat(运维监控模块): 完善接口:获取微服务应用功能列表
根据应用状态和副本数判断是否允许启停操作:
1. 启动:如果副本数为 0时;
2. 停止、强制停止、重启:如果副本数大于 0时;
3. 暂停:当前编排状态不为暂停时;
4. 继续:当前编排状态为暂停时。
2025-07-22 09:20:24 +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 9eb10143f7 feat(运维监控模块): 增加微服务监控相关注释 2025-07-21 10:37:06 +08:00
OTTO bc92fb8419 fix(运维监控模块): 修复基于containerId获取Pod相关监控状态时(cadvisor)部分情况无法获取数据的问题
调整为通过podName获取pod容器监控数据
2025-07-21 09:13:09 +08:00
OTTO a25048faad fix(运维监控模块): 修复获取数据时数据排序经常变动导致用户体验差的问题
1. 对获取命名空间列表接口内所有列表内容进行排序
2. 对获取pod列表接口列表内容进行排序
2025-07-18 14:41:43 +08:00
OTTO 735d7fd9e9 feat(运维监控模块): 支持服务网关管理
网关异常处理:
格式化网关异常处理日志
2025-07-18 14:19:15 +08:00
OTTO 705a9241b6 feat(运维监控模块): 完善接口:获取可视化面板Pod列表
补充Pod镜像以及副本数
2025-07-17 15:04:45 +08:00
OTTO 0c0f27810e feat(运维监控模块): 完善接口:获取微服务应用功能列表
功能列表中增加启停选项:启动、停止、强制停止仅支持Deployment类型和Statefulsets类型应用
2025-07-17 14:14:13 +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 828901d322 feat(运维监控模块): 新增获取微服务应用详情接口 2025-07-16 10:32:46 +08:00
OTTO 33185a1d0c feat(运维监控模块): 微服务管理相关接口迁移至微服务管理控制器中 2025-07-16 09:14:19 +08:00
OTTO 2883029641 feat(运维监控模块): 新增获取微服务运行状态监控数据接口
标注监控数据单位
2025-07-15 16:28:56 +08:00
OTTO 6f4a10f1cb feat(运维监控模块): 新增获取微服务运行状态监控数据接口
1. 设置参数:若未指定统计步长 step,则默认为10秒;设定查询时间范围为当前时间往前推1小时。
2. 并发查询:使用线程池并发执行6个监控指标的查询任务(CPU、内存、磁盘读写、网络收发)。
3. PromQL 查询:每个任务调用 Prometheus 接口执行对应的 PromQL 查询表达式,获取原始数据。
4. 数据转换:将原始 JSON 响应通过 getMetricCommonDataList 转换为统一的数据结构 List<MetricCommonData>。
5. 结果聚合:将各指标数据设置到 k8sPodContainerMetric 对象中,并等待所有任务完成后返回该对象。
6. 异常处理:若等待过程中发生中断异常,则记录日志并抛出业务异常。
2025-07-15 16:24:12 +08:00
OTTO 53795b1b88 feat(运维监控模块): 新增获取可视化面板POD列表接口
1. 获取微服务相关的命名空间列表;
2. 使用多线程并发获取各命名空间下的Pod列表,提升查询效率;
3. 补充Pod的详细信息设置,包括容器所属权(serviceAccountName)、容器端口列表(ports)以及存活时间(survivalTime)。
2025-07-15 11:19:39 +08:00
OTTO 1f653894cd feat(运维监控模块): 新增获取可视化面板POD列表接口
1. 获取微服务相关的命名空间列表;
2. 使用多线程并发获取各命名空间下的Pod列表,提升查询效率;
3. 补充Pod的详细信息设置,包括容器所属权(serviceAccountName)、容器端口列表(ports)以及存活时间(survivalTime)。
2025-07-15 11:15:35 +08:00
OTTO fde9893840 fix(运维监控模块): 修复获取功能应用列表报空指针异常的问题
调用Sentinel接口时,有概率返回结果中不包含success属性,所以在进行请求是否成功判断时,需要先判断是否存在该属性
2025-07-14 17:31:02 +08:00
OTTO 6d47364cca fix(运维监控模块): 修复获取集群内存使用率时数据异常的问题
问题定位:当前集群内存使用率为pod容器内存使用大小/集群内存大小,但是kube_pod_container_resource_requests统计时会将pod预申请资源也计算进来,导致数据异常巨大(测试弹性伸缩时将cms服务内存申请设置为100000Gi)
修复方案:调整内存使用率计算方式,仅统计已正常运行在节点上的 pod 容器的内存使用大小,从而准确计算集群内存使用率,确保数据的准确性和可靠性,满足集群资源监控的实际需求。
2025-07-11 17:20:16 +08:00
OTTO 128a107f8f feat(运维监控模块): 完善微服务模块定制化编排功能
修复当POD未运行时重启次数为空的情况
2025-07-03 15:39:13 +08:00
OTTO b1da0ba006 feat(运维监控模块): 完善接口:获取微服务应用功能列表
获取应用网关管理功能时同步获取配置所属Group属性
2025-07-02 15:19:18 +08:00
OTTO 115a3cbe12 feat(运维监控模块): 完善微服务模块定制化编排功能
从Rancher获取应用POD的运行阶段,根据阶段来识别POD是否正在运行,当POD非运行阶段时,微服务大屏上获取POD运行指标调整为展示POD运行状态
2025-07-01 16:12:06 +08:00
OTTO c9d08ef3d5 feat(运维监控模块): 完善微服务模块定制化编排功能
1. 从Rancher获取应用POD的运行状态
2. 根据POD在Rancher中的状态值、是否错误转换为可读性更高的对象
2025-07-01 10:17:40 +08:00
OTTO 672476ba53 feat(运维监控模块): 新增接口:获取微服务应用功能列表 2025-07-01 09:05:58 +08:00
OTTO 8111f6db61 feat(运维监控模块): 完善微服务模块定制化编排功能
计算应用创建时间和当前时间的差值按天、时、分、秒的方式进行返回,计算逻辑参考:
例如现在时间2025年6月30日12:00:00,提供的时间参数为2025年6月30日11:59:59,那么返回结果为1 秒钟;提供的时间参数为2025年6月30日10:30:00,那么返回结果为1.5 小时 ;提供的时间参数为2025年6月25日12:00:00,那么返回结果为5 天;
2025-06-30 18:52:10 +08:00
OTTO ae073b68bc feat(运维监控模块): 完善微服务模块定制化编排功能
获取应用的重启次数:通过Rancher接口获取应用下每个Pod容器的重启次数之和
2025-06-30 17:01:28 +08:00
OTTO 14072b1dff feat(运维监控模块): 完善微服务模块定制化编排功能
解析应用的Docker镜像并返回
2025-06-30 16:34:34 +08:00
OTTO 12eecde9c4 fix(运维监控):修复应用Pod列表找不到的问题
调整 podSelector 的匹配规则,不再仅依赖选择器的 Key 部分,而是保存并使用 POD 的完整选择器字段(如 "app=nginx")。在获取应用的 Labels 列表时,将该完整选择器通过 = 拆分为 Key 和 Value,再分别与 POD 的 Labels 进行精确匹配,从而提升选择器匹配的准确性与灵活性。
2025-06-30 16:33:19 +08:00
OTTO 66e1b9aca6 refactor(运维监控): 优化获取命名空间列表接口性能
1. 异步调用获取 K8S 集群中 Daemonsets、Deployment、Statefulsets 类型的应用列表及命名空间列表,通过 CountDownLatch 协调异步任务,统一汇总为应用基础数据;
2. 并发获取各命名空间下的 Pod 列表,并异步建立 Pod 与对应应用的关联关系,同样通过 CountDownLatch 汇聚响应结果,最终整合为完整的应用-命名空间-POD 映射数据返回。

关联任务:https://pm.osredm.com/osredm/projects/27/task
2025-06-30 14:15:23 +08:00
OTTO 93e56ed555 feat(运维监控模块): 完善微服务模块定制化编排功能
1. 从Rancher获取应用的运行状态
2. 根据应用在Rancher中的状态值、是否错误转换为可读性更高的对象
2025-06-30 11:48:17 +08:00
OTTO dc9a537feb feat(运维监控模块): 完善Prometheus指标注释 2025-06-23 20:25:53 +08:00