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

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

前言

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

  • 一键安装:可以一键安装面板与 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 设置规则覆盖的机器

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

相关推荐
angushine42 分钟前
银河麒麟V10创建用户
运维
Trouvaille ~1 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
OpenCSG2 小时前
对比分析:CSGHub vs. Hugging Face:模型管理平台选型对
人工智能·架构·开源
久绊A2 小时前
春节前云平台运维深度巡检-实操经验
运维·安全·容器·kubernetes·云平台
万邦科技Lafite2 小时前
一键获取京东商品评论信息,item_reviewAPI接口指南
java·服务器·数据库·开放api·淘宝开放平台·京东开放平台
梦想的旅途22 小时前
企业微信API外部群自动化推送:从“群发工具”到“智能触达”的架构实践
运维·自动化·企业微信
火山引擎开发者社区2 小时前
火山引擎记忆库Mem0发布,全面兼容Mem0开源社区生态
开源·火山引擎
yuezhilangniao2 小时前
Next.js 项目运维手册-含-常用命令-常见场景
运维·开发语言·reactjs
进击monkey2 小时前
PandaWiki:开源企业级AI知识库工具,基于RAG架构的私有化部署方案
人工智能·开源
开源能源管理系统3 小时前
MyEMS开源能源管理系统在零碳工厂中的应用
开源·能源·能源管理系统