local-monitor 本地节点延迟监控

一、项目简介

起源:xxx

本项目用于本地到服务器的 Ping 延迟监控,支持多节点批量采集、历史曲线可视化,并可自动从哪吒面板拉取服务器列表。

三、文件结构

  • run.py:主程序,负责数据采集和 Web 服务
  • db.py:数据库操作,延迟数据存储与查询
  • nezha.py:哪吒面板交互,自动生成 server.csv
  • template.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
  ...
  1. 或配置 .env 后直接使用 python nezha.py 从哪吒面板拉取服务器数据。

三、文件结构

  • run.py:主程序,负责数据采集和 Web 服务
  • db.py:数据库操作,延迟数据存储与查询
  • nezha.py:哪吒面板交互,自动生成 server.csv
  • template.html:前端页面,数据展示与交互
  • data/server.csv:节点列表配置
  • requirements.txt:依赖包列表
  • Dockerfile:容器构建文件
  • .github/workflows/publish.yml:自动构建并推送 Docker 镜像的 workflow

四、命令行运行

  1. 安装依赖:
pip install -r requirements.txt
  1. 采集服务器列表(如需自动生成 server.csv):
python nezha.py
  1. 启动服务:
python run.py
  1. 浏览器访问 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 强制拉取最新镜像。
  • 环境变量特殊字符:用单引号或双引号包裹变量值。