mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 12:48:14 -05:00
:trollface: Self-hosted, lightweight server and website monitoring and O&M tool
.github/workflows | ||
cmd | ||
model | ||
pkg/mygin | ||
proto | ||
resource | ||
script | ||
service | ||
.gitignore | ||
Dockerfile.agent | ||
Dockerfile.dashboard | ||
go.mod | ||
go.sum | ||
README.md |
哪吒面板
阶段: alpha
服务期状态监控,被动接收(非 node-exporter 那种主动拉取的方式。)
系统设计
C/S 采用 gRPC 通信,客户端通过添加主机生成的单独 Token 上报监控信息。因为不会做成多用户的,上报信息会储存到内存中,暂不提供历史数据统计。
- 首次连接:上报基本信息(系统、CPU基本信息),后面管理员可从客户端主动拉取更新。
- 监控上报:每隔 3s 向服务器上报系统信息
部署指南
控制面板 + 节点一键启动
-
创建一个文件夹
mkdir nezha
-
进入文件夹并创建
docker-compose.yaml
文件cd nezha && nano docker-compose.yaml
将以下内容粘贴进去,注意查看
environment
中的几项配置。ID、密钥是在管理面板添加服务器之后才有的,不是你的 GitHub ID。version: "3.3" services: dashboard: image: docker.pkg.github.com/p14yground/nezha/dashboard restart: always volumes: - ./data:/dashboard/data ports: - 8008:80 - 5555:5555 agent: image: docker.pkg.github.com/p14yground/nezha/agent restart: always depends_on: - dashboard environment: - ID=1 #节点ID,启动后在管理后台添加后显示 - SECRET=secret #节点密钥,启动后在管理后台添加后显示 - SERVER=ops.naibahq.com:5555 #服务器RPC端口 - DEBUG=false #服务器地址使用IP时设置为true volumes: - /proc:/agent/host/proc:ro - /sys:/agent/host/sys:ro - /etc:/agent/host/etc:ro - /var:/agent/host/var:ro - /run:/agent/host/run:ro - /dev:/agent/host/dev:ro
-
创建控制面板配置文件
mkdir data && nano config.yaml
将以下内容粘贴进去
debug: true httpport: 80 github: admin: # 多管理员 - 1 #管理员 GitHub ID,复制自己GitHub头像图片地址,/[ID].png - 2 clientid: GitHub Oauth App clientID # 在 https://github.com/settings/developers 创建,无需审核 Callback 填 http(s)://域名或IP/oauth2/callback clientsecret: client secret site: brand: 站点标题 cookiename: tulong #浏览器 Cookie 字段名,可不改
-
启动管理面板
docker-compose up -d
-
更新,可以使用下方的命令,或者配置 WatchTower 自动更新所有容器
docker-compose pull && docker-compose up -d
-
agent 配置:登入你的管理面板添加服务器,把节点的 ID、密钥 编辑进
docker-compose.yaml
文件中,然后重启 agent。docker-compose restart agent
单节点部署
-
登入你的管理面板添加服务器,把节点的 ID、密钥 记录下来,下面会用到。
-
创建一个文件夹
mkdir nezha
-
进入文件夹并创建
docker-compose.yaml
文件,将 ID、密钥 编辑进去。cd nezha && nano docker-compose.yaml
将以下内容粘贴进去,ID、密钥是在管理面板添加服务器之后才有的,不是你的 GitHub ID。
version: "3.3" services: agent: image: docker.pkg.github.com/p14yground/nezha/agent restart: always environment: - ID=1 #节点ID,启动后在管理后台添加后显示 - SECRET=secret #节点密钥,启动后在管理后台添加后显示 - SERVER=ops.naibahq.com:5555 #服务器RPC端口 - DEBUG=false #服务器地址使用IP时设置为true volumes: - /proc:/agent/host/proc:ro - /sys:/agent/host/sys:ro - /etc:/agent/host/etc:ro - /var:/agent/host/var:ro - /run:/agent/host/run:ro - /dev:/agent/host/dev:ro
-
启动
docker-compose up -d
-
更新,可以使用下方的命令,或者配置 WatchTower 自动更新所有容器
docker-compose pull && docker-compose up -d
Windows、MacOS、Andorid 等也可监控,需要参照教程文章里面的文章编译 agent 并启动。
教程文章
- 哪吒面板:小鸡们的最佳探针(已过时)