LOADING

少女祈祷中......

哪吒探针的全系统使用教程

哪吒监控 是一个开源、轻量的服务器和网站监控、运维工具。它可以帮助用户实时了解服务器的系统状态,如 CPU、内存、磁盘、网络等指标。哪吒探针的面板和客户端都可以通过一键脚本安装,支持 Linux、Windows、MacOS 等主流系统。哪吒探针的界面简洁美观,还支持多种主题和语言。如果你有两台及以上服务器,非常推荐使用哪吒监控来查看服务器运行状态

哪吒探针分两个端:

  • 面板端:要求公网IP,或者两个端口也行
  • 探针端:只要联网就行

可以说是非常简单,一个面板端统计信息展示,多个探针端收集自己所在机器的系统信息
废话不多说,开始!


目录

1.面板端部署

1-1.获取Client ID 和密钥
1-2.安装面板端
1-3.面板端反向代理

2.Agent探针端部署

2-1.在Windows上部署
2-2.在Linux上部署
2-3.在Nas系统上部署


1.面板端部署

面板端要求使用Linux系统
第一步我们先获取登录Client ID 和密钥
第二步我们开始安装!
第三步配置反向代理(可选)

1-1.获取Client ID 和密钥

这里我们可以选择使用Github/Gitee的接口进行登录
(其实还有别的,但是我觉得这两个用的人最多而且足够满足不同地区的使用场景了)

1-1-1.Github

Github是全球最大的软件项目的托管平台
可能你没用过Gitee,但是你绝对用过Github

进入这个 链接 创建OAuth应用程序

图片加载失败

Authorization callback URL (回调地址)示例:

http://{服务器IP}:8008/oauth2/callback

Enable Device Flow可不开
设置完后点击 Register application 即可

这时我们就能看见Client ID了

图片加载失败

但是没有密钥,我们点击Client secrets那一行右边的 Generate a new client secret 创建一个新密钥
把Client ID和Client secrets保存下来备用,现在可以跳至 1-2 安装面板

1-1-2.Gitee

Gitee是国内比较好的软件项目的托管平台,如果嫌弃国内访问Github较慢可使用Gitee接口
进入这个 链接 创建OAuth应用程序

图片加载失败

回调地址示例:

http://{服务器IP}:8008/oauth2/callback

创建应用后我们就能看到Client ID和Client Secret了
保存备用


1-2.安装面板端

非常简单,是自动化脚本

Github源(境外推荐):

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

Gitee源(大陆推荐):

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 (我不知道为什么我独立安装不上,只能用Docker)
(安装Docker可参考 Linux安装Docker)

进入脚本后按1 安装面板端

  • OAuth2提供商选择你刚才创建的那一家 回车
  • 填入Client ID 回车
  • 填入Client secrets 回车
  • 管理员输入自己对应供应商的用户名,不是姓名
  • 站点标题自定义
  • 站点端口默认8008 (建议默认,后面可以部署反向代理)
  • Agent 接入的 RPC 端口为探针连接面板的端口,(建议默认5555)

等待镜像拉取完成后就安装好了


1-3.面板端反向代理

由于哪吒探针面板依赖WebSocket,所以在配置反向代理的时候记得开启WebSocket
以下我简单说

  • 打开宝塔
  • 创建站点
  • 填写域名后PHP版本选择纯静态
  • 配置SSL证书
  • 配置反向代理,目标URL为 http://localhost:8008 ,缓存什么都关了
  • 编辑反向代理配置文件,在配置文件里添加
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

示例:

location ^~ /
{
    proxy_pass http://localhost:8008;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;

    #启用WebSocket
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
}
  • 点击保存就可以使用域名访问了,别忘了添加DNS解析
  • 反向代理后请返回Github/Gitee登录接口修改主页地址和回调地址

到这里面板就算完全搭好了,下面开始部署探针


2.Agent探针端部署

我们到面板端后台新增服务器,新增完后复制密钥(AgentKey)备用

2-1.在Windows上部署

我们这里使用 nssm 部署探针(跟frp一样,nssm太好用了)

我们在被控机器上面下载 nssmagent探针端
(进不去nssm官网和Github的可以使用本站提供的网盘镜像 nssm , agent探针端)
一般下载 nezha-agent_windows_amd64.zip 的就行

nssm解压后在win64/32找到 nssm.exe 放在任意目录里,将agent探针端也解压放到此目录,打开 cmd 后cd到此目录后执行以下命令

nssm install nezha

会弹出个窗口

图片加载失败

启动命令模板:

-s {面板端IP}:{Agent端口} -p {Agent密钥}

启动命令示例:

-s 127.0.0.1:5555 -p dPtIT2lhaRNuoSbM4u

点击 Install service 后我们到任务管理器找到我们创建的服务,开启即可
过一会就可以看到服务器上线了,第一次初始化会较慢
(这个过一会有可能是1-10min,也可能是1-2h)


2-2.在Linux上部署

脚本安装

Linux就比Windows简单多了,不需要下第三方的程序,直接使用官方的安装脚本即可

可以使用面板后台的一键安装,但是那个是Github,国内连接较为困难

Github源(境外推荐):

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

Gitee源(大陆推荐):

curl -L https://gitee.com/naibahq/nezha/raw/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh install_agent
  • 输入面板端IP或者域名,不能套CDN
  • 输入面板Agent 接入的 RPC 端口,默认为5555
  • 输入 Agent 密钥
  • SSL/TLS加密可跳过

过一会就可以看到服务器上线了,第一次初始化会较慢
(这个过一会有可能是1-10min,也可能是1-2h)

手动安装

手动安装会麻烦点,一般给纯IPv6机器或者是网络复杂环境使用
首先先确定自己服务器的架构,一般都是x86(amd64)架构
x86架构,应下载 nezha-agent_linux_amd64.zip
arm架构,应下载 nezha-agent_linux_arm64.zip

Agent探针端 (网盘镜像Agent探针端)

下载后解压上传并cd到任意目录下使用启动:

chmod +x nezha-agent
./nezha-agent -s {面板端IP}:{面板端Agent端口} -p {面板端Agent密钥}

为Agent创建守护进程:

nano /etc/systemd/system/nezha-agent.service

里面填入

[Unit]
Description=Nezha Agent
After=syslog.target

[Service]
Type=simple
User=root
Group=root
ExecStart={nezha-agent的位置} -s {面板端IP}:{面板端Agent端口} -p {面板端Agent密钥}
Restart=always

[Install]
WantedBy=multi-user.target

启动并设置开机自启

systemctl daemon-reload
systemctl enable nezha-agent
systemctl start nezha-agent

现在基本上就没问题了,返回面板查看即可


2-3.在Nas系统上部署

由于我这里只有群晖,就拿群晖举例

下载Agent探针端(网盘镜像Agent探针端),这时候得看清自己nas的CPU架构
比如我的DS920+是英特尔J4125 为x86架构,应下载 nezha-agent_linux_amd64.zip
再比如我DS218Play是Realtek RTD1296 为arm架构,应下载 nezha-agent_linux_arm64.zip
(夹带个私货,不要买arm的nas!否则你会变得不幸!)
如果分不清自己的CPU是什么架构,可以百度,也可以GPT
找到对应架构下载,解压后把 nezha-agent 放在任意一个文件夹内,右键属性查看位置后保存备用

在控制面板开启终端机(SSH),使用任意工具进行连接
(什么,你没有SSH工具?那直接cmd输入 ssh <nas管理员账号>@<nasIP地址> 回车)

连接后输入 sudo -i 进入超级管理员(root)模式
这时它会让你输密码,不要担心,这就是你登录nas的密码,再输一遍就行

进入后我们直接输入下方命令创建系统服务

vim /usr/lib/systemd/system/nezha-agent.service

然后接着在 nezha-agent.service 里输入(位置就是刚才右键属性查看的那个)

模板:

[Unit]
Description=Nezha Agent
After=syslog.target

[Service]
Type=simple
User=root
Group=root
ExecStart={nezha-agent的位置} -s {面板端IP}:{面板端Agent端口} -p {面板端Agent密钥}
Restart=always

[Install]
WantedBy=multi-user.target

示例:

[Unit]
Description=Nezha Agent
After=syslog.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/volume1/web/nezha/nezha-agent -s 10.0.1.111:5555 -p JmOaltUX6HaVQ4QUoB
Restart=always

[Install]
WantedBy=multi-user.target

按照自己的实际情况填写后按esc输入 :wq 保存并退出

然后输入以下命令即可启动Agent

systemctl daemon-reload
systemctl enable nezha-agent
systemctl start nezha-agent

查看状态(如果显示绿色的active (running)即启动成功)

systemctl status nezha-agent

到这里就算是全部部署完了,应该还算简单(应该吧)
像美化界面什么的可以参考别的文章,我这里就不说了

部分内容引用自 nezha探针官方文档 Mitsea Blog

本文作者:薄荷の尾巴
本文链接:https://blog.hoshiroko.com/archives/feda2c0e1048
版权声明:本文章采用 BY-NC-SA 许可协议。转载请注明出处并使用相同协议!