简介

开源、轻量、易用的服务器监控、运维工具

官网文档:https://nezha.wiki/

优点

  • 一键安装

支持一键脚本安装面板和监控服务,轻松使用;Linux、Windows、MacOS、OpenWRT等主流系统均受支持

  • 实时监控

支持同时监控多个服务器的系统状态,支持监控网页、端口、SSL证书状态;支持故障、流量等状态报警,支持多种通知方式(Telegram、邮件、微信等)

  • 轻松运维

支持WebSSH,支持流量循环监控,支持设置定时任务、服务器批量执行任务

准备

  1. GitHub账户

TIP

如果您位于中国大陆,访问 Github 有困难,我们建议您选择 Jihulab 作为 OAuth 提供商

  1. 一台可以连接公网的 VPS,防火墙和安全策略需要放行 8008 和 5555 端口,否则会无法访问和无法接收数据。单核 512MB 内存的服务器配置就足以满足大多数使用场景
  2. 一个已经设置好 A 记录,指向 Dashboard 服务器 ip 的域名

TIP

如果你想使用 CDN,请准备两个域名,一个配置好 CDN 用作公开访问,CDN 需要支持WebSocket 协议;另一个域名不要使用 CDN,用作 Agent 端与 Dashboard 的通信

搭建

获取 Github/Jihulab 的 Client ID 和密钥

哪吒监控接入 Github、Gitlab、Jihulab、Gitee 作为后台管理员账号
●首先我们需要新建一个验证应用,以 Github 为例,登录 Github 后,打开 https://github.com/settings/developers ,依次选择“OAuth Apps” - “New OAuth App” Application name - 随意填写 Homepage URL - 填写面板的访问域名,如:"http://cdn.example.com" Authorization callback URL - 填写回调地址,如:"http://cdn.example.com/oauth2/callback"
●点击 “Register application”
●保存页面中的 Client ID,然后点击 “Generate a new client secret“,创建一个新的 Client Secret,新建的密钥仅会显示一次,请妥善保存
●JihuLab 的应用创建入口为:https://jihulab.com/-/profile/applications
●Redirect URL 中应填入回调地址
●在下方范围中勾选 read_user 和 read_api
●创建完成后,保存好应用程序 ID 和密码

在服务器中安装 Dashboard

在面板服务器中,运行安装脚本:

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,Jihulab,Gitee 中选择一个 Client ID - 之前保存的 Client ID Client Secret - 之前保存的密钥 用户名 - OAuth 提供商中的用户名 站点标题 - 自定义站点标题 访问端口 - 公开访问端口,可自定义,默认 8008 Agent的通信端口 - Agent与Dashboard的通信端口,默认 5555
●输入完成后,等待拉取镜像 安装结束后,如果一切正常,此时你可以访问域名+端口号,如 “http://cdn.example.com:8008” 来查看面板
●将来如果需要再次运行脚本,可以运行:

./nezha.sh

来打开管理脚本

配置反向代理

在宝塔面板中新建一个站点,域名填写公开访问域名,如 “http://cdn.example.com“ ,然后点击“设置”进入站点设置选项,选择“反向代理” - “新建反向代理”

掌握监控神器:一步到位的哪吒监控搭建秘籍!插图


设置ssl

掌握监控神器:一步到位的哪吒监控搭建秘籍!插图1

自定义一个代理名称,在下方“目标 URL”中填入 http://127.0.0.1:8008 然后点击“保存”

掌握监控神器:一步到位的哪吒监控搭建秘籍!插图2

打开刚刚新建的反向代理右边的“配置文件”,将配置文件替换为以下内容:

#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/

点击“保存”

掌握监控神器:一步到位的哪吒监控搭建秘籍!插图3

现在,你应该可以直接使用域名,如:“http://cdn.example.com“ 来访问面板了

管理面板配置

主机

介绍

主机区域负责管理Agent,是哪吒探针中最基础的区域,也是其他功能的基础。

添加服务器

第一步是添加主机,可以自定义名称、分组、排序和备注。
拥有相同分组的主机会在受支持的主题中划分到一起进行显示,备注仅会在后台显示,无需担心泄露信息。

安装Agent

推荐使用一键安装,即配置好参数后,点击主机一键安装列上的按钮,复制到相应主机进行安装。

在被控服务器中,运行脚本(位于中国大陆的服务器请使用镜像):

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
  • 选择“安装监控 Agent”
  • 输入通信域名,如:”data.example.com“
  • 输入面板通信端口(RPC端口),默认为 5555
  • 输入 Agent 密钥,Agent 密钥在管理面板中添加服务器时生成,可以在管理面板中的“主机”页中找到
  • 等待安装完成后返回 Dashboard 主页查看服务器是否上线

服务

服务区域是设置 Agent 监控外部网站或服务器的功能设置区
设置好的服务监控可以在主页中的 “服务” 页查看监控结果

使用方法

如需新增一个监控,可以进入管理面板中的 “服务” 页,点击“添加监控”

新增一个服务监控,你需要设置以下参数:

  • 名称 - 自定义一个名称
  • 类型 - 选择一个监控类型,目前哪吒监控支持三种监控类型,分别是 “HTTP-GET”、“ICMP-Ping” 和 “TCP-Ping”
  • 目标 - 根据你选择的类型不同,目标的设置方法也不同
  • HTTP-GET: 选择此类型,你应该输入一个URL作为目标,URL需添加 http:// 或 https://
  • 如果你的目标URL是 https:// ,将会同时监控该URL的SSL证书,当SSL证书到期或发生变更,会触发提醒
    例如: https://example.com
  • ICMP-Ping: 选择此类型时,你应该输入一个域名或IP,不含端口号
    例如:1.1.1.1 或 example.com
  • TCP-Ping: 选择此类型时,你应该输入一个域名或IP并包含端口号
    例如:1.1.1.1:80 或 example.com:22
  • 请求间隔: 设定 Agent 每次请求目标的时间间隔,以秒为单位
  • 覆盖范围: 选择一条规则来确定要使用哪些 Agent 来请求目标
  • 特定服务器: 配合覆盖范围使用,选择规则内需要排除的 Agent
  • 通知方式组: 选择你已经在 “报警” 页设置好的通知方式,点击这里了解详情
  • 启用故障通知: 根据需要选择是否接收目标故障通知,默认为不勾选

设置完成后,点击 “添加” 即可
稍等片刻前往主页的 “服务” 页,查看监控结果