attacker
f725ca7cac
feat(monitor): F4 自定义监控仪表盘 — mock 桩改真实 CRUD + PromQL 查询渲染
...
后端:
- 新增 model/custom_dashboard.go (monitor_custom_dashboards 表)
- 新增 controller/custom_dashboard.go (CRUD + 设默认, 6 路由)
- routes.go 注册 /custom-dashboards 路由组
- database.go AutoMigrate 注册 CustomDashboard
前端:
- grafana.ts: dashboardApi 从 mock 返回空改为真实 HTTP 调用
- metrics.ts: prometheusProxyApi 新增 query/queryRange 方法
- GrafanaPanelContent.tsx: 从随机 mock 数据改为执行 PromQL 查询
+ Recharts LineChart 渲染 graph 类型
+ SVG gauge 渲染 gauge 类型
+ 数值卡片渲染 stat 类型
+ 表格渲染 table 类型
+ 30s 自动刷新 + loading/error 状态
+ 自动发现默认 Prometheus 数据源
- GrafanaDashboard.tsx: 传递 datasourceUrl 到 GrafanaPanelContent
验证: go build✅ npm build✅ 17/17 集成测试通过 E2E CRUD 全通过
2026-06-27 23:28:04 +08:00
attacker
7af10097c9
fix(log): input text visibility + space-in-date 502
...
- UnifiedQueryPanel: fix JS operator precedence — .replace(' ','T') was
called on '.000Z' suffix instead of concatenated string, resulting in
'2026-06-27 12:46:28.000Z' (space not replaced) → ES 502
- normalizeTime: add space→T fallback for backward compat
- SyntaxHighlightInput: fix z-index layering (textarea z=2 was covering
pre z=1, making highlighted text invisible). Move bg/border to parent,
textarea bg→transparent, pre above textarea
2026-06-27 12:54:31 +00:00
attacker
a04d815efe
fix(log): ES 7.2.0 time format .SSSZ + index dropdown + demo always visible
...
- ES query 502 fix: remove +00:00 conversion, use native .SSSZ format
(ES 7.2.0 date_time = strict_date_optional_time only, rejects +00:00/epoch)
- parseLogTime: use time.RFC3339Nano for fractional seconds
- new API GET /log-datasources/indices to list ES indices via proxy
- LogDatasourceDialog: add '获取索引' button + Select dropdown for ES
- LogDatasourcePage: always show demo sources alongside real ones
2026-06-27 09:45:21 +00:00
attacker
084a3be2cf
fix(log-center): ES 时间戳双字段兼容 + AI助手按钮去重清理
2026-06-27 16:31:06 +08:00
attacker
36bd0a6155
fix(log-center): 修复 demo 数据源、ES 502、查询页关联
2026-06-27 07:14:54 +00:00
attacker
8dd5a07b70
feat(log-center): v0.96 日志库/查询页数据源打通 + AgentCLI 输入修复 + AI助手按钮去重
2026-06-27 14:07:11 +08:00
attacker
ba8a4b5f19
feat(ux): U2 统一 DataTable 组件 — 封装排序/搜索/分页/导出/选择/列可见性通用表格 + 迁移 RegionManager/LoginLogsTab/LogDatasourcePage 3 个页面
2026-06-27 12:02:34 +08:00
attacker
bdf3c2daf4
feat(log-center): 日志中心 v4 全量组件 — 统一查询面板/时间选择器/统计图表/聚类/数据源管理
2026-06-27 11:41:50 +08:00
attacker
bb2b91ebe0
feat(q1): 前端类型安全治理完成 — any 83→40, P0 全部 done
...
- types/monitor.ts: 新增 6 个运行时记录类型(AlertEventRecord/AlertRuleRecord/
AgentHostRecord/CronJobRecord/CertExpiryRecord/ApprovalWorkflowStepRecord)
- types/common.ts: 新增 OptionItem 通用下拉类型
- 组件级 any 清理 43 处:
- AlertEventsTab/AlertRulesTab/AlertChannelDialog/alertShared (19处)
- AuditOperationsTab normalizeLog + 筛选器 (8处)
- CronJobManager 任务列表/编辑/操作 (6处)
- AgentMonitor 主机列表/命令执行 (5处)
- DashboardRecent 5 张卡片组件 (5处)
- AlertManager 状态类型对齐 (联动修复)
- Dashboard.tsx 调用端类型对齐 (联动修复)
- AlertChannel 接口新增 test_status 字段
- ESLint any: 83→40 (<50 目标达成)
- tsc -b / tsc --noEmit: 零错误
- npm run build: ✓ built in 17.11s
- 9/9 核心 API 回归通过
2026-06-27 02:31:26 +08:00
attacker
0535f30c87
chore: 同步前端组件更新 (K8s/Agent/Monitor 相关)
2026-06-26 15:49:31 +00:00
Logan
23e9e3da62
merge: 合并远程 A2 告警引擎分布式安全更新,保留本地日志中心等最新改动
2026-06-26 23:19:42 +08:00
Logan
8d46e8f352
feat: 新增日志中心、功能优化与代码重构
...
- 新增 log_datasource.go / log_proxy.go / user_api_token.go 后端控制器
- 新增 log_datasource.go model
- 新增 monitor/log-center.ts API 模块
- 新增 LogCenter 前端组件及页面
- 重构 deployment 相关组件 (HPDA/UpdateImageModal/bundle-yaml 等)
- 新增 ResetPasswordDialog / code-snippet-block / copy-button 等 UI 组件
- 重构多个 k8s 相关组件 (TopologyView/ResourceVisualEditor/PodFileBrowser 等)
- 更新多个 API 和工具函数 (auth.ts/monitor/index.ts/request.ts 等)
- 更新静态资源 (index.html + 新 JS/CSS bundle)
- 删除废弃静态资源文件
2026-06-26 23:18:05 +08:00
attacker
c68aef4444
feat(alert): A2 告警引擎分布式安全 — Redis 分布式锁(SetNX)
...
- Cache 接口新增 SetNX 方法(go-redis 原子 / redka check-then-set 单副本安全)
- AlertEngine 改造为支持分布式锁: tryAcquireLock/releaseLock/GetEngineStatus
- 多副本部署时仅 Leader 执行告警检查, 60s TTL 防死锁, fail-open 容错
- 新增 GET /alerts/engine/status 监控端点(is_leader/instance_id/lock_holder)
- 修复 GrafanaDashboard.tsx Panel.options 类型不匹配导致构建中断
- 同步未提交的前端类型安全迁移(140+ 文件)
- ROADMAP/TDD_PLAN/PROJECT_EVALUATION 三文档同步更新
验证: go build 零错误, Docker 部署 healthy, 引擎状态端点正常,
锁竞争测试通过(非 Leader 跳过检查), 5/5 核心 API 回归通过
2026-06-26 21:13:15 +08:00
Logan.Li
521bfd356f
refactor(frontend): P3 — K8s 组件拆分、AlertCenter Query、permission utils
...
- 拆分 DeploymentView / DeploymentDetail 至子目录(<700 行红线)
- AlertCenter 接入 useAlerts / useAgentAlertRules / useAlertMutations
- 新增 utils/permission.ts,usePermission 复用纯函数
- useAlerts 增强分页统计与 Agent 规则 hooks
2026-06-26 10:51:15 +08:00
attacker
37c657987b
refactor(q1): any 937→837, unused 25→0, catch any 清零, Record<string,unknown> 安全替换168处
...
- unused-vars 全清零: 删除未用 import + 前缀 _
- catch (e: any) 94处移除显式标注 (strict=false 隐式推断)
- Record<string,any>→Record<string,unknown> 安全替换168处 (无属性访问场景)
- tsc -b 零错误, npm run build 通过
- 9/9 API 回归测试通过
2026-06-26 05:59:59 +08:00
Logan.Li
480e677042
refactor(frontend): P1-P2 续 — API 子模块化、大组件拆分、Query 铺开
...
- api/server/ 与 api/cloud/ 子目录拆分,保持 @/api 导入不变
- hooks/api 新增 useCredentials、usePromDatasources,增强 useServers
- 拆分 CredentialManager、DeploymentWorkload、PrometheusDatasourceManager
- ServerManager、CredentialManager、PromDs 接入 TanStack Query
2026-06-26 00:22:50 +08:00
Logan.Li
d19a03d427
refactor(frontend): services/api 迁至 src/api,http 迁至 utils/request
...
对齐 Vue 后台惯例:
- src/api/ 域 API(原 services/api)
- src/utils/request.ts HTTP 封装(原 services/http.ts)
- src/utils/export.ts 客户端导出工具
- src/utils/index.ts 工具统一出口
全局导入改为 @/api 与 @/utils/request,tsc + build 通过。
2026-06-26 00:09:07 +08:00
Logan.Li
7fb2236b4d
refactor(frontend): P0 API 层收口与 http 统一
...
- 统一 http.ts baseURL:get/post/download/upload 均走 resolveApiUrl
- agentUtils 下沉至 lib/agent-utils,API 层移除对 components 的依赖
- 扩展 metricsApi/snmpApi/prometheusProxyApi/zabbixProxyApi
- 扩展 pipelineApi/credentialApi 覆盖流水线与凭证场景
- 14 个组件/页面禁止直连 http,统一走 @/services/api
2026-06-25 23:49:46 +08:00
attacker
77c234b060
feat(audit): F1+F2 告警静默规则标记完成 + 审计日志CSV导出实现
...
F1 告警静默规则 [done]:
- 后端 alert_silence.go: CRUD + Toggle (onetime/daily/weekly 三模式)
- 告警引擎 isSilenced 集成 (alert_engine.go)
- 前端 SilenceRuleTab + SilenceDialog
- 路由 /alerts/silences 已注册
F2 审计日志导出 [done]:
- 重写 ExportAuditLogs: 真正的 CSV 导出 (encoding/csv + UTF-8 BOM)
- 支持 module/action/username/startTime/endTime 筛选
- 导出限制 10000 条防溢出,自动记录审计日志
- JSON 格式向后兼容 (format=json)
- 前端 exportLogs 传递查询参数
同时包含累积的前期工作:
- 目录重构 internal/ -> controller/model/router (v0.55-v0.57)
- 后端分层架构 dto/repository/service/utils
- 审计模块全功能 (终端审计/操作审计/登录日志)
- asciicast v2 录制格式
- SFTP 文件浏览器
- StatStrip 紧凑统计条
- 在线会话自动刷新
- LiveMonitor WebSocket 诊断修复
验证: go build ✅ | npm run build ✅ | Docker 部署 ✅ | 10 回归端点 ✅ | CSV 导出 ✅ | 静默 CRUD ✅
2026-06-25 20:16:30 +08:00
attacker
5364d93ed7
fix(q1): 修复 tsc -b 构建中断 — 回退不安全的 unknown→any + 移除 Ansible 残留引用
...
- 781处 tsc -b 错误清零(unknown 属性访问/隐式any返回类型/类型转换不匹配)
- 移除 App.tsx 中已删除的 AnsibleManager/AnsibleWorkflow 导入和路由
- 修复 DeploymentView 中 _prefix 解构导致的属性不存在错误
- 修复 Header/Sidebar/PipelineEditor 中无效的类型断言
- asList() 返回类型 unknown[]→any[], 恢复 AgentMonitor 正常工作
- 放宽 noImplicitAny(临时), 待 types/ 定义完善后逐步恢复
- ESLint: unused=0, console=0, any=1041(Q1 后续降低)
- npm run build: ✅ 0 errors
2026-06-25 07:17:47 +08:00
attacker
aaab923f4e
feat: K8s→Kubernetes命名统一 + 工具安装bug修复 + 资源可视化编辑器
...
1. 工具安装bug修复 (P0 critical):
- 根因: ToolConfigHandler.InstallTool的goroutine只打了日志,
从未调用实际安装逻辑
- 修复: 注入ToolInstaller到handler, 新增ForceInstall方法绕过sync.Once
- 影响: 流水线工具配置页「安装」按钮现在能真正触发下载安装
2. K8s→Kubernetes命名统一:
- Dashboard/Prometheus/AIOpsAssistant等8个文件12处用户可见文案
- 内部变量名/文件名/API group保持不变
3. 资源可视化编辑器 (新增ResourceVisualEditor.tsx):
- ConfigMap: 键值对表格编辑器(增删改)
- Secret: 键值对编辑器(自动Base64编解码)
- Service: 端口/类型/选择器可视化配置
- Ingress: Host/Path路由规则可视化编辑
- PVC: 存储大小/访问模式/StorageClass配置
- 双模式: 可视化编辑 ↔ YAML编辑一键切换
- NamespaceResourcePage: 所有资源类型添加编辑按钮入口
2026-06-25 01:32:10 +08:00
attacker
8240a88a84
feat(k8s): M14 Namespace 管理看板(资源配额 + 命名空间 CRUD)
...
- 后端: ListNamespacesDetailed/CreateNamespace/DeleteNamespace/ListResourceQuotas/ListLimitRanges
- 后端: GetNamespacesDetail handler (6 API calls aggregate, not N×3)
- 后端: CreateNamespaceHandler + DeleteNamespaceHandler (system NS protection)
- 前端: NamespaceManagementPage.tsx (~280行) — 表格+概览卡片+创建/删除弹框
- 路由: GET/POST/DELETE /:clusterCode/namespaces + GET /namespace/:ns/detail
- 验证: 9/9 通过 (urllib), TS 零错误, Vite 构建成功
2026-06-24 23:46:52 +08:00
attacker
c7b61968bc
fix: 批量卸载时版本列显示loading(对齐安装/升级逻辑)
2026-06-24 14:37:16 +00:00
attacker
d656520428
feat: v0.34 健康探针(Architecture B) + Agent v2.1 + 端口监控 + 告警联系人重构
...
- v0.31: AlertContact 重构(channel_type下拉+webhook_url替代三分立字段)
- v0.32: Agent ProcessTop 增强(cmdline/user/cpu_pct/mem_pct)
- v0.33: 端口监控 Tab(监听端口自动发现+down联动告警)
- v0.34: 健康探针(Agent本地执行HTTP/TCP/Exec→结果随心跳上报)
- Agent新增: ContextSwitch/FD/HealthProbe采集器
- 后端新增: health_probe handler + Agent model扩展
- HostMonitor新增Tab: 健康探针/端口监控
2026-06-24 19:18:10 +08:00
attacker
e1f75f0bc4
fix: 飞书告警改用交互卡片展示 + 通知渠道与联系人合并为通知管理Tab
...
- 飞书: sendFeishuCard 改用 msg_type=interactive 卡片格式(header+template+fields+note)
- 飞书: splitLines 处理 \n 转义 → 卡片字段逐行渲染 lark_md
- 飞书: header.template 按级别着色(red/orange/green/blue)
- 飞书: 测试通知改为卡片格式: 测试时间/来源/状态
- UI: 合并通知渠道+报警联系人为一个「通知管理」Tab(4列Tab栏)
- UI: 通知管理下分【渠道配置】+【报警联系人】两个区域
2026-06-24 09:24:56 +00:00
attacker
e1cfbaf45e
feat: 网络双线图+告警联系人/联系组+Agent v2.0.0 + 一键报警阈值
...
- HostMonitor: 网络改为双线图 rx/tx 网卡带宽吞吐(双Area线), 移除单rx图
- Agent: 默认版本号从 dev 改为 v2.0.0, 重建二进制 5.2MB
- 告警中心: 新增报警联系人/报警联系组 Tab, ContactDialog/ContactGroupDialog
- 后端: AlertContact/AlertContactGroup 模型+CRUD, monitor_alert_contacts/groups 表
- 路由: /alerts/contacts + /alerts/contact-groups 8个REST端点
- 一键报警: 更新描述为6条规则(含TCP+进程), 切换到 /alerts/quick-setup
- 测试规则: 内存>10% 触发告警已创建, 飞书通知验证通过
2026-06-24 08:47:40 +00:00
attacker
5333f6f04a
feat(alert-center): 添加飞书Webhook通知渠道 + 告警引擎实时通知
...
- 后端: NotifyChannel 模型新增 feishu 类型, FeishuWebhookConfig
- 后端: TestNotifyChannel 真实发送飞书测试消息(文本格式)
- 后端: 告警引擎触发/恢复时自动发送飞书通知(sendFeishuAlert/sendFeishuRecovery)
- 后端: AlertEngine 新增 tcp_time_wait/tcp_close_wait/service_process 指标检测
- 后端: NetworkStatModel 新增 TCPCloseWait 字段
- 后端: QuickSetupRules 一键创建6条告警规则(CPU/内存/磁盘/TIME_WAIT/CLOSE_WAIT/进程)
- 后端: 注册 /alerts/quick-setup 路由
- 前端: AlertChannelDialog 新增飞书类型选项
- 前端: helpers 新增 getChannelIcon/getChannelTypeLabel 支持 feishu/dingtalk/wechat
2026-06-24 08:34:43 +00:00
attacker
a3cd0d3910
feat: PTY kubectl终端 + 侧边栏对齐修复 + 构建缓存清理
...
**kubectl WebShell 修复:**
- 引入 github.com/creack/pty 库实现真正的伪终端
- 替换 bash --noediting + TERM=dumb 方案为 PTY-backed bash
- 支持 xterm-256color、窗口自适应、readline 交互
- 修复键盘输入无响应问题
**侧边栏优化:**
- 独立菜单项高度从 py-1.5 改为 h-8,与父菜单对齐
- 独立菜单图标从 h-3 w-3 改为 h-3.5 w-3.5,统一 14px
**构建优化:**
- run.sh docker up 增加 docker image prune -f 清理悬空镜像
- 每次部署自动清理 builder cache + dangling images
**认证修复(历史):**
- Token 存储:Zustand + localStorage 双写,http.ts 双源 fallback
- YamlViewer/DeploymentDetail token 来源统一为 Zustand store
2026-06-19 11:22:45 +00:00
attacker
cac1414917
refactor: 全局重命名 k8s → kubernetes (前后端+路由+表名+文件)
...
后端:
- pkg/k8sclient → pkg/kubernetesclient
- models/k8s.go → models/kubernetes.go
- handlers/k8s.go → handlers/kubernetes.go
- K8sCluster/K8sNode/.. → KubernetesCluster/KubernetesNode/..
- K8sHandler → KubernetesHandler
- 路由: /k8s-clusters → /kubernetes-clusters
- 路由: /k8s/:code/namespace/:ns/... → /kubernetes/:code/namespace/:ns/... (Kuboard风格)
- 表前缀: container_k8s_ → container_kubernetes_
前端:
- components/k8s/ → components/kubernetes/
- K8sClusters → KubernetesClusters
- K8sWorkloads → KubernetesWorkloads
- K8sNodes → KubernetesNodes
- k8sApi → kubernetesApi
- 路由前缀: /k8s/ → /kubernetes/
测试验证:
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/deployments → 3 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/pods → 7 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/services → 4 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/configmaps → 6 items
✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/secrets → 1 item
✅ /kubernetes/k8s-cluster-liren/namespaces → 4 items
2026-06-19 08:10:12 +00:00
attacker
4dd3e3238d
fix: agent_version 为空 & 恢复批量卸载
...
- 后端上报时若 agent_version 为空则不覆盖已有版本(防止旧Agent清空版本号)
- 安装/升级后写入版本号 v0.1.0(而非 installed/latest)
- DB 存量 online 主机 agent_version 补填 v0.1.0
- 前端恢复批量卸载 Agent 按钮
2026-06-19 01:51:16 +00:00
attacker
502674d73a
feat: 合并批量安装/升级为统一弹窗 — 类阿里云风格
...
- 批量安装/升级合并为一个「批量部署」按钮,弹窗内切换安装/升级模式
- 弹窗展示选中主机列表、当前版本、操作目标
- 增加专业警告文案(AIOps语境,区分安装/升级注意事项)
- 「我已知悉」勾选确认后才可提交
- Agent版本列:提交后显示loading转圈「部署中」状态
- 移除批量卸载按钮
2026-06-19 01:44:03 +00:00
attacker
346042a29c
fix: ServerForm 缺少 ssh_key/credential_id 字段, selIds.has→includes
2026-06-19 01:27:31 +00:00
attacker
ed08ea255e
feat: Agent批量升级 + 版本号注入 + 服务器凭证下拉关联
...
- Dockerfile: ARG VERSION/BUILD_TIME 通过 ldflags 注入 agent+backend 二进制
- run.sh: 自动从 git tag 获取版本号
- docker-compose: build args 传递 VERSION/BUILD_TIME
- backend: BatchUpgradeAgent SSH下载新二进制+重启, /agent/bin 静态文件服务
- frontend: 监控大屏添加批量升级按钮 (闪电图标)
- frontend: 服务器编辑/添加表单改为凭证下拉选择器
- frontend: ServerForm 加载 /credentials 列表, 选择后自动填充用户名/认证方式
2026-06-19 01:24:47 +00:00
attacker
5949ec5d0c
feat: Agent采集uptime, 后端持久化kernel/uptime/diskIO, 前端磁盘BPS+IOPS展示
...
- Agent: system.go 添加 readUptime(), SystemStat 携带 Uptime
- Backend: Server 模型新增 Kernel 字段, ReceiveReport 持久化 kernel+uptime
- Backend: /agent/latest 返回 kernel/uptime/port_info/disk_io_info/disk_total
- Frontend: 磁盘监控改为 BPS+IOPS (4张卡片), 系统信息修复内核/运行时长/监听端口/磁盘容量
- 图表单位从 MB/s 改为 KB/s, 添加 formatBPS 工具函数
2026-06-19 01:10:00 +00:00
attacker
4e3f8cb306
docs: update README, API reference, dev-log, project structure with Agent monitoring + quick-alarm + latest fixes
...
- README.md: React 19, default pwd 123456, Docker Compose deploy, correct module list
- api-reference.md: add Agent monitoring section (report/latest/rules/quick-setup/alerts/tasks/kline)
- dev-log.md: new entry documenting hostname/IP fix, system collector, offline detection, quick alarm
- project-structure.md: add agent/ directory, dev-log.md link, React 19
2026-06-18 16:11:13 +00:00
attacker
c51d0b8b8b
feat: Zabbix 数据源管理 — 完整 CRUD + 双 Tab 数据源页面
...
后端:
- models/zabbix_datasource.go: Zabbix 数据源 model (15字段, 参照 Grafana)
- handlers/zabbix_datasource.go: CRUD + 测试连接 (调用 Zabbix API Auth)
- routes.go: /zabbix-datasources 路由组
- database.go: AutoMigrate
前端:
- api.ts: zabbixDatasourceApi
- ZabbixDatasourceManager.tsx: 表单 (URL/用户名/密码/Trends设置/DB直连)
- DatasourcePage.tsx: Prometheus + Zabbix 双 Tab 包装
- App.tsx: /datasources 路由更新
2026-06-18 14:14:40 +00:00
attacker
d2201fc8c0
feat: 监控大屏 Grafana 风格增强 — 6卡统计 + bargauge 资源条状图 (参照 k8s/node/jvm dashboard)
...
- 统计卡片: 3→6 (主机总数/在线/离线/平均CPU/平均内存) 带阈值颜色
- 资源条状图: Top 5 CPU + 内存排行, 渐变色进度条 (绿<60%<黄<85%<红)
- 参照: Grafana k8s-dashboard bargauge / node-dashboard 表格 / jvm Quick Facts
2026-06-18 14:04:26 +00:00
attacker
2596bbc789
feat: Prometheus数据源管理 — 参考Grafana界面CRUD
...
- 后端: PrometheusDataSource model (22字段,含Basic Auth/TLS/Headers/Alerting)
- 后端: 8 API (CRUD + 设默认 + 连接测试 + 审计)
- 前端: 数据源管理页 — 表格列表 + Grafana风格配置Dialog
- 前端: 侧边栏「监控中心→数据源」菜单项
- 功能: Save & test 连接测试(含Basic Auth + Skip TLS)
Author: Logan.Li
2026-06-18 14:03:00 +00:00
attacker
1726ad65ac
snapshot: 数据源管理+大屏增强前快照
2026-06-18 14:01:22 +00:00
attacker
2bf3e7c308
feat: 监控大屏 /grafana→/dashboards + Agent主机Top10默认面板
...
- 路由: /grafana → /dashboards (Sidebar + App.tsx)
- GrafanaDashboard 新增默认面板: Agent 主机监控 Top 10
- CPU/Memory/Disk 使用率三列排行
- 进度条颜色: >85%红 >60%黄 <60%绿
- 🥇 🥈 🥉 emoji 前三名
- 30s 自动刷新
- Prometheus/Zabbix/SkyWalking 需配置数据源后才可用
2026-06-18 13:26:38 +00:00
attacker
94dbc89b9b
refactor: rename EZOps → AIOps globally (brand unification)
2026-06-18 11:57:59 +00:00
attacker
be529c8c36
feat: ServerManager 死按钮清理+CSV导出+统计卡片提取; 审批/导航后端拆分; DialogDescription修复; AppRelease重试按钮实现
2026-06-16 01:07:43 +08:00
attacker
76a41f5eeb
refactor: AlertCenter拆分(723→390行)+修复TopologyView类型错误
...
- AlertCenter.tsx: 723→390行,提取类型/helpers/渠道Tab到子组件
- alert-center-helpers.tsx: 新建(127行),共享Alert/AlertRule/NotificationChannel类型+mapAlert+badge helpers
- AlertChannelDialog.tsx: 新建(121行),通知渠道创建/编辑对话框(自包含useEffect同步)
- AlertChannelsTab.tsx: 新建(152行),通知渠道Tab自包含(状态+API+渲染+CRUD)
- AlertCenterDetail.tsx: 去重getSeverityBadge,统一从helpers导入
- TopologyView.tsx: 修复editForm.type类型推断(string→TopologyNode['type'])
2026-06-15 13:07:01 +08:00
attacker
805cb767a8
snapshot: AlertCenter拆分前快照
2026-06-15 13:01:56 +08:00
attacker
e6d9f364e5
snapshot: AnsibleManager拆分前快照
2026-06-15 10:01:24 +08:00
attacker
e4958feb1b
fix: AlertCenter崩溃修复——字段名映射+notify_channels安全解析
...
- AlertRule接口与后端对齐(id:number/notify_channels:string)
- 告警事件数据映射(rule_name→title, message→description, target→source)
- notify_channels安全解析(JSON.parse+try-catch替代直接.map)
- labels/annotations字符串转对象安全处理
- Header tab栏移除(侧边栏导航足够)
- SQL审计API改为真实后端调用
2026-06-15 02:18:10 +08:00
attacker
77c33a6fee
feat: 服务器批量导入全栈实现 + SQL审计模型修复 + 审批流程增强
...
服务器批量导入:
- 后端 BatchCreateServers handler: 逐条校验/查重/GB→MB转换/错误明细
- 前端 CSV 解析器 + IP校验 + 模板下载 + 真实API导入
- 删除孤立占位组件 BatchImport.tsx
SQL审计:
- 修复 TableName 字段与 GORM 接口冲突 → TargetTable
- 补全路由注册 + AutoMigrate + 种子数据
审批流程增强 + 告警/菜单微调
// Logan.Li
2026-06-15 02:12:05 +08:00
attacker
df697e0b25
feat: 清除全部mock数据,Ansible/日志/告警中心/角色权限接真实API;移除SQL审计(不属于项目定位)
2026-06-15 01:59:28 +08:00
attacker
73b5a48df9
refactor: 全局代码模块化重构 — 所有文件<700行
...
后端 handler 拆分:
- automation.go(1067→4文件), server.go(1011→5文件), ldap.go(815→3文件), user.go(704→2文件)
前端组件拆分:
- SystemManager(1782→569), AlertManager(1133→220), K8sClusters(1062→4文件)
- Dashboard(941→4文件), ServerManager(905→640), ApprovalFlow(830→548)
- AlertCenter(775→693), AIPredictiveAnalytics(760→670)
- CloudBilling(728→663), GrafanaDashboard(717→643), sidebar(726→689)
Mock 数据模块化:
- mocks/data.ts(2552行→barrel+11个domain模块)
新增 CLAUDE.md 项目全局开发规范
修复: AlertCenter/LogManager ListResponse.data→.list 类型不匹配
验证: go build ✅ + tsc --noEmit ✅ + npm run build ✅
2026-06-15 01:32:15 +08:00
attacker
a7e2351ad2
feat: 定时任务编辑入口全栈打通 + 修复ApprovalFlow编译错误 + 完成大文件拆分重构
...
- CronJobManager: 编辑按钮接通 onClick → openEdit(job),弹出编辑对话框预填数据,
复用新建/编辑共用 Dialog(editingId 区分模式),标题/按钮文案动态切换,
保存时根据 editingId 调用 createJob 或 updateJob — 消除占位按钮
- ApprovalFlow: 修复 API 方法名不匹配导致 tsc -b 编译失败
(getInstances→getProcesses, getMyApprovals→getProcesses({status:'pending'}),
approveInstance→approveProcess, rejectInstance→rejectProcess)
+ 添加 ApprovalFlowManager 导出别名兼容 App.tsx 导入
- 合并已完成的大文件拆分重构: automation.go→automation_cron/script/playbook,
ldap.go→ldap_ou/ldap_users, server.go→cloud_accounts/domain/platform/region,
user.go→user_admin; 前端 Dashboard/K8s/Server/Approval/Monitor 子组件拆分
// Logan.Li
2026-06-15 01:09:49 +08:00