Docker建站(十八)哪吒面板:开源轻量的云探针

1、什么是探针

云探针可以监测服务器运行状态的,主要用途就是 监控服务器状态,在服务运行不正常时及时告警,以便尽快进行维护。

2、安装

提示:
如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信
本文档分别以 "cdn.example.com" 和 "data.example.com" 两个域名来演示

2.1、准备OAuth应用

哪吒监控需要接入 Github、Gitlab、Jihulab 或 Gitee 作为后台管理员账号。

新建一个验证应用(以 Github 为例):

登录 Github 后,打开

https://github.com/settings/developers

依次选择“OAuth Apps” - “New OAuth App”
配置项如下:

  • Application name - 随意填写
  • Homepage URL - 填写面板的访问域名,如:"http://cdn.example.com"
  • Authorization callback URL - 填写回调地址,如:"http://cdn.example.com/oauth2/callback"

填好之后,点击 “Register application”
保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存

如果是 JihuLab ,应用创建入口为:

https://jihulab.com/-/profile/applications

Redirect URL 中应填入回调地址,
在下方范围中勾选 read_userread_api
创建完成后,保存好应用程序 ID 和密码。

2.2、安装面板端

注意:
面板端只需要在一台服务器上安装,用于监控,建议配置高一点(1核2G足够),不然机器一多可能承受不了。

如果在境外,执行:

Bash
1
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh

如果你的面板服务器位于中国大陆,可以使用镜像:

Bash
1
curl -L https://cdn.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh

清北科技 CDN同样支持前端、GitHub资源等加速,说明文档参考:

清北科技 CDN
https://cdn.tsinbei.com

如果没有 Docker 环境,将会安装;等待Docker安装完毕后,分别输入以下值:

  • `OAuth提供商| - Github,Gitlab,Jihulab,Gitee 中选择一个
  • Client ID : 之前保存的 Client ID
  • Client Secret : 之前保存的密钥
  • 用户名 : OAuth 提供商中的用户名
  • 站点标题 : 自定义站点标题
  • 访问端口 : 公开访问端口,可自定义,默认 8008
  • Agent的通信端口 : Agent与Dashboard的通信端口,默认 5555

输入完成后,等待拉取镜像;
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板。

面板端如果需要 HTTPS 或者使用标准端口,可以反向代理,不再赘述。

2.3、安装 Agent

参考文档:

一键安装 Agent
https://nezha.wiki/guide/agent.html

注意:如果你的系统是稀奇古怪的的非主流 Linux 发行版,例如 TencentOS 或它的新名字 OpenCloudOS,一键安装时下载 Agent 端会报错退出,这时只需要自行编写 Systemd 文件:

/usr/lib/systemd/system/nezha-agent.service
Text
1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]

Description=Nezha Agent Service

[Service]

ExecStart=/opt/nezha/agent/nezha-agent -s <面板IP>:<面板端口> -p <Agent密钥>

Restart=always

[Install]

WantedBy=multi-user.target

替换信息后保存即可。

指令:

Bash
1
2
systemctl start nezha-agent #启动
systemctl stop nezha-agent #停止

启动后可能需要等待几分钟才能在面板端看到Agent上线。

用这种方式启动的服务无法通过systemctl enable开机自启动,不过可以:

Bash
1
echo 'systemctl start nezha-agent' >> /etc/rc.d/rc.local

把启动命令放到自启动脚本列表里。

Docker建站(十八)哪吒面板:开源轻量的云探针

https://blog.tsinbei.com/archives/1164/

文章作者
Hsukqi Lee
发布于

2023-02-18

修改于

2023-05-21

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
1 条

JamYido

JamYido

怎么反向代理gRPC端口呢,看官方文档没看懂

  回复

Hsukqi Lee

Hsukqi Lee 作者

这两天刚刚搞定了一个,IPv6服务器没办法访问IPv4主控的gRPC端口,用Cloudflare解决了,我有空更新下这篇文章

  回复