# Netdata接入 Server酱：Netdata 监控到 CPU/内存/磁盘等指标告警时推送到微信（2026 教程）

> 通过编辑 Netdata 的 health_alarm_notify.conf 配置 custom_sender，使用 curl 调用 Server酱 API，实现服务器监控告警实时推送到微信。

- 网页版：https://sct.ftqq.com/docs/integrations/netdata/
- 更新日期：2026-07-17

# Netdata + Server酱：服务器指标告警推送到微信

> 效果：Netdata 监控到 CPU/内存/磁盘等指标告警时推送到微信

## 前置条件

- 获取 Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）
- 已安装并运行 Netdata 服务

## 配置步骤

在 Netdata 所在服务器编辑 `health_alarm_notify.conf`，找到 `custom_sender()` 函数，填入以下 curl 命令：

```bash
curl -sS -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" \
  --data-urlencode "title=Netdata告警 ${name}" \
  --data-urlencode "desp=${chart} 状态 ${status}"
```

如果使用 Server酱³，端点替换为 `https://你的UID.push.ft07.com/send/你的SENDKEY.send`（UID 取自 sctp 后的数字）。

1. 确保系统已安装 curl。
2. 在 `health_alarm_notify.conf` 中启用 custom 通知（具体配置项以应用内实际显示为准）。
3. 将上述 curl 命令写入 `custom_sender()` 函数内，Netdata 会将 `${name}`、`${chart}`、`${status}` 等告警变量自动替换为实际值。
4. 在角色路由配置里，把 `custom` 加入需要接收告警的角色列表中。
5. 保存配置并重启 Netdata 使其生效。

## 完整示例

以下为 `custom_sender()` 函数的完整写法，可直接替换到 `health_alarm_notify.conf` 中：

```bash
custom_sender() {
  curl -sS -X POST "https://sctapi.ftqq.com/你的SENDKEY.send" \
    --data-urlencode "title=Netdata告警 ${name}" \
    --data-urlencode "desp=${chart} 状态 ${status}"
  return 0
}
```

## 常见问题

**Server酱的发送额度是多少？**
免费用户每日可发送 5 条消息，订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**配置后没有收到告警消息怎么办？**
请先检查 `health_alarm_notify.conf` 中 custom 通知是否启用、角色路由是否包含 `custom`，并参考[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)检查 SendKey 与网络。

**发送频率有限制吗？**
有，每分钟发送上限为 50 条，订阅会员每日 API 请求上限为 1000。

## 相关集成

- [Uptime Kuma 宕机告警接入 Server酱](https://sct.ftqq.com/docs/integrations/uptime-kuma/)
- [青龙面板任务通知接入 Server酱](https://sct.ftqq.com/docs/integrations/qinglong/)
- [Python 脚本推送接入 Server酱](https://sct.ftqq.com/docs/integrations/python/)


## 懒人方案：把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手，它就会替你完成 Server酱 的接入：

```text
请帮我把 Server酱 微信通知接入到我当前的项目/工具中：
1. API：POST https://sctapi.ftqq.com/{SendKey}.send，参数 title（必填，不能含换行）、desp（正文，支持 Markdown，可选）；成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头，则改用 https://{uid}.push.ft07.com/send/{SendKey}.send，uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取；如果没有，提醒我到 https://sct.ftqq.com 免费获取（每天 5 条额度）。
4. 安全要求：不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定：任务结束发 1 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

