在上周,我们分享了的前九条规律,接下来我们一起来看看后续的6条。

安全性与证书监控

准则 10:监控 SSL/TLS 证书过期,并设置 30 天提前告警

证书过期带来的不是性能的渐进式恶化,而是瞬间、彻底的瘫痪。每一个 HTTPS 客户端都会拒绝连接,重试无济于事,也没有任何降级备用方案。

重要性:当一个被广泛使用的根证书颁发机构过期时,链接到该根证书的 API 可能会在数百万台设备上同时发生 TLS 握手失败且毫无征兆。证书过期是 API 运维中最可预防的停机原因之一,但它依然是最常见的原因之一。

测量对象:距离过期的天数、证书链有效性、OCSP 吊销状态以及协议版本。

如何配置:配置分级告警:

60 天: 提示信息——加入更新队列

30 天: 警告——验证自动续期是否正常工作

14 天: 严重——若未续期则升级处理人员级别

7 天: 紧急——呼叫值班人员并阻止部署

准则 11:使用真实 Token 测试需要身份验证的端点

只监控公开端点就像只测试一栋建筑的大门,并假定里面的每个房间都完好无损。

重要性:大规模的 API 认证故障曾导致合法的 API Key 返回 403 Forbidden,而公开端点依然保持正常。任何只请求公开端点的监控在影响所有已认证用户的实时故障期间都无法发现问题。

测量对象:完整的认证流程——包括 OAuth 2.0 Token 授予、API Key 认证和 JWT 验证——使用真实的凭证。

如何配置:使用实际的认证方法配置监控,并对认证步骤和认证后的响应同时进行断言。如果你的用户无法登录,你的监控系统应该第一个知道。

准则 12:针对非预期的重定向和协议降级设置告警

一个 HTTPS 端点悄然重定向到 HTTP 属于安全事件。一个非预期的 301 重定向链要么是配置错误,要么是受到了挟持。

重要性:协议降级和非预期的重定向链标志着网络层或配置层存在问题,而可用性检查会完全忽略这一点。当用户报告感觉不对劲时,这种配置错误可能已经持续了数小时。

测量对象:重定向链(跳数和最终目的地)、协议降级(HTTPS 到 HTTP),以及本应返回 200 的端点上出现的非预期 301/302 响应。

如何配置:配置监控工具使其在遇到非预期重定向时直接报错,而不是悄然跟随重定向。对最终的 URL 和协议进行断言。被监控工具默认吞掉的重定向,就是被监控隐藏掉的故障。

运维成熟度

准则 13:将告警整合到事件管理工作流中

发送到无人查收的电子邮箱的告警不叫监控,那只是没人阅读的审计日志。

重要性:谷歌的 SRE 著作中指出,如果团队在每班次收到超过 5 个不可操作的告警(Non-actionable Alerts),他们会在 2 到 3 个月内开始忽略所有告警。告警疲劳不仅会减缓响应速度,还会抹杀你在准则 1 到 12 中建立的所有价值。一个精准触发的阈值如果发送到了无人关注的 Slack 频道,将毫无价值。

测量对象:告警送达的可靠性——告警是否在预期的时间内送达了正确的人?

如何配置:将告警路由到你的值班系统(PagerDuty、Opsgenie 或同等工具)并设置多级升级机制。使用 Slack 或 Teams 进行可视化通知,但绝不能将其作为唯一渠道。将每个班次的可操作告警控制在 5 个以下。如果你的误报率超过 20%,说明你的阈值是在早已不适用的流量模式下设置的,这是需要重新审视准则 15 的信号。

准则 14:监控第三方 API 依赖

你的 API SLA(服务等级协议)强韧度取决于你最脆弱的上游依赖。如果你的结账流程调用了支付 API,你的邮件服务调用了事务性消息服务,那么无论你是否拥有它们,它们都是你可靠性表面的一部分。

重要性:调查显示(Gartner®, 2024),企业平均管理超过 15,000 个 API,而监控覆盖率通常不足生产端点的 40%。你的盲区几乎肯定存在于你的依赖项中——当关键的第三方 API 发生性能恶化时,你需要在它级联引发你自己的 SLA 违约之前知晓。由于对依赖项缺乏可见性而导致的下游故障,是最难向客户解释的故障类型。

测量对象:你的服务所依赖的每个第三方 API 的可用性和延迟,并与你自己的端点分开追踪。

如何配置:梳理你的依赖关系,为每个关键的外部端点设置专用的监控。配置告警抑制,以便当下游依赖崩溃时,你收到的是一条关于该依赖的特定告警,而不是上百条关于你自己端点因超时而报错的级联告警。

准则 15:每季度审查并调整告警阈值

在 1 月份表现完美的阈值,到了 6 月份可能会因流量翻倍而变成一场告警风暴。

重要性:API 是动态的。代码在变,基础设施在扩容,用户行为也在更替。监控不是一项“设置后即可高枕无忧”的任务。一个不随系统演进而调整的监控系统,会在几个月内因为不断产生噪点或变得过于宽松而失去效用。

测量对象:告警量、误报率、当前流量模式下的 P95/P99 基线。

如何配置:在团队日历中固定每季度的审查流程。分析过去 90 天内触发告警最多的前 5 个端点,将当前的 P95/P99 延迟与现有的告警阈值进行对比,并根据当前的流量模式调优阈值。记录变更以备下一个审查周期使用。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐