local-monitor 本地节点延迟监控
一、项目简介
起源:xxx
本项目用于本地到服务器的 Ping 延迟监控,支持多节点批量采集、历史曲线可视化,并可自动从哪吒面板拉取服务器列表。
三、文件结构
run.py:主程序,负责数据采集和 Web 服务db.py:数据库操作,延迟数据存储与查询nezha.py:哪吒面板交互,自动生成 server.csvtemplate.html:前端页面,数据展示与交互data/server.csv:节点列表配置requirements.txt:依赖包列表Dockerfile:容器构建文件.github/workflows/publish.yml:自动构建并推送 Docker 镜像的 workflow
## 四、环境变量说明
- `NEZHA_API_URL`:哪吒面板 API 地址
- `NEZHA_USER`:哪吒面板用户名
- `NEZHA_PASSWORD`:哪吒面板密码(如有特殊字符建议加引号)
# local-monitor 本地节点延迟监控
## 一、项目简介
本项目用于本地到服务器的 Ping 延迟监控,支持多节点批量采集、历史曲线可视化,并可自动从哪吒面板拉取服务器列表。
## 二、配置
1. 编辑 `data/server.csv`,格式如下:
```csv
ip,name,desc
1.2.3.4,节点A,描述A
5.6.7.8,节点B,描述B
...
- 或配置
.env后直接使用python nezha.py从哪吒面板拉取服务器数据。
三、文件结构
run.py:主程序,负责数据采集和 Web 服务db.py:数据库操作,延迟数据存储与查询nezha.py:哪吒面板交互,自动生成 server.csvtemplate.html:前端页面,数据展示与交互data/server.csv:节点列表配置requirements.txt:依赖包列表Dockerfile:容器构建文件.github/workflows/publish.yml:自动构建并推送 Docker 镜像的 workflow
四、命令行运行
- 安装依赖:
pip install -r requirements.txt
- 采集服务器列表(如需自动生成 server.csv):
python nezha.py
- 启动服务:
python run.py
- 浏览器访问
http://localhost:5000查看监控界面。
五、Docker 运行
1. 拉取最新镜像
docker pull ghcr.io/vpslog/local-monitor:latest
2. 生成/更新服务器列表(server.csv)
docker run --rm \
-v $(pwd)/local-monitor:/app/data \
-e NEZHA_API_URL='XXXX' \
-e NEZHA_USER='XXX' \
-e NEZHA_PASSWORD='XXXX' \
ghcr.io/vpslog/local-monitor:latest python3 nezha.py
说明:
-v $(pwd)/local-monitor:/app/data挂载本地文件,数据持久化。-e NEZHA_API_URL、-e NEZHA_USER、-e NEZHA_PASSWORD用于哪吒面板自动拉取服务器列表(如需自动生成 server.csv)。
3. 启动监控服务容器
docker run -d \
-v $(pwd)/local-monitor:/app/data \
-p 6001:5000 \
--name local-monitor \
ghcr.io/vpslog/local-monitor:latest
六、环境变量说明
NEZHA_API_URL:哪吒面板 API 地址NEZHA_USER:哪吒面板用户名NEZHA_PASSWORD:哪吒面板密码(如有特殊字符建议加引号)
七、常见问题
- 权限报错:请参考 workflow.md,确保 workflow 配置了
permissions并有推送 package 权限。 - 镜像未更新:用
docker pull强制拉取最新镜像。 - 环境变量特殊字符:用单引号或双引号包裹变量值。