hy-app-monitor/README.md
2026-04-22 15:52:52 +08:00

114 lines
2.7 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
部署在 `deploy` 机器上的轻量监控面板。
- 页面端口:`2026`
- 页面入口:`http://43.164.75.199:2026/`
- 服务健康:直接探测各业务服务健康接口
- 主机资源:通过 `TAT` 批量采集 `CPU / 内存 / 磁盘 / 进程数`
- Nacos直连 Nacos OpenAPI列出命名空间、服务和注册实例
- MongoDB直连 Mongo采集 `serverStatus / listDatabases / replSetGetStatus`
## 目录
- `server.py`:后端入口
- `monitor/`Python 模块实现
- `config/targets.json`:监控目标和实例 ID
- `static/`:前端页面
- `scripts/`:启停、自启安装、前台运行脚本
- `systemd/`systemd unit
- `ops/`TAT 放行和远端部署脚本
- `.env.example`:运行配置模板
## 运行配置
项目根目录 `.env` 是唯一运行配置源,不入库。
最少需要:
```bash
APP_BIND=0.0.0.0
APP_PORT=2026
DEFAULT_REFRESH_INTERVAL_SECONDS=10
REFRESH_INTERVAL_OPTIONS=5,10,15,30,60
NACOS_BASE_URL=http://10.2.1.17:8848
NACOS_NAMESPACE_ID=...
MONGO_URI=mongodb://...
DEPLOY_REGION=me-saudi-arabia
TENCENT_SECRET_ID=***
TENCENT_SECRET_KEY=***
```
可以直接复制模板:
```bash
cp .env.example .env
```
## 本地运行
```bash
bash scripts/start.sh
bash scripts/status.sh
```
访问:
```bash
http://127.0.0.1:2026/
```
## systemd 开机自启
在远端项目目录执行:
```bash
bash scripts/install_systemd.sh
```
常用命令:
```bash
bash scripts/restart.sh
bash scripts/status.sh
bash scripts/uninstall_systemd.sh
```
## 通过 TAT 放行端口
```bash
python3 ops/open_port_via_tat.py
```
默认会:
1. 解析 `deploy` 机器安全组
2. 通过 `TAT` 放开机器内防火墙
3. 通过腾讯云 API 放开安全组 TCP `2026`
## 通过 TAT 远端部署
```bash
python3 ops/deploy_via_tat.py
```
默认会:
1. 拉取或更新 `/opt/hy-app-monitor`
2. 把本地项目 `.env` 同步到远端项目 `.env`
3. 创建远端 `.venv`
4. 安装 `requirements-ops.txt`
5. 安装并启用 `systemd`
6. 重启服务并检查 `2026` 监听
## 页面内容
- 主机:`CPU / 内存 / 磁盘 / 进程数`,带阈值颜色分级
- 服务Java / Golang 健康检查和耗时
- Nacos命名空间、服务、注册实例、健康状态
- Nacos 配置:读取当前 namespace 下的配置列表,支持格式校验、在线编辑保存
- Golang 配置:读取 app 节点当前运行中的 `service.env`,展示 `chatapp3-golang` 实际消费的环境变量并支持保存
- 滚动重启:可按服务选择 Java / Golang 节点,逐台重启并等待健康恢复
- MongoDB连接、内存、网络、操作计数、复制集、数据库统计
- 自动刷新:前端可切换刷新间隔,并保存在浏览器本地