---
# System prepended metadata

title: Table of Contents
tags: [Observability-Engineering]

---

Table of Contents
======================
###### tags: `Observability-Engineering`

前言
序言

------
Part I. 通往可觀測性之路
1. 什麼是可觀測性？                    
    - 可觀測性的數學定義                  
    - 將可觀測性應用於軟體系統            
    - 關於軟體可觀測性的錯誤認知            
    - 為什麼現在可觀測性很重要            
        - 這真的是最好的方式嗎？             
        - 為什麼指標和監控不夠用？             
    - 以指標和可觀測性進行除錯的區別        
        - 基數的作用                   
        - 維度的作用                   
    - 利用可觀測性進行除錯                
    - 現代化系統的可觀測性                  
    - 結論                            

2. 可觀測性與監控之間的除錯實踐有何不同？   
    - 監控資料如何用在除錯
        - 使用儀表板來進行故障排除
        - 用直覺來排除故障的侷限性
        - 傳統監控基本上是被動的
    - 可觀測性如何協助更好的除錯
    - 結論

3. 從沒有可觀測性下的進行擴展中學到的教訓
    - 介紹Parse服務
    - 在Parse上的系統擴展
    - 向現代化系統的演進
    - 向現代化實踐的演進
    - 在Parse上的實踐轉變
    - 結論

4. 可觀測性與 DevOps、SRE 和 Cloud Native 的關聯
    - Cloud Native、DevOps 和 SRE 簡介
    - 可觀測性：從以前到現在的除錯方式
    - 可觀測性增強DevOps和SRE實踐
    - 結論 

------
Part II. 可觀測性的基本原理

5. 結構化事件是可觀測性的基礎
    - 使用結構化事件進行除錯
    - 以指標為基礎的侷限性
    - 以傳統日誌為基礎的限制
        - 非結構化日誌
        - 結構化日誌
    - 在除錯中有用的事件特性
    - 結論

6. 將事件串連成追蹤
    - 分散式追蹤及其現在的重要性
    - 追蹤的組成部分
    - 以艱苦方式進行測量追蹤
    - 在追蹤跨度中添加自定義資訊
    - 將事件串連成追蹤
    - 結論

7. 使用OpenTelemetry進行儀表測量
    - 測量的簡介
    - 開放式測量標準
    - 使用程式碼範例進行測量
        - 從自動化儀表測量工具開始
        - 添加自定義測量
        - 將測量資料發送到後端系統
    - 結論

8. 分析事件以實現可觀測性
    - 從已知條件進行排錯
    - 從基本原理進行排錯
    - 使用核心分析循環
    - 自動化核心分析循環中的暴力部分
    - AIOps的的誤導性承諾
    - 結論

9. 可觀測性與監控如何結合?
    - 什麼情境適合監控
    - 什麼情境適合可觀測性
    - 系統與軟體的考量
    - 評估你的組織需求
        - 例外情況：無法忽略的基礎設施監控
        - 實際案例
    - 結論

-----
Part III. 團隊的可觀測性

10. 在您的團隊中應用可觀測性實踐  
    - 加入社群  
    - 從最大的痛點開始  
    - 購買而不是建立  
    - 逐步擴展您的測量  
    - 尋找利用現有努力的機會  
    - 為最艱難的最後一次推動做準備  
    - 結論  
    
11. 可觀測性驅動開發  
    - 以測試驅動開發為例  
    - 可觀測性在開發週期中 
    - 確定何處有問題
    - 微服務時代下的除錯方法  
    - 測量如何驅動可觀測性  
    - 向左轉移可觀測性  
    - 利用可觀測性加快軟體交付速度  
    - 結論  

12. 使用服務水準目標來提高可靠性
    - 傳統的監控方法會導致危險的警報疲勞
    - 閾值警報僅適用於已知的未知情況
    - 用戶體驗是重要的引導指標
    - 什麼是服務水準目標？
        - 使用SLO提供可靠的警報
        - 改變文化以實現基於SLO的警報：案例研究
    - 結論
    
13. 基於 SLO 的警報行動和除錯
    - 在您的錯誤預算用盡之前發出警報
    - 將時間定為滑動窗口
    - 使用預測警報進行預測
        - 預測窗口
        - 基準窗口
        - 對 SLO 燃燒警報採取行動
    - 使用可觀測資料與時間序列資料來定義SLO的差異

14. 可觀測性和軟體供應鏈
    - 為什麼Slack需要可觀測性
    - 測量：共享客戶端套件和維度
    - 案例研究：實現供應鏈
        - 通過工具理解前後關係
        - 將可行的警報嵌入
        - 理解發生了什麼變化
    - 結論

-----
Part IV. 規模化的可觀測能力

15. 購買和自己構建之間的抉擇以及投資報酬率
    - 如何分析觀測性的投資報酬率?
    - 自己構建的真實成本
        - 使用“免費”軟體的隱藏成本
        - 自己構建的好處
        - 自己構建的風險
    - 購買商業軟體的真實成本
        - 商業軟體的隱藏財務成本
        - 商業軟體的隱藏非財務成本
        - 購買商業軟體的好處
        - 購買商業軟體的風險
    - 購買與建立並非只能擇一
    - 結論


16. 高效資料存儲
    - 實現可觀測性的功能要求
        - 時序資料庫不足以滿足可觀測性
        - 其他可能的資料存儲方案
        - 資料存儲策略
    - 案例研究：實現Honeycomb的實施
        - 按時間進行資料分區
        - 在段中按列進行資料存儲
        - 執行查詢工作量
        - 查詢追蹤資料
        - 即時查詢資料
        - 分層儲存以達到經濟實惠
        - 通過平行處理使其更快
        - 處理高基數
        - 擴展和可持續性策略
        - 建立自己的高效資料存儲的注意事項
    - 結論

17. 抽樣: 讓觀測性存儲夠便宜而且很精準
    - 抽樣以精煉資料收集
    - 使用不同的取樣方法
        - 恆定機率抽樣
        - 基於最近的傳輸量進行抽樣
        - 基於事件內容（關鍵字）的取樣
        - 結合每個關鍵字和歷史方法
        - 選擇動態抽樣選項
        - 何時對跟踪進行抽樣決定
    - 將抽樣策略轉化為程式碼
        - 基礎案例
        - 固定速率抽樣
        - 記錄抽樣率
        - 一致抽樣
        - 目標速率抽樣
        - 擁有多個靜態抽樣率
        - 按關鍵字和目標率進行抽樣
        - 使用任意多個關鍵字的動態速率抽樣
        - 組合起來：按鍵目標速率的頭部和尾部抽樣
    - 結論

18. 運用流程流水線進行遙測管理
    - 使用流水線管理遙測的特性
        - 路由
        - 安全性和合規性
        - 工作負載隔離
        - 資料緩衝
        - 容量管理
        - 資料篩選和擴充
        - 資料轉換
        - 確保資料品質和一致性
    - 管理遙測流水線：解剖
    - 管理遙測流水線時的挑戰
        - 效能
        - 正確性
        - 可用性
        - 可靠性
        - 隔離
        - 資料新鮮度
    - 使用案例：Slack 的遙測管理
        - 指標彙總
        - 日誌和追蹤事件
    - 開源替代方案
    - 管理遙測管道：自行構建或買入
    - 結論

-----
Part V. 推廣可觀測性文化

19. 可觀測性的商業案例
    - 引入變革的響應式方法
    - 可觀測性的投資回報
    - 以主動方法引入變革
    - 將可觀測性作為實踐引入
    - 使用合適的工具
        - 測離
        - 資料存儲和分析
        - 向團隊推廣工具
    - 了解何時擁有足夠的可觀測性
    - 結論

20. 可觀測性的利益相關者和盟友
    - 認識非工程的可觀測需求
    - 在實踐中創造可觀測性盟友
        - 客戶服務團隊
        - 客戶成功及產品團隊
        - 銷售及執行團隊
    - 使用可觀測性工具與商業智能工具
        - 查詢執行時間
        - 準確度
        - 新鮮度
        - 結構
        - 時間窗口
        - 短暫性
    - 如何將可觀測性和BI工具一起使用
    - 結論

21. 關於可觀測性的成熟度模型
    - 關於成熟度模型的說明
    - 為什麼可觀測性需要一個成熟度模型
    - 關於可觀測性成熟度模型(OMM)
    - 在OMM中有引用的能力
        - 彈性地應對系統故障
        - 交付高質量的代碼
        - 管理複雜性和技術債務
        - 按可預測的節奏進行發布
        - 了解用戶行為
    - 如何在組織中使用OMM
    - 結論

22. 接下來去哪裡？
    - 過去與現在的可觀測性
    - 附加資源
    - 對可觀測性的發展趨勢預測

索引