hy-app-monitor/AGENTS.md
2026-04-23 01:19:02 +08:00

62 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# hy-app-monitor Agent Guide
## 项目目标
- 这是部署在 `deploy` 机器上的轻量监控面板。
- 页面端口固定走 `2026`,不要再改回 `6666` 一类浏览器 unsafe port。
- 服务健康检查直接走各业务机器的 HTTP 接口。
- 主机 `CPU / 内存 / 磁盘 / 进程数` 统一走 `TAT` 远程采集,不额外安装 agent。
- `Nacos``MongoDB` 指标优先走 deploy 机直连,不需要额外 agent。
## 配置约定
- 项目根目录 `.env` 是运行时唯一配置源。
- `.env` 必须保留在本地和远端项目目录里,但不能提交到 Git。
- `.env.example` 只作为模板,不能写真实密钥。
- `TENCENT_SECRET_ID` / `TENCENT_SECRET_KEY` / `DEPLOY_REGION``.env` 读取。
- `NACOS_BASE_URL` / `NACOS_NAMESPACE_ID` / `MONGO_URI` 也从 `.env` 读取。
- `config/targets.json` 里的 `instanceId` 不能删,`TAT` 主机采集依赖它。
## 运行约定
- 正式运行优先使用 `systemd`
- `scripts/install_systemd.sh` 负责安装 unit 并启用开机自启。
- `scripts/start.sh` / `stop.sh` / `restart.sh` / `status.sh` 在检测到 unit 后应直接转调 `systemctl`
- `scripts/run_foreground.sh` 只给 `systemd` 用,不要把它改成后台模式。
## 部署约定
- 远端路径固定为 `/opt/hy-app-monitor`
- 部署入口是 `ops/deploy_via_tat.py`
- 该脚本需要把本地项目根目录 `.env` 同步到远端项目根目录 `.env`
- 远端 Python 运行时优先使用项目内 `.venv`
- `requirements-ops.txt` 里的依赖既服务于部署脚本,也服务于运行时 `TAT` 指标采集。
- Python 代码按模块维护,核心目录是 `monitor/``server.py` 只保留入口。
## 修改原则
- 不要把 `TAT` 采集替换成 agent 方案,除非用户明确要求。
- 不要把密钥写进版本库。
- 不要删除页面里的主机指标区块。
- Python 文件保持高注释密度,优先写清楚每个步骤在做什么。
- Python 文件顶部的 `import` 区域不写包用途注释。
## 视觉约定
- 前端默认视觉风格固定为“浅色工业控制台”。
- 设计上下文以项目根目录 `.impeccable.md` 为准,后续前端对话和改动先读取它。
- 页面保持冷静、可靠、可操作,不回退到玻璃拟态、霓虹渐变、大 Hero 的 demo 风。
- 页面文案只保留必要标签和动作,不添加无意义描述。
- 首页默认是状态总览,不把配置编辑和发布表单继续堆在同一条长页面里。
- 服务视图优先使用状态矩阵,主机视图优先使用紧凑条带,基础设施视图承接 Nacos / Mongo 详情。
- 首页首屏默认收敛为顶部导航、工具条、紧凑摘要条、服务矩阵,不额外插入大块最近异常横幅。
- 最近异常进入可折叠详情侧栏顶部,不独立占据首页主宽度。
- 服务矩阵按业务分组切成子矩阵,异常排序前置,表头和第一列保持 sticky。
- 首页主机区只展示业务主机;基础设施主机放到基础设施或主机视图承接。
- 主机指标使用单行短文本,正常态降饱和,红橙色保留给异常和告警。
- 监控筛选条只属于 `总览 / 服务 / 主机``发布 / 配置 / 基础设施` 必须使用各自专用工具条和页内导航。
- `发布` 页按“构建参数 -> 更新目标 -> 执行日志 -> 滚动重启”组织,更新与重启目标都优先用紧凑表格,不再回退到大卡片流。
- `配置` 页按 `Nacos / Go Env / 历史版本` tabs 组织,编辑器必须提供 sticky 工具条、metadata strip 和 `源码 / Diff` 切换。
- `基础设施` 页按 `状态总览 / Nacos 服务 / Mongo 指标 / TAT` 二级导航组织Nacos 服务默认折叠实例Mongo 次要指标默认折叠。
- 长文本默认缩写并提供复制或展开,不直接在主列表铺完整 digest、路径、长 ID 或长连接串。