- 29 7月, 2026 2 次提交
-
-
由 陈泽健 提交于
Docker 容器化部署下本级巡检问题修复: - LocalExecutor 支持 SSH 到宿主机获取真实系统数据 - 新增 get_docker_host_ip() 自动检测宿主机 IP - 本级目标列表显示警告提示 - docker-compose.yml 添加 extra_hosts + LOCAL_SSH_* 环境变量 - 禁止手动创建 localhost 目标(本级为内置目标) 上一会话遗留合并: - 版本号+操作日志功能前端构建 - platform/service_manage 页面路由迁移到 Vue SPA - docker_deploy.sh 添加 --update-fe 选项 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增功能: - 平台版本号:导航栏显示版本号,后端 /api/version 接口 - 操作日志:问题排查/服务监测/服务管理各自独立的操作日志页面 - 审计 API:/api/audit/logs、/api/audit/users、/api/audit/actions/<module> Docker 容器化: - Dockerfile 多进程架构(nginx + Flask + supervisord) - nginx 配置:SPA 回退 + SSE 流式输出支持 - deploy/deploy_docker.py:一键部署脚本 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 27 7月, 2026 1 次提交
-
-
由 陈泽健 提交于
定时任务修复: - 新增 _schedules_lock 防止 schedules.json 并发写入状态丢失 - _add_job() 添加 misfire_grace_time=3600/coalesce/max_instances - _execute_scheduled_job 改为 threading.Thread 后台执行,不阻塞 APScheduler 线程 Docker 容器化: - 重写 Dockerfile(python:3.11-slim + 单进程 + CRLF 修复) - 重写 docker-compose.yml(单容器 + volume + 资源限制 + 健康检查) - 新增 deploy/docker_deploy.sh 部署脚本 - 更新 .dockerignore 排除规则 搜索索引路径适配: - utils/paths.py 新增 SEARCH_INDEX_DIR 常量 - search_engine.py 改用统一路径 文档: - 新增定时任务问题处理 + 计划执行文档 - 新增 Vue 前端迁移任务清单 - 更新 HANDOFF 交接文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 24 7月, 2026 3 次提交
-
-
由 陈泽健 提交于
用于验证阶段九新增功能的部署状态: - Compare API 验证 - Excel 导出验证 - PDF 导出验证(含 weasyprint 降级检测) - Compare Export HTML 验证 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
问题:多个定时任务在同一秒触发时(如都在 09:00), 使用相同的 run_id(时间戳+"sched"),导致: - 远程工作目录冲突 - _runs 字典冲突 - 后执行的覆盖前一个,只生成一份报告 修复: - run_inspection_sync: run_id 加入 target_id 前缀 + uuid - run_inspection: run_id 加入 uuid 替代 threading.get_ident() 影响: - 定时任务可安全并发执行 - SSE 巡检也获得更强的唯一性保证 测试:167 个测试全绿 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 23 7月, 2026 7 次提交
-
-
由 陈泽健 提交于
阶段九 P2 功能增强: Excel 导出(openpyxl): - Sheet 1:汇总信息(目标、套件、时间、统计) - Sheet 2:检测明细(全量表格) - 状态列条件格式(正常=绿、警告=黄、严重=红) - 表头冻结 PDF 导出(weasyprint): - 使用 weasyprint 将 HTML 转 PDF - 降级策略:不可用时返回可打印 HTML - @page 分页规则 + 中文字体支持 - 打印按钮提示(降级模式) 路由改进: - api_export_report() 重构避免重复代码 - 支持 format=excel/pdf 参数 前端: - report.html 导出菜单新增两个选项 文档: - PRD_需求文档_导出PDF_Excel格式.md - PRD_计划执行_导出PDF_Excel格式.md 测试:167 个测试全绿
✅ Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
阶段九功能增强(P1 级): 报告对比功能: - 新增 compare_service.py 对比服务(5 类差异分类) - 新增 API:对比 /reports/{id1}/compare/{id2} - 新增 API:导出 /reports/{id1}/compare/{id2}/export - 新增 compare.html 对比结果页模板 - report.html 新增"对比历史报告"按钮 + 弹窗 - 值变化阈值:默认 > 20% 异常项趋势告警: - report_service.py 新增 check_consecutive_abnormal() - runner_service.py 集成连续异常告警 - notification.html 新增告警配置区(阈值/级别/渠道) - 冷却期机制:24 小时内不重复告警 文档: - PRD_需求文档_报告对比功能.md - PRD_需求文档_异常项趋势告警.md - PRD_计划执行_报告对比功能.md - PRD_计划执行_异常项趋势告警.md 测试:167 个测试全绿✅ Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
阶段九规划(下次会话执行): - P1: 报告对比功能(对比两次巡检结果,差异高亮展示) - P1: 异常项趋势告警(连续N次异常自动通知) - P2: 导出 PDF/Excel 格式 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
阶段八完成: - 新增 480px 超小屏幕断点(9 个页面) - 修正 statistics.html 筛选栏溢出 - 修正 notification.html 端口输入框溢出 - 修正 report.html 模块标题溢出 - run.html 进度条响应式高度 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
9 个页面全面优化移动端响应式样式: - base.html: 新增 480px 断点,顶栏/侧边栏/用户名紧凑化 - index.html: 480px 断点,卡片/按钮缩小,目标管理按钮全宽 - reports.html: 480px 断点,筛选框/报告行/批量栏紧凑化 - report.html: 480px 断点,汇总卡片/异常项/检测项紧凑化, 模块标题 word-break 防溢出 - statistics.html: 修正 768px 筛选栏完全纵向堆叠(原 flex-wrap 仍可溢出),趋势选择器纵向堆叠;新增 480px 断点 - schedule.html: 480px 断点,弹窗/星期按钮/时间选择器紧凑化 - targets.html: 480px 断点,表格行/操作按钮/弹窗紧凑化 - notification.html: 修正 768px 端口输入框固定宽度溢出问题, 改为自适应;新增 480px 断点,开关/表单紧凑化 - run.html: 进度条高度响应式(12→10→8px),480px 断点巡检 卡片紧凑化,完成横幅长文字 word-break 验证:218 个单元测试全绿,已部署到 5.60 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 新增 PRD_需求文档_服务管理模块.md(页面结构、功能设计、交互流程) - 新增 PRD_计划执行_服务管理模块.md(静态页面开发执行计划) - 新增 HANDOFF_服务管理.md(模块交接文档,记录已完成项与下一步) Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
检测项丰富化移植(阶段五): - 新增 56_fastdfs_check.sh FastDFS功能验证检测(重构版,仅状态检测) - 新增 57_android_check.sh Android设备检测 - 新增 59_log_export_check.sh 配置日志导出检测 - 新增 60_repair_capability_check.sh 修复能力检测 - check_modules.py 注册 4 个新模块,移除 58_data_backup_check - display_names.py 追加 85 个 KEY 映射 - parser.py 追加 7 个状态词映射 巡检防重复触发优化(阶段六): - runner_service.py 新增 get_running_for_target() 查询运行中巡检 - routes.py 新增 /api/service-monitor/run/status/<id> 端点 - routes.py SSE 流接口增加 409 防重检查 - run.html 前端检查运行状态,阻止重复触发 - index.html 巡检按钮增加预检查逻辑 移动端响应式优化(阶段七): - 9 个页面全面优化移动端布局 - base.html: 顶部栏/侧边栏紧凑化,用户名溢出省略 - index.html: 目标卡片/按钮布局优化 - report.html: 报告头纵向排列,状态文字防竖向换行 - reports/schedule/targets: 筛选栏纵向,表格卡片化 - run.html: 巡检卡片紧凑化,取消按钮全宽 - statistics.html: 概览卡片缩小,趋势筛选纵向 验证:218 个单元测试全绿,5.44 full 套件实测通过 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 22 7月, 2026 6 次提交
-
-
由 陈泽健 提交于
检测项丰富化移植全部完成(阶段一至四,共 10 个新模块): - full 套件模块数 30 → 36 - display_names.py 672 条映射 - 218 个单元测试全绿 - 已部署到 5.60 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增 2 个检测模块(阶段四): - 54_file_permission_check.sh:文件权限检测(检查关键文件可执行权限) - 55_cron_expected.sh:定时任务预期检测(检查预期crontab条目存在) 配套更新: - check_modules.py 追加 2 个模块注册 - display_names.py 追加 10 个 KEY 映射 文档:PRD_需求文档_P3级移植.md + PRD_计划执行_P3级移植.md Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增 4 个检测模块(阶段三): - 50_system_profile.sh:系统类型识别(平台/容器/ujava变体) - 51_service_check.sh:平台服务检测(服务进程+端口监听) - 52_config_ip_check.sh:配置IP检测(未授权IP扫描) - 53_config_console_check.sh:Console配置检测(只检测不修复) 配套更新: - check_modules.py 追加 4 个模块注册 - display_names.py 追加 35 个 KEY 映射 - parser.py 追加 2 个状态词映射 - config.sh.template 追加服务匹配模式+端口列表配置 文档:PRD_需求文档_P2级移植.md + PRD_计划执行_P2级移植.md + HANDOFF更新 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
新增第 6 节「Git 提交记录」,记录: - c0200115: 新增安全合规/中间件检测模块并修复状态等级误判 - 3f48af4c: 报告免登访问 + 监测统计模块 + 多项修复 包含完整 commit message 和分支状态说明 Co-Authored-By:
Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
检测项丰富化移植(阶段二): - 新增 39_middleware_conn.sh 中间件连接检测(Redis/MySQL/EMQX/FastDFS) - 新增 46_security_deep.sh 安全合规深度检测(9类:弱密码/基线/可疑文件等) - check_modules.py 注册 2 个新模块 - display_names.py 追加 36 个 KEY 映射 - thresholds.py 追加 6 个安全阈值 - config.sh.template 追加安全白名单 + EMQX 端口配置 状态等级误判修复: - 39/46 脚本 LEVEL KEY 对齐为 <值KEY>_LEVEL 格式(与 _resolve_status 约定一致) - 23_mysql_depth / 25_redis_depth 重构为 output_result 格式 - parser.py _VALUE_STATUS_MAP 补充 11 个异常状态词映射(兜底) 中间件端口检测逻辑重构: - 改用服务自带工具 ping 优先(redis-cli/mysqladmin/curl API) - 避免容器内无 ss/netstat 导致误判"端口未监听" 服务管理模块(附带): - routes/service_manage.py 新增授权/升级/信息页面路由 - templates/service_manage/ 新增 4 个模板 文档:更新 HANDOFF_服务监测.md 记录修复全过程 + 检测项丰富化 PRD Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 报告免登访问:通知链接携带 token,免登录直接查看报告 - 操作鉴权:访客模式下点击其他模块跳转登录 - 监测统计模块:新增统计页面,ECharts 可视化图表 - 检测项趋势修复:状态类检测项显示友好提示 - 登录回跳:next 参数支持登录后回到原始页面 - 新增 8 个 PRD 文档:需求/计划执行/问题处理 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 21 7月, 2026 16 次提交
-
-
由 陈泽健 提交于
- 更新 HANDOFF.md 记录本轮所有改动(钉钉通知优化、toggle 修复、时区问题、FLASK_DEBUG 修复) - 新增 Toggle 开关样式优化需求文档和计划执行文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
增大尺寸(52x28)、加深禁用色(#d1d5db)、添加边框、 圆点阴影、hover 外发光,提升视觉对比度和可点击暗示。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
变更:移除 onpaste 限制,保留 oncopy/oncut 限制。 用户可以粘贴密钥,但无法从输入框复制出来。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
toggle-slider 的 pointer-events 默认为 auto,遮挡了 label 的点击传递。修复: - slider 和 slider:before 加 pointer-events: none - toggle-switch 加 cursor: pointer - input 加 position: absolute 点击现在穿透 slider 到达 label,再由 label 传递到内部 checkbox input,toggle 正常工作。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 配置字段 webhook -> webhook_url,兼容旧字段加载 - 通知格式改为 Markdown,重点展示异常项详情 - 严重项最多 5 项,警告项最多 3 项 - 格式:模块:指标名 = 值(阈值:xxx) - 报告链接可点击跳转 - secret 输入框安全控制:禁止粘贴/复制/右键 - 测试消息同步改为 Markdown 格式 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
_now() 和 _run_job_body 中的 datetime.now() 改为 datetime.now(SHANGHAI_TZ),确保 last_run_at / created_at 等字段显示北京时间而非服务器 UTC 时间。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
根因:5.60 服务器系统时区为 UTC,CronTrigger.from_crontab() 默认使用本地时区解析 cron,导致用户配的'每天 18:15'实际 在 UTC 18:15(北京时间凌晨 02:15)才触发。 修复: - schedule_service.py 新增 SHANGHAI_TZ 常量 - _add_job() 的 CronTrigger 显式指定 Asia/Shanghai 时区 - _calc_next_run() 用北京时间作为基准计算下次执行 - start_date/end_date 用 SHANGHAI_TZ.localize() 转换 - 三处依赖同步声明 pytz(requirements / skill/requirements / upload_to_server) 验证:_calc_next_run('30 18 * * *') 返回北京时间 18:30; 5.60 next_run_at 现显示北京时间;51 用例全绿。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
根因:schedule_service.py:383 的 FLASK_DEBUG 默认值为 '1', 而 server.py:151 的默认值为 '0'。systemd 启动时未设 FLASK_DEBUG 环境变量,导致 init_scheduler() 判定为 debug 模式 + 非 reloader 父进程,直接 return 不初始化 APScheduler —— 定时任务永远不执行。 修复:默认值改为 '0',与 server.py 保持一致。 systemd 服务文件也补充 Environment=FLASK_DEBUG=0 双保险。 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- schedule.html: 表格新增「上次执行」列(时间+成功/失败/运行中徽章+报告链接) - schedule.html: 操作列新增「执行」按钮,点击后后台线程执行、3秒轮询自动刷新 - schedule_service.py: 抽 _run_job_body 共享执行体、新增 run_now() 手动触发 - schedule_service.py: create_schedule 初始化 current_status:idle - schedule_service.py: 异常路径 last_run_status 与 current_status 统一为 error - routes.py: page_schedule 注入 run_badge/run_label;新增 POST .../schedules/<id>/run - 响应式适配:平板端隐藏套件/上次执行/下次执行列 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
修复: - server.py FLASK_DEBUG 默认值改为 0(避免 reloader 导致 APScheduler 失效) - schedule_service init_scheduler 增加 WERKZEUG_RUN_MAIN reloader 防护 - health 接口增加 scheduler 状态字段便于诊断 - requirements.txt 补充 apscheduler + croniter 依赖声明 - upload_to_server.py 启动命令加 FLASK_DEBUG=0 新增: - 巡检报告批量删除(checkbox + batch API) - 定时任务编辑保存成功提示 - PRD 问题处理与计划执行文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 左侧菜单新增「通知配置」(仅管理员可见) - 新增 notification_service.py:三种渠道配置/测试发送/巡检后通知 - 新增 notification.html:配置卡片 + 触发条件 + 测试按钮 - runner_service.py:run_inspection_sync 完成后调用通知服务 - 敏感字段用 Fernet 加密存储 - 新增 PRD 文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 删除 Cron 表达式输入,改为重复周期单选组(每天/工作日/每周) - 新增时:分下拉选择器 + 星期多选按钮组 - 新增生效日期/失效日期选择器 - 列表显示自然语言描述(如'工作日 09:30')替代 Cron 表达式 - 后端新增 _build_cron/_describe_schedule 自动转换 - 数据模型新增 repeat_mode/hour/minute/weekdays/start_date/end_date 字段 - 新增 PRD 文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 新增 schedule_service.py:定时任务 CRUD + APScheduler BackgroundScheduler 集成 - 支持 cron 表达式校验(croniter)+ 下次执行时间计算 - 新增 runner_service.run_inspection_sync() 同步执行函数 - 新增 schedule.html 定时任务管理页:表格展示 + 新增/编辑弹窗 + Cron 预设 - 新增 API 路由:schedules CRUD + toggle 启停 - server.py 初始化 APScheduler - upload_to_server.py 增加 apscheduler 依赖 - PRD 需求文档 + 计划执行文档 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- 新增 base.html 共享基础模板:左侧固定侧边栏 + 顶部条 + 内容区 - 侧边栏 4 个菜单项:监测目标/巡检报告/定时任务/目标管理 - 移动端 768px 以下汉堡菜单滑出 - index.html 继承 base.html,只保留目标卡片 - 新增 reports.html 巡检报告独立页,支持按目标筛选 - targets.html / run.html / report.html 继承 base.html - routes.py 新增 page_reports 路由,所有路由增加 active_menu 参数 Co-Authored-By:Claude <noreply@anthropic.com>
-
- 20 7月, 2026 5 次提交
-
-
由 陈泽健 提交于
- PRD_问题处理_SSH连接测试失败.md: SSH 连接问题分析与处理记录 - PRD_计划执行_SSH连接测试失败修复.md: SSH 修复执行计划 - PRD_问题处理_检测项折叠展示.md: 报告折叠展示问题处理记录 - PRD_计划执行_检测项折叠展示修复.md: 折叠展示修复执行计划 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- report.html: 模块默认折叠,仅异常模块自动展开;进程列表表格化展示;长值截断可展开 - 21_docker_deep.sh: 容器进程检测从硬编码 4 个改为遍历所有已配置容器 - check_modules.py: 模块清单 17→30 - display_names.py: 新增 ~250 个检测 KEY 中文显示名 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- P1 核心服务: EMQX 基础/深度、Java 应用检测(含进程列表)、Nginx 深度 - P2 辅助服务: Python 应用检测(含进程列表)、Nginx/Nacos 基础、Nacos 深度、应用日志分析 - P3 系统深度: 综合诊断、安全合规、系统日志、时间同步 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
- parser.py: 新增 _INVALID_VALUES 过滤 N/A、无法获取、未知等无效值 - 01_system_basic.sh: 修复 check_command 函数不存在,改用 command -v - 02_cpu_check.sh: 修复 SCHEDULER_RUNQUEUE 取值逻辑,适配新版内核 Co-Authored-By:Claude <noreply@anthropic.com>
-
由 陈泽健 提交于
系统检测(5 个): - 05_oom_check: OOM 和内核异常检测 - 06_process_check: 进程检测 - 07_network_check: 网络检测 - 11_scheduled_tasks: 计划任务检测 - 12_port_check: 端口检测 服务深度检测(3 个): - 21_docker_deep: Docker 深度检测 - 23_mysql_depth: MySQL 深度检测 - 25_redis_depth: Redis 深度检测 业务容器监测(2 个): - 37_ustorage_check: UStorage 容器监测 - 38_utracker_check: UTracker 容器监测 - check_modules.py: ALL_MODULES 从 7→17 个 - display_names.py: 新增 ~150 个 KEY 中文显示名 - config.sh.template: 新增 ustorge/utracker 容器匹配模式 Co-Authored-By:Claude <noreply@anthropic.com>
-