本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
哪吒探针是一个开源、轻量、易用的服务器监控、运维工具,它有以下几个特点:
- 一键安装:可以一键安装面板与 Agent,并且支持 Linux、Windows、MacOS、OpenWRT 以及群晖等主流系统
- 实时监控:支持同时监控多个服务器的实时状态、网络延迟
- 功能丰富:支持 WebSSH、DDNS、流量监控,并且可以支持定时任务以及告警通知
安装哪吒探针一般需要有一台公网 IP 的 VPS 用于安装面板、一个 Github 账号用于登录后台,如果你想在没有公网 IP 的设备上部署哪吒探针,可以参考 没有公网 IP 如何部署哪吒探针?(适用于家里云 Nas、Nat VPS、IPv6 Only VPS)
安装面板
Github 创建应用
-
打开 Github 创建一个应用
-
填写应用的信息
-
Application name:应用名字,可以随意填写
-
Homepage URL:面板的域名,如果不打算使用域名,可以直接填写 http://ip:port
-
Authorization callback URL:在域名后面添加 /oauth2/callback 填入
-
- 创建完成后,点击页面中的 Generate a new client secret 生成密钥,并将 Client ID 与 Client secrets 记录下来 (密钥只会显示一次)
服务器安装面板
通过一键脚本进行安装面板
sh
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
如果服务器位于国内,可以使用 gitee 的地址下载脚本
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
-
输入 2 选择独立安装
-
输入 1 安装面板端
- OAuth2 提供商 github
- Client ID 与 Client secrets 填写刚才记录下来的
- 管理员填写 Github 的用户名
- 标题任意,端口默认
- 稍等片刻,安装成功后,使用 http://ip:8008 就能进入面板了
安装 Agent
- 在面板的后台点击新增服务器,任意起一个名字
- 来到设置中,填入面板绑定的域名或者 IP
- 在列表中点击复制一键安装脚本到想要监控的服务器上运行
- Agent 安装完成后,就能在面板上看到机器上线了
DDNS
哪吒探针的 Agent 会上报机器的 IP,因此我们可以在面板端配置 DDNS,即可实现一端部署,多端 DDNS,不再需要在每台机器上安装 ddns-go
启用哪吒探针的 DDNS 功能非常简单,只需要编辑配置文件 vim /opt/nezha/dashboard/data/config.yaml
将 Cloudflare 的 token 填入 AccessSecret 中,token 的获取可以参考 通过 ddns-go 动态域名解析 实现公网访问内网服务
yaml
DDNS:
Enable: true
Provider: "cloudflare"
AccessSecret: ""
MaxRetries: 3
Profiles: null
然后返回面板后台,勾选启用 DDNS、启用 DDNS IPv6、输入 DDNS 域名
默认情况下,Agent 每 30 分钟上报一次 IP,建议在安装 Agent 时,添加 -u 参数修改上报间隔,单位为秒
sh./nezha.sh install_agent 192.168.1.1 5555 123456789 -u 60
服务 - 网络监控
在后台管理的服务页面中,按如图所示添加监控,安装有 Agent 的机器会定期 Ping 目标 IP,并记录下延迟在前台形成图表
添加后,等待几分钟 ,来到前台的网络选项中,就可以查看 24 小时内的延迟情况
任务 - 计划任务
如果你有多台服务器都需要定时执行任务,则可以在任务页面中,添加计划任务替代 crontab,无需在每台机器上编辑 crontab,更加的方便
告警 - 通知与告警
通知
在告警页面中,可以添加通知方式,用于触发告警任务或完成计划任务时的通知,哪吒探针支持多种通知方式,可以参考官方文档 - 灵活的通知方式,下图以飞书机器人通知为例
告警
告警规则可以用于监控服务器是否在线、CPU 占用、内存占用、硬盘占用以及网速、流量等,当超过设定的阈值时,通过上面设置的通知方式进行告警
告警规则的设置为 json 格式的对象,更多的配置可以参考官方文档 - 告警规则说明
- type 设置监控的类型,例如监控 CPU 占用
- max 设置监控的阈值
- duration 设置持续时长,超过该时长后触发通知
- cover 与 ignore 设置规则覆盖的机器
一个告警可以添加多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知