Commit Graph

103 Commits

Author SHA1 Message Date
OTTO f402ec1748 fix(微服务平台): 用户输入环境变量格式异常时返回友好的中文提示信息 2025-09-10 09:53:39 +08:00
OTTO 1c9bc630d8 fix(微服务平台): 修复集群状态监控服务名称未显示
当应用未设置中文别名时使用标识替代
2025-09-10 09:34:32 +08:00
OTTO d1076e48d5 refact(微服务平台): 生产环境所有服务端口统一使用8080,简化配置成本 2025-09-08 15:40:07 +08:00
OTTO b25411e35c fix(微服务平台): 微服务编排根据别名进行查询无法查询出结果 2025-09-08 15:13:12 +08:00
OTTO 1f3d65fd39 fix(微服务平台): 微服务编排根据别名进行查询无法查询出结果 2025-09-08 08:38:26 +08:00
OTTO b89c235df3 fix(运维监控模块): 镜像拉取失败时容器状态未显示为报错状态
在rancher中镜像拉取失败等操作均视为可预期的情况,所以不会设置为报错状态,所以在代码逻辑中进行控制,对已知的非报错情况设置error为false,其余情况均设置为true
2025-08-21 15:29:16 +08:00
OTTO 2d5d43b37e fix(运维监控模块): 微服务应用多次点击重启后无反应
需要更新k8s应用的metadataTemplate字段才可使应用发生重启操作
2025-08-21 14:57:30 +08:00
OTTO 555ef0fc80 feat(运维监控模块): 定义部分镜像名称展示 2025-08-13 11:40:50 +08:00
OTTO ebf1dc53cf feat(运维监控模块): 【微服务可视化面板】可视化面板缺少堆栈、创建时间字段,容器端口按合同需改为发布端口
增加堆栈、创建时间字段

关联Issue:https://pm.osredm.com/osredm/projects/27/task/3707
2025-08-01 16:29:26 +08:00
OTTO 71cf4fb6fc feat(运维监控模块): 【微服务运行状态监控】完成获取容器CPU、内存、硬盘读写、网络收发情况接口开发
获取容器CPU使用率、内存使用情况时根据pod名称分组计算
2025-08-01 15:05:21 +08:00
OTTO cad9ea1247 feat(运维监控模块): 【微服务运行状态监控】完成获取容器CPU、内存、硬盘读写、网络收发情况接口开发
由于数据量太大展示效果不好,调整为查询最近半小时的数据
2025-08-01 09:45:58 +08:00
OTTO 02e369849d feat(运维监控模块): 【微服务网关管理】支持网关限流
调用Sentinel接口获取流控应用列表,获取appType为11(代表为网关)的应用,构建相关跳转参数对象进行返回
2025-07-31 09:29:30 +08:00
OTTO 356b85fd35 feat(运维监控模块): 【微服务编排】增加一个搜索功能,支持根据名称和标识进行搜索 2025-07-31 09:03:35 +08:00
otto b2f9921664 fix(运维监控模块): 获取链路追踪应用列表时指标值保留两位小数 2025-07-30 15:25:50 +08:00
OTTO 8e10fee65f feat(运维监控模块): 【微服务运行状态监控】完成获取容器CPU、内存、硬盘读写、网络收发情况接口开发
新增获取容器 CPU、内存、磁盘读写、网络收发等资源使用情况的接口:
1. 调用Rancher接口获取命名空间列表
2. 若用户未传入统计频率设置默认统计频率为10s
3. 设置Prometheus查询时间范围为最近一小时
4. 根据CPU、内存、硬盘读写、网络收发设置Prometheus查询语句
5. 提取Prometheus查询结果中container_label_io_kubernetes_pod_name作为Pod名称,提取数值作为指标值
2025-07-30 15:06:47 +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 10a1b3f5cf fix(运维监控模块): 微服务启停操作
1. 【微服务编排】微服务停止后,状态应一并变化
2. 【微服务编排】微服务操作暂停但页面pod状态无变化
2025-07-29 13:45:12 +08:00
OTTO 9c76980bdc fix(运维监控模块): 【微服务链路追踪】提供链路追踪列表页面,可在左侧菜单中直接进入链路追踪功能
修复当搜索筛选后排序序号异常的问题
2025-07-29 10:22:05 +08:00
OTTO 53274c3b0e fix(运维监控模块): 【微服务链路追踪】提供链路追踪列表页面,可在左侧菜单中直接进入链路追踪功能
修复当查询条件为空导致报错的问题
2025-07-29 10:02:58 +08:00
OTTO 4e0d281bf7 feat(运维监控模块): 【微服务链路追踪】提供链路追踪列表页面,可在左侧菜单中直接进入链路追踪功能
实现对应用名称的模糊搜索
2025-07-29 09:50:42 +08:00
OTTO fbcbe63ad4 feat(运维监控模块): 【微服务链路追踪】提供链路追踪列表页面,可在左侧菜单中直接进入链路追踪功能
1. 把“获取链路追踪应用列表”和“获取应用链路追踪关键指标”拆成两步:
• 第 1 步:根据关键字(应用名)调用 SkyWalking searchServices 接口拿到 Service 列表。
• 第 2 步:将上一步返回的 Service id 与 name 组装成批量 GraphQL 查询,统一一次性拉取 CPM、SLA、Avg Response Time 三项指标。
2. 第 2 步的批量查询通过动态拼装 GraphQL 变量与函数名完成,避免 N+1 次请求。
3. 对 SkyWalking 返回的指标值做“按分钟维度求平均”后落到 LinkTrackingApplication 对象。
2025-07-29 09:36:50 +08:00
OTTO 3726e4b294 feat(运维监控模块): 【网关异常处理】完成获取网关异常处理记录相关查询接口开发
1. 完成获取存在网关异常处理记录的日期列表接口开发:扫描日志目录,提取所有 error*.log 对应的日期并倒序返回
2. 完成获取网关异常处理记录接口开发:
- 按日期读取对应 error 日志,过滤包含“异常处理”的行
- 日志文件缺失或 IO 异常时统一抛出 ServiceException,附带具体日期信息
2025-07-28 11:38:39 +08:00
OTTO 335d05d2c3 feat(运维监控模块): 【网关异常处理】完成获取网关异常处理记录相关查询接口开发
1. 完成获取存在网关异常处理记录的日期列表接口开发:扫描日志目录,提取所有 error*.log 对应的日期并倒序返回
2. 完成获取网关异常处理记录接口开发:
- 按日期读取对应 error 日志,过滤包含“异常处理”的行
- 日志文件缺失或 IO 异常时统一抛出 ServiceException,附带具体日期信息
2025-07-28 11:20:44 +08:00
OTTO fa4ee4526b feat(运维监控模块): 【编排环境变量管理】新增获取应用环境变量接口
统一环境变量各类型返回字段
2025-07-25 17:06:45 +08:00
OTTO c6fd9a1c9d feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增更新网关路由配置接口、新增更新网关安全认证配置接口、新增更新网关白名单配置接口:
1. 调用Nacos接口获取最新的网关配置,并将配置内容转换为JSONObject对象
2. 基于用户传入的更新参数,更新网关配置对象
3. 调用Nacos配置更新接口,更新网关配置
2025-07-25 16:10:40 +08:00
OTTO bfbaa3491d feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增获取微服务网关白名单配置接口:
1. 调用Nacos接口以yaml文本形式获取网关配置内容
2. 将yaml文本转换为JSONObject对象
3. 从JSONObject对象中提取网关白名单配置信息
2025-07-25 15:09:10 +08:00
OTTO c97b64f3bc feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增获取微服务网关安全认证配置接口:
1. 调用Nacos接口以yaml文本形式获取网关配置内容
2. 将yaml文本转换为JSONObject对象
3. 从JSONObject对象中提取网关安全认证配置信息
2025-07-25 15:00:46 +08:00
OTTO 83c8d5fe3e feat(运维监控模块): 【微服务管理】支持服务网关管理(基于网关的配置文件来实现)
新增获取微服务网关路由配置接口:
1. 调用Nacos接口以yaml文本形式获取网关配置内容
2. 将yaml文本转换为JSONObject对象
3. 从JSONObject对象中提取网关路由配置信息
2025-07-25 15:00:35 +08:00
OTTO 7cff154598 refactor(运维监控模块): 优化获取应用功能列表接口
获取网关管理功能相关参数时,直接从Nacos中获取
2025-07-25 14:10:59 +08:00
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 dc814cffff fix(运维监控模块): 完善接口:获取微服务应用功能列表
修复当应用没有标签时无法获取启停功能的bug
2025-07-22 17:31:15 +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 3fa2daac28 fix(运维监控模块): 【微服务可视化面板】支持”所属命名空间“排序
pod列表根据命名空间排序,相同命名空间根据名称排序

关联issue:https://pm.osredm.com/osredm/projects/27/bug/3668
2025-07-22 09:49:26 +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