nezha/README.md

158 lines
4.4 KiB
Markdown
Raw Normal View History

2019-12-01 10:36:23 -05:00
# 哪吒面板
2020-03-22 08:57:23 -04:00
阶段: *alpha*
2019-12-02 10:29:00 -05:00
2020-03-22 08:57:23 -04:00
服务期状态监控,被动接收(非 node-exporter 那种主动拉取的方式。)
2019-12-02 10:29:00 -05:00
2020-11-06 07:51:23 -05:00
## 系统设计
2019-12-02 10:29:00 -05:00
C/S 采用 gRPC 通信,客户端通过添加主机生成的单独 Token 上报监控信息。因为不会做成多用户的,上报信息会储存到内存中,暂不提供历史数据统计。
- 首次连接上报基本信息系统、CPU基本信息后面管理员可从客户端主动拉取更新。
- 监控上报:每隔 3s 向服务器上报系统信息
2020-03-22 10:28:25 -04:00
2020-11-06 07:51:23 -05:00
## 部署指南
### 控制面板 + 节点一键启动
1. 创建一个文件夹
```shell
mkdir nezha
```
2. 进入文件夹并创建 `docker-compose.yaml` 文件
```shell
cd nezha && nano docker-compose.yaml
```
将以下内容粘贴进去,注意查看 `environment` 中的几项配置。ID、密钥是在管理面板添加服务器之后才有的不是你的 GitHub ID。
```yaml
version: "3.3"
services:
dashboard:
2020-11-11 22:12:30 -05:00
image: ghcr.io/naiba/nezha-dashboard
2020-11-06 07:51:23 -05:00
restart: always
volumes:
- ./data:/dashboard/data
ports:
- 8008:80
- 5555:5555
agent:
2020-11-11 22:12:30 -05:00
image: ghcr.io/naiba/nezha-agent
2020-11-08 23:02:06 -05:00
restart: always
2020-11-06 07:51:23 -05:00
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
```
3. 创建控制面板配置文件
```shell
mkdir data && nano config.yaml
```
将以下内容粘贴进去
```yaml
debug: true
httpport: 80
github:
admin: # 多管理员
- 1 #管理员 GitHub ID复制自己GitHub头像图片地址/[ID].png
- 2
2020-11-06 08:25:17 -05:00
clientid: GitHub Oauth App clientID # 在 https://github.com/settings/developers 创建,无需审核 Callback 填 http(s)://域名或IP/oauth2/callback
2020-11-06 07:51:23 -05:00
clientsecret: client secret
site:
brand: 站点标题
cookiename: tulong #浏览器 Cookie 字段名,可不改
```
4. 启动管理面板
```shell
docker-compose up -d
```
5. 更新,可以使用下方的命令,或者配置 **WatchTower** 自动更新所有容器
```shell
docker-compose pull && docker-compose up -d
```
6. *agent* 配置:登入你的管理面板添加服务器,把节点的 ID、密钥 编辑进 `docker-compose.yaml` 文件中,然后重启 agent。
```shell
docker-compose restart agent
```
### 单节点部署
1. 登入你的管理面板添加服务器,把节点的 ID、密钥 记录下来,下面会用到。
2. 创建一个文件夹
```shell
mkdir nezha
```
3. 进入文件夹并创建 `docker-compose.yaml` 文件,将 ID、密钥 编辑进去。
```shell
cd nezha && nano docker-compose.yaml
```
将以下内容粘贴进去ID、密钥是在管理面板添加服务器之后才有的不是你的 GitHub ID。
```yaml
version: "3.3"
services:
agent:
2020-11-11 22:12:30 -05:00
image: ghcr.io/naiba/nezha-agent
2020-11-08 23:02:06 -05:00
restart: always
2020-11-06 07:51:23 -05:00
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
```
4. 启动
```shell
docker-compose up -d
```
2020-03-22 10:28:25 -04:00
2020-11-06 07:51:23 -05:00
5. 更新,可以使用下方的命令,或者配置 **WatchTower** 自动更新所有容器
2020-10-24 21:55:54 -04:00
2020-11-06 07:51:23 -05:00
```shell
docker-compose pull && docker-compose up -d
```
2020-10-28 12:00:58 -04:00
2020-11-06 07:51:23 -05:00
**Windows、MacOS、Andorid 等也可监控,需要参照教程文章里面的文章编译 agent 并启动。**
2020-10-28 12:00:58 -04:00
2020-10-24 21:55:54 -04:00
## 教程文章
2020-11-21 09:07:34 -05:00
- [哪吒面板:小鸡们的最佳探针](https://www.zhujizixun.com/2843.html) *(已过时)*