# 运维警报和事件通知

> 通过短信发送监控警报、值班呼叫和中断通知：无需数据连接或应用即可到达任何手机，由您的警报系统发起一次 REST 调用，并支持事务型标记和送达 webhook。

要使用 SMSMeteor 发送运维警报，请让您的监控或事件工具通过通用 webhook 操作调用 `POST /v1/messages`；使用事务型标记，使警报可在任何时段发出；设置较短有效期，使过时警报被丢弃；并根据警报 ID 构建幂等键，避免反复触发时重复呼叫。对于面向客户的中断通知，请向受影响的名单批量发送；如果回复由支持团队处理，请控制发送速率。

## 推荐设置

- 流量类型：事务型
- 集成：通过通用 webhook 操作调用 REST API
- 去重：根据警报 ID 生成 `Idempotency-Key`
- 有效期：15 到 60 分钟
- 扇出：`/v1/messages/batch`，每次 API 请求最多 1,000 条消息
- 无需依赖：移动数据、应用或推送令牌

## 操作步骤

1. 添加 webhook 操作：大多数监控和事件工具都能使用请求头向 URL 发送 JSON POST 请求。请使用您的 API 密钥，将一项此类操作指向短信端点。
2. 去重：使用警报或事件 ID 作为幂等键。这样，当检查状态反复波动时，每个事件只会发送一条短信，而不是每次评估都发送一条。
3. 丢弃过时警报：请将有效期设为警报仍有用的时间窗口。晚三小时送达的呼叫只会制造干扰。
4. 按名单升级：先呼叫主要值班人员；如果您的工具没有看到确认，再通过第二次调用呼叫后备人员。

## 为何使用短信发送警报

推送通知需要正常运行的应用、有效令牌、移动数据和正确的手机通知设置。电子邮件需要有人正在查看。短信只需要有信号的 SIM 卡。对于必须唤醒某人的呼叫，或必须送达给因互联网本身中断而离线的客户的通知，短信是依赖项最少的渠道。

警报短信应简短且结构清晰：系统、严重程度、发生了什么、到哪里查看。锁定屏幕上显示的是前四十个字符。

## 面向客户的事件通知

中断影响客户时，向受影响名单发送一条简短短信可以防止支持工单蜂拥而至。请批量发送，为每个事件使用一个群发任务标签；如果支持热线人手不多，请控制发送速率；问题解决后还要跟进通知。这些属于服务短信：不要加入优惠，除状态页面外也不要加入其他链接。

## 示例短信

发件人：OPSALERT："PROD db-eu-2 严重：复制延迟 340s（阈值 60s）。运行手册：ops.acme.com/r/db-lag"

```bash
curl https://api.smsmeteor.com/v1/messages \
  -H "Authorization: Bearer $SMSMETEOR_KEY" \
  -H "Idempotency-Key: incident-2291-page-primary" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+4915112345678",
    "from": "OPSALERT",
    "text": "PROD db-eu-2 严重：复制延迟 340s。运行手册：ops.acme.com/r/db-lag",
    "validity": 30,
    "window": { "quiet_hours": "bypass" },
    "campaign": "oncall"
  }'
```

## 常见问题

**我的监控工具可以通过 API 发送短信吗？** 任何能够使用自定义请求头发送 JSON POST 请求的工具都可以：使用 Bearer API 密钥将 webhook 操作指向 /v1/messages。无需插件或 SDK。

**静默时段会在夜间暂缓警报吗？** 如果将 window.quiet_hours 设为 bypass 并标记为事务型，就不会暂缓。警报在任何时段都会立即发出。

**检查状态反复波动时，如何避免重复呼叫？** 根据事件 ID 构建 Idempotency-Key。24 小时内使用同一个键重复请求时，系统会返回原始响应，不会再次发送。

**手机关机时会怎样？** 运营商会不断重试，直至有效期结束。请为警报设置较短有效期，使过时呼叫被丢弃，而不是数小时后才送达。

**可以向客户发送中断通知吗？** 可以，请向受影响的名单批量发送，并在需要时控制发送速率。通知应保持服务性质：说明哪些方面受到影响，以及可以到哪里关注更新。

**如何确保余额永远不会用尽？** 请设置低余额阈值：余额低于该值时会触发 balance.low webhook；您的监控系统也可以轮询余额端点。



---
来源：[HTML 页面](https://smsmeteor.com/zh/use-cases/alerts-and-incidents)。由 SMSMeteor 使用与页面相同的数据生成。[全站摘要](https://smsmeteor.com/zh/llms.txt)
