一站式轻监控轻运维系统nezha(上篇)

本文软件由网友 114514 推荐;

什么是哪吒监控 ?

哪吒监控 是自托管、轻量级服务器和网站监控运维工具,属于一站式轻监控轻运维系统,分主控端和被控端,主控端提供访问的面板,被控端就是需要监控的服务器。

准备工作

似乎哪吒监控只能接入 GithubGitlabJihulabGitee 作为后台管理员账号,所以需要有一个可以从公网访问的地址来实现 OAuth 回调,这个地址可以是域名,也可以是公网 IP,但老苏没有公网 IP,就只能用域名了

域名准备

先要准备好域名

域名 局域网地址 备注
https://nz.laosu.ml http://192.168.0.197:5558 nezha 面板的访问地址

用 Nginx Proxy Manager 做反代处理;实际访问时,因为老苏没有备案,所以是 https://nz.laosu.ml:444

其中:

  • 192.168.0.197 为群晖的 IP
  • 5558 是准备分配给 nezha 面板的端口;

SSL 设置里一般没啥问题的话都是全部勾选

Advanced 中加入下面的代码

1
2
3
4
5
6
7
8
9
10
11
12
location / {
proxy_pass http://192.168.0.197:5558;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$ {
proxy_pass http://192.168.0.197:5558;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
}

获取 Github 的 Client ID 和密钥

登录 Github 账户后打开 https://github.com/settings/developers  ,然后点击 New OAuth App 按钮

依次填写昵称,面板访问域名,回调地址

  • Application name - 随意填写 ;
  • Homepage URL - 填写面板的访问域名,如:https://nz.laosu.ml:444
  • Authorization callback URL - 填写回调地址,如:https://nz.laosu.ml:444/oauth2/callback

点击 Register application,保存下 Client ID,然后点击 Generate a new client secret,创建一个新的 Client Secret,新建的密钥仅会显示一次,一定要妥善保存;

获取 Gitee 的 Client ID 和密钥

考虑到 Github 在国内访问的不稳定性,所以老苏最终用了 Gitee 来实现 OAuth 认证,而不是 Github

登录 Gitee 账户后打开 https://gitee.com/oauth/applications  ,然后点击 创建应用 按钮

依次填写名称,面板访问域名,回调地址等

  • 应用名称 - 随意填写 ;
  • 应用主页 - 填写面板的访问域名,如:https://nz.laosu.ml:444
  • 应用回调地址 - 填写回调地址,如:https://nz.laosu.ml:444/oauth2/callback
  • 上传 Logo - 只支持 jpgpng 格式;

创建应用,保存下 Client IDClient Secret,一定要妥善保存,后面 OAuth 认证时会用到

镜像下载

官方没有在 docker hub 上发布镜像,而是采用了自动构建 docker 镜像的方式,地址在 https://github.com/naiba/nezha/pkgs/container/nezha-dashboard

SSH 客户端登录到群晖后,依次执行下面的命令

1
2
3
4
5
6
7
8
# 新建文件夹 nezha 
mkdir -p /volume2/docker/nezha/data

# 进入 nezha 目录
cd /volume2/docker/nezha

# 拉取镜像
docker pull ghcr.io/naiba/nezha-dashboard:latest

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

1
2
3
4
5
6
7
8
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/naiba/nezha-dashboard:latest

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/naiba/nezha-dashboard:latest ghcr.io/naiba/nezha-dashboard:latest

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/naiba/nezha-dashboard:latest

下载完成后,可以在 映像 中找到

前期准备工作到这里就差不多完成了,下期见

参考文档

naiba/nezha: 哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP、TCP、Ping 监控报警,计划任务和在线终端。
地址:https://github.com/naiba/nezha

Home | 哪吒监控
地址:https://nezha.wiki/index.html

Gitee OAuth 文档
地址:https://gitee.com/api/v5/oauth_doc#/list-item-3