Docker,Nginx Proxy Manager 一站式部署哪吒监控

手头的小鸡多了,监控服务器及应用程序的运行状况变得越来越重要。作为一个 时刻想要监控VPS情况的人来说,安装一个哪吒监控必不可少。本文将介绍如何使用 Docker、Nginx Proxy Manager、Github 快速部署哪吒监控,监控手头的vps、服务器等等,哪吒监控安装简单,功能强大,包括响应监控、离线监控等等,更多玩法可参考哪吒官方。
20240415085136934437

哪吒监控项目地址

https://github.com/naiba/nezha
那么用哪吒监控算是部署比较方便的探针了,步骤不多,首先要准备一些东西。

准备工作

1. 1个域名,反代用
2. GitHub等账号,调用接口
3. 至少1台vps,部署docker&Nginx Proxy Manager (服务端+客户端)
如果你没有VPS的话,那么可以去Racknerd开通1台

正式部署

分为解析域名,github调用,安装哪吒面板服务端和客户端。

 

1.解析域名

用的racknerd的机器:ip:192.227.192.232
tz.122199.xyz
ip.122199.xyz
20240415070140010946

2.安装Nginx Proxy Manager

1)更新下VPS系统环境:

apt update -y && apt install -y curl socat wget sudo

20240415070223535779

 

2)安装 Docker:

curl -fsSL https://get.docker.com | sh

20240415070814384778

 

 3)一键安装 Nginx Proxy Manager:

 

docker run -d \
  --name=npm \
  -p 80:80 \
  -p 81:81 \
  -p 443:443 \
  -v /home/npm/data:/data \
  -v /home/npm/letsencrypt:/etc/letsencrypt \
  --restart=always \
  jc21/nginx-proxy-manager:latest

20240415070902354329

 

20240415071249399967

 

4)安装成功后进入Nginx Proxy Manager后台面板:

访问网页:服务器IP:81
示例:192.227.192.232:81
20240415071416819314
默认用户名:admin@example.com
默认密码:changeme
登入后记得先修改密码!
20240415071551049877
20240415071620712888
20240415071825101744
登陆进去后add,输入tz.122199.xyz, 代理哪吒的ip和端口:192.227.192.232:8008
20240415071846171325

20240415071946032902

20240415072027027446

20240415072107120873

 

配置完查看下没问题,继续GitHub操作。

 

3.Github设置

 

1)打开:https://github.com/settings/developers
2)新建一个Oauth
20240415072416829821
申请应用后,获取Client ID和Client secrets
20240415072501061470
20240415072543214301
这两个一会要用到,顺手查一下GitHub的用户名
20240415072648702326
#Github
everett7623
#Client ID
a87e635f965e3f00c64e
#Client secrets
eea805782ee5199f55c96827f79f35284aa66d9d

4.安装哪吒监控

 

进入主vps安装脚本(主服务器)

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

 

20240415072948824275

 

选择1,Docker安装, 按1安装面板端
20240415073038793272
- 等待Docker安装完毕后,分别输入以下值:
    `OAuth提供商` - Github,Gitlab,Jihulab,Gitee 中选择一个
    `Client ID` - 之前保存的 Client ID
    `Client Secret` - 之前保存的密钥
    `用户名` - OAuth 提供商中的用户名
    `站点标题` - 自定义站点标题
    `访问端口` - 公开访问端口,可自定义,默认 8008
    `Agent的通信端口` - Agent与Dashboard的通信端口,默认 5555
20240415073419523257
示例:
github
a87e635f965e3f00c64e
eea805782ee5199f55c96827f79f35284aa66d9d
everett7623
VPS
8008
5555
安装完面板之后回到GitHub刚才申请的那个jiankong应用,取消8008端口,因为已经被反代了,一定要去GitHub改下,不然登不进去。
更改前

更改后

5.登录哪吒面板面板

 

打开tz.122199.xyz,顺利进入可忽略关闭防火墙。

如果打不开,先关闭下防火墙vps ssh输入 ufw disable,关闭防火墙。

 

20240415074340501283

 

20240415074031671256

20240415074051625513

 

进入管理后台,进行设置

 

20240415074428888916

 

先去设置一下面板,把之前解析的另外一个ip.122199.xyz 填入未接入CDN的面板服务器域名/IP这里,然后确定。

 

20240415075026365994

 

修改主题,这种显示响应曲线看起来方便一些。

 

20240415080152354209新增服务器监控,先为主服务器添加监控

20240415074621216900

 

20240415075203795459

20240415075222970627

 

复制这个安装客户端的脚本命令,回到ssh输入,我的如下,大家的自己看,如果没有sudo,建议删除里面的sudo进行安装。

 

curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh install_agent ip.122199.xyz 5555 oMpRb85gVJyIT5Bgai

 

20240415075443711780

 

回到前台https://tz.122199.xyz/ 查看安装情况

 

20240415075516581406

 

6. 更新哪吒

进入主vps,输入以下命令更新,选择5更新最新版本。

./nezha.sh

 

20240415074546280833

 

7. 其他设置

 

新增监控,以上海为例

上海电信:202.96.209.133

上海联通:210.22.97.1

上海移动:183.194.219.220

 

20240415075801758486

20240415075852426654

 

填这些即可,可自行选择ICMP或者TCP。

 

20240415080010649231

Telegram报警

1)关注官方机器人@Botfather,创建TG报警机器人

20240415081122586077

 

复制token:

6945079389:AAHQkF51E2bPSGKyYaC-MSg5gTVEvdnyVIk

创建好机器人先跟他对话一次,让TG机器人生效。

 

20240415081548704922

 

2)查询用户ID

@userinfobot,输入/start 会发你ID,继续下来。

 

3)创建调用地址

https://api.telegram.org/bot这里填写密钥/sendMessage?chat_id=这里填写用户id&text=#NEZHA#

https://api.telegram.org/bot6945079389:AAHQkF51E2bPSGKyYaC-MSg5gTVEvdnyVIk/sendMessage?chat_id=254400461id&text=#NEZHA#

 

4)添加告警方式

 

20240415081755721184

 

URL这里填入刚才创建的地址,确认。

 

20240415081854381553

 

 

添加完看到测试信息,说明URL调用没问题。

 

20240415082005762449

 

告警规则

 

20240415084341203569
离线报警
[{"Type":"offline","Duration":30}]

20240415084423323522

网速报警
[{"Type":"net_out_speed","Duration":10,"max":10485760,"cover":1,"ignore":{"18":true}}]

 

CPU+内存

CPU 持续 10s 超过 50% 且 内存持续 20s 占用低于 20% 的报警

 

[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]

 

设置好的效果,记得要点启用。

 

20240415084534085242

把agent vps重启一下,看看会不会弹出通知,别就1一台主vps操作,它重启了哪吒也不工作。

添加2号,把它重启看看效果。

20240415091808492420

20240415091934238466

这样就方便的监控机器离线,然后排查问题了。

 

总结

通过遵循本文中的步骤,  你已经成功地使用 Docker、Nginx Proxy Manager 和哪吒监控建立了一个强大的监控环境。无论您是运维团队成员还是个人开发者, 这种一站式的部署方式都可以帮助您高效地监控系统, 及时发现并解决潜在问题。借助哪吒监控的丰富功能和直观的Web界面, 您可以轻松地了解系统的整体运行状况, 并根据需要进行调整和优化。希望本文能为您的监控之路提供有用的指引和实践经验。

参考资料

https://github.com/naiba/nezha
https://bigdata.icu/tools/soft/nezha.html
THE END