由于我以前秉承着鸡蛋不放一个篮子里面,并且商家做一些活动卖一些年付机器也比较划算,就不停的买小鸡,最多手里有二十几台机器 性能机杜甫小鸡都有。以前基本不给小鸡上针,手里捏着一二十台也懒得去聚合到一起管理,我觉得也没多大用处,顶多这个服务器上跑了某个程序挂了域名,弄个监控告警就完事了。
现在目前还有十几台小鸡,最近挂上了哪吒探针 看着莫名的爽。
:p[]{.center}
去年年初在CLOUDCONE买的几台垃圾小鸡,到今年年初自动扣信用卡了,由于是年费不得不用了,好在现在也都利用起来了。
在线时间都比较新,用前我都喜欢重装一下系统。
哪吒探针官方文档:https://nezha.wiki/
GitHub:https://github.com/naiba/nezha
准备好一台vps小鸡作为面板端,再准备几台vps小鸡作为监控端。
解析两条域名到面板端,一条可以套CDN作为面板端访问,一条不能套作为通信端的通信(使用服务器IP也是可以的),CDN 需要支持WebSocket 协议。
准备nginx反向代理用于域名访问,宝塔面板来反向代理也是可以的。
获取 Github 的 Client ID 和密钥
因为哪吒监控接入 Github、Gitlab、Gitee 作为后台管理员账号,所以我们需要创建一个第三方登录应用。
这里使用GitHub作为演示(先打开GitHub页面登录):
再打开:https://github.com/settings/developers 依次选择“OAuth Apps” - “New OAuth App”
:p[]{.center}
Application name
- 随意填写Homepage URL
- 填写面板的访问域名
如:"http://cdn.example.com" (你的域名)Authorization callback URL
- 填写回调地址
如:"http://cdn.example.com/oauth2/callback" (不要忘记/oauth2/callback
)
:p[]{.center}
点击 “Register application”
保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存。请看下图:
:p[]{.center}
在面板服务器中,运行安装脚本:
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的面板服务器位于中国大陆,可以使用镜像:
curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
等待Docker安装完毕后,分别输入以下值:
OAuth提供商 - Github,Gitlab,Gitee 中选择一个
Client ID - 之前保存的 Client ID
Client Secret - 之前保存的密钥
用户名 - OAuth 提供商中的用户名
站点标题 - 自定义站点标题
访问端口 - 公开访问端口,可自定义,默认 8008
Agent的通信端口 - Agent 与 Dashboard 的通信端口,默认 5555
输入完成后,等待拉取镜像
安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板
将来如果需要再次运行脚本,可以运行:
./nezha.sh
来打开管理脚本。
配置反向代理
在宝塔面板中新建一个站点,域名填写公开访问域名,如 “http://cdn.example.com“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”
自定义一个代理名称,在下方“目标 URL”中填入 http://127.0.0.1 然后点击“保存”
打开刚刚新建的反向代理右边的“配置文件”,将配置文件替换为以下内容:
#PROXY-START/
location / {
proxy_pass http://127.0.0.1:8008;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
}
location ~ ^/(ws|terminal/.+)$ {
proxy_pass http://127.0.0.1:8008;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
}
#PROXY-END/
点击“保存”现在,你应该可以直接使用域名,如:“http://cdn.example.com“ 来访问面板了。
目前哪吒监控已支持在 Windows 和 Linux上一键安装 Agent,你可以很轻松的在服务器上部署它。
你需要提前在管理面板中设置好通信域名,此域名不可以接入CDN,这里以示例通信域名 “data.example.com” 来做演示
进入后台管理面板,转到“设置”页,在“未接入 CDN 的面板服务器域名/IP”项中填入通信域名,然后点击"保存"
首先在管理面板中添加一台服务器
点击新添加的服务器旁,绿色的 Linux 图标按钮,复制一键安装命令
在被控端服务器中运行复制的一键安装命令,等待安装完成后返回到 Dashboard 主页查看服务器是否上线。
首先在管理面板中添加一台服务器
点击新添加的服务器旁,绿色的 Windows 图标按钮,复制一键安装命令
进入 Windows 服务器,运行 PowerShell,在 PowerShell 中运行复制的安装命令
如遇到确认「执行策略变更」请选择 Y
等待安装完成后返回 Dashboard 主页查看服务器是否上线
在 Linux 中安装
首先在管理面板中添加一台服务器
在被控服务器中,运行脚本(位于中国大陆的服务器请使用镜像):
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果你的被控服务器位于中国大陆,可以使用镜像:
curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
请参考社区文章:哪吒探针 - Windows 客户端安装
如果你使用官方的镜像脚本去安装可能会出现和我一样的情况:
:p[]{.center}
:p[]{.center}
以下内容来自nezha.sh
NZ_BASE_PATH="/opt/nezha"
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
NZ_AGENT_SERVICE="/etc/systemd/system/nezha-agent.service"
请自行从:https://api.github.com/repos/nezhahq/agent/releases/latest 上下载nezha-agent到本地,选择你的系统版本的压缩包 解压出来会有一个二进制的文件。
在服务器上创建"/opt/nezha/agent"
目录,将nezha-agent放入 然后执行:
chmod +x nezha-agent
在 "/etc/systemd/system/"
目录新建一个nezha-agent.service
文件,把下面的代码替换然后保存进去:
[Unit]
Description=Nezha Agent
After=syslog.target
#After=network.target
#After=nezha-dashboard.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=root
Group=root
WorkingDirectory=/opt/nezha/agent/
ExecStart=/opt/nezha/agent/nezha-agent -s 1.1.1.1:5555 -p 密钥
Restart=always
#Environment=DEBUG=true
# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
#ProtectSystem=full
#PrivateDevices=yes
#PrivateTmp=yes
#NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
把1.1.1.1:5555
和密钥替换成你自己的,最后执行下面的命令:
systemctl daemon-reload
systemctl enable nezha-agent
systemctl restart nezha-agent
最后刷新哪吒探针的后台就能看见小鸡上线啦。