开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客,欢迎点击原文链接了解更多内容。

前言

哪吒探针是一个开源、轻量、易用的服务器监控、运维工具,它有以下几个特点:

  • 一键安装:可以一键安装面板与 Agent,并且支持 Linux、Windows、MacOS、OpenWRT 以及群晖等主流系统
  • 实时监控:支持同时监控多个服务器的实时状态、网络延迟
  • 功能丰富:支持 WebSSH、DDNS、流量监控,并且可以支持定时任务以及告警通知

安装哪吒探针一般需要有一台公网 IP 的 VPS 用于安装面板、一个 Github 账号用于登录后台,如果你想在没有公网 IP 的设备上部署哪吒探针,可以参考 没有公网 IP 如何部署哪吒探针?(适用于家里云 Nas、Nat VPS、IPv6 Only VPS)

安装面板

Github 创建应用

  1. 打开 Github 创建一个应用

  2. 填写应用的信息

    • Application name:应用名字,可以随意填写

    • Homepage URL:面板的域名,如果不打算使用域名,可以直接填写 http://ip:port

    • Authorization callback URL:在域名后面添加 /oauth2/callback 填入

  1. 创建完成后,点击页面中的 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
  1. 输入 2 选择独立安装

  2. 输入 1 安装面板端

    • OAuth2 提供商 github
    • Client ID 与 Client secrets 填写刚才记录下来的
    • 管理员填写 Github 的用户名
    • 标题任意,端口默认
  1. 稍等片刻,安装成功后,使用 http://ip:8008 就能进入面板了

安装 Agent

  1. 在面板的后台点击新增服务器,任意起一个名字
  1. 来到设置中,填入面板绑定的域名或者 IP
  1. 在列表中点击复制一键安装脚本到想要监控的服务器上运行
  1. 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 设置规则覆盖的机器

一个告警可以添加多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知

相关推荐
大G哥1 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
长天一色1 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
醉颜凉1 小时前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
苦逼IT运维2 小时前
YUM 源与 APT 源的详解及使用指南
linux·运维·ubuntu·centos·devops
前端张三2 小时前
Mac 电脑pink 后端ip地址进行本地联调
服务器·tcp/ip·macos
第六五2 小时前
ubuntu命令行连接wifi
服务器·ubuntu
CXDNW2 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
仍有未知等待探索2 小时前
Linux 传输层UDP
linux·运维·udp
zeruns8022 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
北城青2 小时前
WebRTC Connection Negotiate解决
运维·服务器·webrtc