藥房跟蹤
1)為什麼要監視藥房
Uptime-用戶可以使用該服務的時間比例。這是可觀察性的「第一線」:立即註意到不可訪問性,網絡退化,DNS/TLS故障,路由問題或CDN。對於高負載和受監管的系統(fintech,iGaming),藥房直接影響收入,SLA執行和罰款風險。
2)術語和公式
可用性SLI:「SLI=(成功驗證/所有驗證)× 100%」。
SLO: 每個窗口的目標可用性(通常為28-30天),例如99。9%.
SLA:外部義務;始終≤內部SLO。
MTBF/MTTR:中斷之間的平均時間/平均恢復時間。
99.0% → ~ 432枚地雷
99.9% → ~ 43分鐘
99.99% → ~4.3分鐘
99.999%→ ~ 26秒
3)需要哪些檢查(黑匣子)
從外部點(不同區域/提供商)啟動,以「通過客戶的眼睛」查看服務。
1.ICMP (ping)-基本網路/節點可用性。快速但不反映業務成功。
2.TCP連接-端口在收聽?對經紀人/DB/SMTP有用。
3.HTTP/HTTPS-狀態代碼、標題、大小、重定向、第一個字節之前的時間。
4.TLS/證書-有效期,鏈,算法,SNI,協議。
5.DNS-A/AAAA/CNAME,NS健康,分發,DNSSEC。
6.gRPC-調用狀態,deadline,元數據。
7.WebSocket/SSE-握手,保持連接,消息回聲。
8.代理/路由/CDN-不同的PoP,高速緩存哈希樣本,地理變體。
9.交易合成腳本(點擊表):「登錄→搜索→存款(沙箱)」。
10.Heartbeat/cron監視-服務必須「脈動」(每N分鐘一次鉤子);沒有信號-警報。
- 將時間表放在更接近實際UX的位置(例如TTFB ≤ 300毫秒,總數≤ 2 c)。
- 檢查內容assert (關鍵字/JSON字段)以確保錯誤的「200 OK」不被視為成功。
- 通過獨立提供商和網絡(多跳、不同ASN)復制檢查。
4)白盒與服務健康
Liveness/Readiness為編排器取樣(流程是活的?準備接收流量嗎?)。
依賴性健康:DB,kesh,事件代理,外部API(付款/KYC/AML)。
幻燈片/降級:在出現問題時,輕輕關閉非關鍵路徑。
白色樣本不能代替外部檢查:該服務可以「內部健康」,但是由於DNS/TLS/路由,用戶無法使用。
5)地理和多區域性
從關鍵流量區域和關鍵依賴提供商附近運行合成產品。
法定人數:如果在≥ N區(例如三分之二的)發生故障以切斷局部異常,則記錄事件。
隊列閾值:重要部分(國家,VIP,電信運營商)的單個SLI/SLO。
6)警戒政策(噪音最低)
多區域+多樣本:僅在一致失敗時才尋呼機(例如HTTP和TLS同時≥ 2個區域)。
Debowns: N連續失敗或分頁前2-3分鐘的窗口。
- L1: on call(生產服務)。
- L2:網絡/平臺/安全取決於故障簽名。
- 自動關閉:在穩定的M成功檢查之後。
- 安靜的時鐘/讓步:對於非關鍵的國內服務-只有滴答聲,沒有尋呼機。
7)狀態頁面和通信
公共(客戶端)和私有(內部)狀態頁面。
自動事件來自合成+手動註釋。
消息模式: 發現-識別-影響-解決方法-ETA-解決-後槍口.
計劃窗口:提前聲明,例外情況與SLO分開計算。
8)外部依賴性核算
對於每個提供商(付款,KYC,郵件,CDN,雲),其檢查來自多個區域。
Failover路線:通過合成信號自動切換到替代提供商。
提供商級別的單個SLO和集成e2e-SLO。
與提供商談判SLA(狀態webhook,優先支持)。
9)Dashbords和關鍵小部件
具有檢查狀態的世界地圖(按類型:HTTP,DNS,TLS)。
發布/標記註釋事件的時間線。
P50/P95/P99 TTFB/TTL/latency按區域分列。
隊列可用(國家/提供商/設備)。
MTTR/MTBF,每月可用性預算的「停機時間」和「burn-down」趨勢。
失敗的最高原因(TLS-expiry,DNS解決,5xx,timeouts)。
10)事件過程(短暫場景)
1.觸發多區域/多類型警報。
2.值班人員確認,包括凍結發布,並通知所有者。
3.快速診斷:DNS/TLS/CDN狀態、最新版本、錯誤時間表。
4.旁路:改變路線,folback內容/提供商,啟用降級模式。
5.恢復:驗證合成/實際流量是綠色的。
6.狀態頁面通信;事件結束。
7.RCA和動作項目:更正,測試,Alerta,花花公子。
11) SLA/SLO報告
每月報告:按服務/地區、停機分鐘、MTTR、原因分列的藥房。
與SLA的匹配:貸款/補償(如果適用)。
季度評論:閾值主流化,合成分布,依賴性列表。
12)檢查模板(示例)
HTTP API驗證:- 方法:「GET/healthz/public」(無秘密)。
- Taymout:2 s,retry:1。
- 成功:「2xx」,標題「X-Apt-Version」,JSON字段「status」:「ok」。
- 截止日期>14天,有效鏈,TLS協議1.2+',正確的SNI。
- 響應時間≤ 100毫秒,A/AAAA記錄符合計劃,沒有SERVFAIL/REFUSED。
- Heartbeat:
Webhook '/beat/{service}每5分鐘一次;沒有連續2個信號-alert L2(背景任務/ETL)。
13)實施支票
- 多區域外部檢查(HTTP/TCP/DNS/TLS/深層腳本)。
- 管弦樂隊的白色readiness/liveness樣本。
- 分離關鍵/非關鍵路徑、退化的幻燈片標誌。
- Alert、升級和自動關閉中的法定人數和下跌。
- 公共和內部頁面狀態,消息模板。
- 針對外部提供商+自動故障切換的單獨檢查和SLO。
- Dashbords:地圖,時間線,percentils,停機分鐘,MTTR/MTBF。
- SLA/SLO和事件後RCA的定期報告。
14)常見錯誤
只有沒有NTTR/內容的 ping/端口在實際不可用時為「綠色」。
一個監測點是錯誤的正/負結論。
缺乏TLS/DNS控制-由於延遲/misconfig而導致突然停機。
多余的噪音:來自同一區域/檢查類型的單個故障的異常。
與更改無關-dashbords中缺少版本和標誌註釋。
不負責任的依賴-支付提供商下降,整體狀態為「綠色」。
15)結果
aptime跟蹤不僅是「picking URL」。它是一個來自真實區域的合成檢查系統,合理的無噪音異同,通過狀態頁進行透明通信,考慮外部依賴性和嚴格報告。正確構建的藥房監控可減少MTTR,保護SLA並保持用戶體驗的可預測性。