Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

eeviriyi/NodeGet-Alert

Repository files navigation

NodeGet Alert

NodeGet Alert 是一个 NodeGet Dashboard 扩展,用来监控节点状态并发送告警通知。

下载

从 GitHub Release 下载扩展包:

nodeget-alert.zip

也可以下载带版本号的包,例如:

nodeget-alert-v0.3.2.zip

如果要测试开发版,可以在 GitHub Actions 的 dev 分支 Package 运行里下载 nodeget-alert artifact。开发版只用于测试,正式使用优先下载 Release。

安装

  1. 用 SuperToken 或管理员 Token 登录 Dashboard。
  2. 到 KV 页面创建两个命名空间:
nodeget-alert
nodeget-alert-state
  1. 到扩展管理页面上传 nodeget-alert.zip
  2. 打开 "NodeGet Alert" 页面。
  3. 勾选要监控的节点,填写通知渠道参数。
  4. 点"发送测试",确认能收到测试消息。
  5. 点"保存配置"。

保存后,NodeGet Alert 会默认每分钟检查一次节点状态。

告警内容

当前会检查:

  • 节点离线
  • CPU 使用率过高
  • 内存使用率过高
  • 磁盘使用率过高
  • 节点即将到期或已经到期
  • 告警恢复

只有被勾选的节点会触发告警。告警消息会优先显示节点名称,没有名称时显示 UUID。

规则配置

NodeGet Alert 默认每分钟检查一次节点。离线和到期规则达到阈值后立即触发,CPU、内存和磁盘规则需要连续超过阈值一段时间后才会触发,避免短时间抖动造成误报。

每条规则都可以单独启用或关闭:

  • 离线:配置离线阈值,单位是秒
  • CPU:配置使用率阈值和持续时间
  • 内存:配置使用率阈值和持续时间
  • 磁盘:配置总磁盘使用率阈值和持续时间
  • 到期:配置提前多少天提醒

节点默认使用全局规则。需要特殊处理的节点,可以在节点列表里切换为"自定义规则",覆盖全局配置。

到期时间复用 Dashboard 成本管理里的 到期时间 字段,也就是节点 KV 里的 metadata_expire_time。没有设置到期时间的节点不会触发到期告警。

通知渠道

当前支持:

  • Telegram
  • 通用 Webhook
  • ServerChan
  • Bark
  • PushPlus
  • ntfy
  • 飞书群机器人
  • 钉钉群机器人
  • 企业微信群机器人

可以同时启用多个通知渠道。保存后,告警会发送到所有已启用的渠道。

各渠道需要填写的参数:

  • Telegram:Bot TokenChat ID
  • 通用 Webhook:Webhook URL,可选 Webhook Secret
  • ServerChan:SendKey
  • Bark:Server URLDevice Key
  • PushPlus:Token,可选 Topic
  • ntfy:Server URLTopic,可选 Token
  • 飞书:Webhook URL,可选 Secret
  • 钉钉:Webhook URL,可选 Secret
  • 企业微信:Webhook URL

Webhook 会发送 POST JSON 请求:

{
 "title": "NodeGet Alert:节点名称",
 "text": "节点:节点名称\n类型:CPU\n状态:触发中",
 "severity": "warning",
 "message": "[WARNING] NodeGet Alert:节点名称\n..."
}

如果填写了 Webhook Secret,请求会带上:

x-nodeget-alert-secret: <secret>

获取 Telegram 参数

Telegram 需要填写 Bot Token 和 Chat ID。

获取 Bot Token:

  1. 在 Telegram 里打开 @BotFather
  2. 发送 /newbot
  3. 按提示设置 bot 名称和用户名。
  4. BotFather 会返回一段 Bot Token。

获取 Chat ID:

  1. 给你的 bot 发送任意一条消息。
  2. 在浏览器打开:
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
  1. 在返回内容里找到:
"chat": { "id": 123456789 }

这里的 123456789 就是 Chat ID。

如果 result 是空数组,说明 bot 还没收到消息。先给 bot 发一条消息,再刷新 getUpdates

群组使用时,把 bot 拉进群并在群里发一条消息,再查看 getUpdates。群组 Chat ID 通常是负数。

常见问题

保存提示 Namespace 'nodeget-alert' not found:

先到 KV 页面创建 nodeget-alertnodeget-alert-state

收到了不想监控的节点告警:

只勾选需要监控的节点,再保存配置。

需要反馈问题:

打开 NodeGet Alert 页面,点击"导出调试信息",把生成的内容附到 GitHub Issue。调试信息会脱敏,不包含 Bot Token、Webhook Secret 等通知渠道密钥。

需要确认安装是否正常:

打开 NodeGet Alert 页面,点击"开始自检"。自检会检查配置、状态、动态监控数据、Worker 最近运行结果、Cron 可见性和通知渠道。通知渠道检查会向已启用渠道发送一条测试消息。

开发

开发、构建和发布说明见 DEVELOPMENT.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /