114 lines
2.7 KiB
Markdown
114 lines
2.7 KiB
Markdown
# 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:连接、内存、网络、操作计数、复制集、数据库统计
|
||
- 自动刷新:前端可切换刷新间隔,并保存在浏览器本地
|