通过 LINE 向值班工程师发送格式化的运维告警
何时使用: 你想让 Sentry/Prometheus 告警通过整洁的 Flex 卡片在 LINE 上通知特定工程师,而不是一堆文字。
前置条件
- LINE 官方账号 + 频道访问令牌 — developers.line.biz → Channel → Messaging API → Issue token
- 工程师的 userId(来自你的 bot webhook 事件) — 从
follow或message事件中捕获 userId,保存到你的用户库
步骤
-
设计 Flex 气泡为 Sentry 告警设计一个 Flex Message 气泡:标题栏(问题标题)、正文(事件计数、发布版本、受影响用户)、按钮(在 Sentry 中打开、确认)。✓ 已复制→ Claude 可以验证的有效 Flex JSON
-
推送给值班用户将此 Flex 消息推送给 userId U1234567890abcdef,altText 为 'Sentry alert: <title>'。✓ 已复制→ 返回 messageId,无 400 错误
-
处理用户屏蔽 bot 的备选方案如果推送失败,返回 400(用户已屏蔽),改为群发给备选值班用户,并记录原始失败。✓ 已复制→ 优雅的备选路径
结果: 在底层事件发生 2 秒内,在 LINE 中收到经过精心打磨、易于行动的告警。
注意事项
- 需要 altText 且不超过 400 个字符 — 没有 altText 推送会无声地失败 — 始终包含 altText,控制在 400 字以内总结 Flex 内容
- 推送给未添加 bot 为好友的用户会返回 400 — 只推送给从实际 webhook 事件中捕获的 userId,不能随意猜测