十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OneUptime 值班通知电话号码白名单配置指南:SMS 与电话告警送达保障

OneUptime 值班通知电话号码白名单配置指南:SMS 与电话告警送达保障 OneUptime 值班通知电话号码白名单配置指南SMS 与电话告警送达保障【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime导读OneUptime 通过 Twilio 等渠道向值班工程师On-Call发送短信SMS与电话告警。为保障重要告警不被运营商、企业防火墙或手机安全软件拦截需要将 OneUptime 实际用于发送通知的号码加入白名单。本文以仓库内置文档 phone-number-whitelist.md 为骨架完整列出需要放行的号码并结合源码深入讲解号码在通知链路中的真实作用、号码匹配逻辑与验证格式帮助你在自托管或云版本下稳定收到每一次值班告警。一、为什么值班通知需要号码白名单OneUptime 的告警通知体系会以多种方式触达值班人员包括短信SMS发送告警摘要与快捷操作链接电话Call通过 Twilio 拨打值班工程师的电话并播放语音消息邮件、推送等其他渠道不在本文讨论范围。从源码结构看短信与电话的发送统一收敛在 CallService.ts 中其makeCall方法接收CallRequest与可选的自定义TwilioConfig再交给底层 Twilio 通道执行。也就是说无论通知是短信还是电话实际对外呈现的发件人号码/主叫号码都来自 Twilio 账户中的已配置号码。由于短信在部分运营商、垃圾短信拦截服务以及企业安全策略下可能被误判OneUptime 官方运维上建议将通知号码加入白名单联系人信任列表确保接收方设备与服务商侧不会屏蔽这些号码。二、需要加入白名单的电话号码根据 phone-number-whitelist.md 的明确说明请将以下两个号码加入你的白名单电话号码地区13022917020美国US447427817020英国UK提示号码以开头表示国际格式ITU-T E.123。如果你使用的是第三方短信/电话服务或自定义 Twilio 配置自托管场景实际发件号码可能不同应以你在 Twilio 配置 中填写的号码为准上表两个号码对应 OneUptime 官方云服务所使用的通知号码。将上述号码加入白名单后即可确保不会错过任何重要值班通知——例如监控告警、事件升级、来电策略中的电话转接等。三、号码背后的实现从源码理解白名单的意义3.1 Twilio 配置模型在 OneUptime 中短信与电话的发送能力由TwilioConfig描述定义见 TwilioConfig.tsimport Phone from ../Phone; export default interface TwilioConfig { accountSid: string; authToken: string; primaryPhoneNumber: Phone; secondaryPhoneNumbers: Phone[]; }字段说明accountSid/authTokenTwilio 账户凭证用于鉴权primaryPhoneNumber主号码作为默认的发件人/主叫号码secondaryPhoneNumbers备用号码列表用于多地区发送时的就近选择。CallService.makeCall在转发给通知通道时会把该配置序列化并随请求下发见 CallService.ts因此白名单中的号码正是这类配置中实际启用的号码。3.2 主备号码的选取逻辑Phone.ts 中实现了pickPhoneNumberToSendSMSOrCallFrom静态方法负责决定用哪个号码发送归一化号码去掉前缀后比较国家/地区代码取前两位若收件人号码与primaryPhoneNumber的国家代码一致则使用主号码否则在secondaryPhoneNumbers中查找国家代码一致的号码若都不匹配回退使用主号码。这解释了为什么文档会同时给出 US 与 UK 两个号码不同地区的收件人会优先收到本地号码发来的通知从而降低被运营商误判为国际骚扰短信的概率。因此建议你在白名单中同时放行这两个号码以覆盖跨地区值班场景。3.3 号码格式校验同文件 Phone.ts 中号码在构造时会经过正则校验const re: RegExp /^[]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,7}$/;即基于 ITU-T E.123 国际格式可选、括号与分隔符不满足格式的号码会抛出BadDataException。这意味着你在 OneUptime 中填写的任何号码包括收件人手机号与发件号码都应遵循该国际格式例如13022917020。四、如何在 OneUptime 中配置你的电话号码白名单针对的是发件方号码而要让告警真正送达接收方侧还需完成以下配置登录 OneUptime 控制台进入用户设置中的通知设置Notification Settings添加并验证你的手机号码使用国际格式如8613xxxxxxxxx确保短信与电话通知渠道处于开启状态在值班日程On-Call Schedule与升级策略Escalation Policy中将该用户指派到对应时间段。配合上文的白名单号码即可形成完整的送达链路告警事件 → 升级策略 → 值班日程 → Twilio 号码拨出/发送 → 接收方手机白名单放行 → 值班工程师接听/阅读。五、相关文档与扩展阅读完整的来电转接配置流程含 Twilio 账户创建、号码购买、升级规则与语音提示incoming-call-policy.md若你需要将 OneUptime 探针的出站 IP 加入防火墙白名单可参考 ip-addresses.md两者是不同类型的白名单前者是号码信任后者是网络层放行底层短信/电话发送服务实现CallService.ts号码类型定义与校验/选取逻辑Phone.ts 与 TwilioConfig.ts。六、常见问题排查现象排查方向收不到短信/电话确认13022917020、447427817020已加入手机或运营商白名单确认通知渠道已开启且手机号已验证只收到部分地区的通知检查 Twilio 配置中主号码与备用号码是否覆盖目标地区参考 3.2 节的选取逻辑自托管仍收不到通知确认自定义 Twilio 配置中的accountSid、authToken与号码填写正确并核对 TwilioConfig.ts 字段格式号码保存失败检查号码是否符合 ITU-T E.123 国际格式参考 3.3 节校验规则结语白名单配置虽然只有两个号码却是保障值班告警不丢失的关键一环。理解号码在 OneUptime 通知链路中的选取逻辑Phone.ts与 Twilio 配置模型TwilioConfig.ts能帮助你更从容地应对跨地区值班、运营商拦截与自托管定制等场景确保每一次重要告警都能准确触达当班工程师。【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址: https://gitcode.com/GitHub_Trending/on/oneuptime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表