CentOS7 下哪吒监控面板的搭建的监控端的安装

部分境外代理用的服务器连入 Zabbix 实在是太吃资源了,过高的延迟也使得连接一直中断,考虑了一下决定将边缘业务用的服务器全抽离出来,单独用哪吒监控做管理。


1、首先注册一个新的 GitHub 应用
哪吒监控管理员后台的登录认证使用的是 GitHub OAuth,即:将认证步骤交给 GitHub,面板只负责接收回调并判断是否是本人。
注册新的应用:
注册新的应用
回调地址在域名基础上加上 /oauth2/callback 即可:

接着创建一下私钥:
创建私钥
将 Client ID 和新建的 Client secret 都保存一下,Client secret 之后就再也不会完整出现了! 保存

注:OAuth 不同于部分应用对你 GitHub 账号的绑定,OAuth 是不会像下面的图一样向你请求仓库的权限的:

它只会需要一些个人公开信息(第 2 步面板端安装结束后有截图),因此使用上可以放心。
更多详情请参照:授权 OAuth 应用程序

2、安装面板端(相当于 Zabbix 的 server + nginx 端)
参照官方文档,执行:

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://cdn.jsdelivr.net/gh/naiba/[email protected]/script/install.sh -o nezha.sh && chmod +x nezha.sh
sudo ./nezha.sh

依旧无法下载脚本或端安装文件的情况下,请使用临时代理(代理请自行准备,关闭连接后此配置会失效):

export http_proxy=socks5://99999:[email protected]:20800

选择安装面板端:
安装面板端
期间需要安装 Docker,之后以此输入 Client ID、Client Secret 和 GitHub 用户名和站点标题即可,端口用默认的就行:
输入信息
别忘了开放防火墙和安全组,之后启动面板即可:
启动

如果你和我一样是使用 Certbot 申请免费的 Let’s encrypt 证书,且使用的是在网站目录下放验证文件的方法,那么可以直接参考我的 Nginx 配置:

...
...
server {
        listen      80;
        server_name status.example.com;

        # Let's Encrypt 证书认证
        location ~ /.well-known {
            root /usr/share/nginx;
            allow all;
        }

        # 非强制跳转 HTTPS
        location / {
            # 套 CDN 重定向次数过多则放开 301 跳转
            proxy_pass http://localhost:8008;
            proxy_set_header Host $host;
            # 不套 CDN 时 301 跳转 HTTPS
            # return 301   https://$host$request_uri;
        }
    }

    server {
        listen      443 ssl;
        server_name status.example.com;

        # SSL 配置
        ssl_certificate             /etc/letsencrypt/live/status.example.com/fullchain.pem;
        ssl_certificate_key         /etc/letsencrypt/live/status.example.com/privkey.pem;
        ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

        location / {
            proxy_pass http://localhost:8008;
            proxy_set_header Host $host;
        }

        location /ws {
            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 $host;
        }

        location /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 $host;
        }
    }
...
...

前往页面授权登录即可:
登录

3、安装被监控端(即 Zabbix agent 端)
首先在管理面板新建被监控服务器:
新建
获取密钥留用:
密钥 接着前往被监控服务器,执行的命令和面板端的一样:

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

这里的域名可以直接输入监控端的外网 IP 而不一定要是域名,反正不是套 CDN 就行了:
监控端配置
回到页面上,就能看到服务器数据了:
服务器数据

结束。