雲原生時代的可觀測系統最佳實戰

羅夢婷,蒲實

  • 出版商: 電子工業
  • 出版日期: 2023-09-01
  • 售價: $648
  • 貴賓價: 9.5$616
  • 語言: 簡體中文
  • 頁數: 320
  • ISBN: 7121460459
  • ISBN-13: 9787121460456
  • 相關分類: 雲端運算
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

在雲原生時代,可觀測性覆蓋了應用的全生命周期,是雲原生應用必備的工具之一。 本書基於筆者多年的雲原生可觀測性實踐經驗,從可觀測系統的演進和基礎理論開始介紹,結合案例對可觀測系統的開源架構、日誌、鏈路、監控、事件和診斷等關鍵要素的系統設計方案及問題解決思路進行闡述,幫助讀者瞭解在業務實踐中可觀測性對雲原生應用有哪些巨大助力。 本書適合雲原生應用開發人員、架構師、運維人員、測試人員,以及雲計算相關從業人員閱讀。

目錄大綱

第1章 可觀測性概述 1
1.1 可觀測系統的演進 1
1.1.1 系統架構的演進 1
1.1.2 可觀測性和監控的關系 6
1.1.3 可觀測性技術的現狀 13
1.2 可觀測性數據 20
1.2.1 可觀測性數據的類型 20
1.2.2 實戰場景下運維人員觀測的數據 24
1.2.3 實戰場景下研發人員觀測的數據 27
1.3 可觀測性技術的價值 29
1.3.1 發現系統故障 30
1.3.2 預測系統故障和容量 31
1.3.3 提供事故分析報告 33
1.3.4 預測變更的影響 35
第2章 系統架構 38
2.1 架構設計的基本原則 38
2.1.1 統一的數據語義 39
2.1.2 統一的數據處理平臺 46
2.1.3 統一的可視化系統 48
2.2 平臺基礎架構設計實戰 53
2.2.1 實戰一:基於開源Grafana+Prometheus+Tempo+Loki的解決方案 53
2.2.2 實戰二:基於開源Elastic Stack的解決方案 71
2.2.3 實戰三:開源架構優化之解決大規模數據計算問題 81
第3章 日誌系統實戰 91
3.1 日誌模型的設計 91
3.2 日誌系統的選型實戰 95
3.2.1 全文檢索的首選:Elasticsearch實戰 95
3.2.2 新生代列式存儲:ClickHouse實戰 101
3.3 Elasticsearch調優實戰指南 104
3.3.1 實戰一:Elasticsearch索引模塊及配置Index、Shard、Segment 105
3.3.2 實戰二:合理使用Elasticsearch數據字段,配置pipeline和mapping 113
3.3.3 實戰三:在大規模系統中選擇字段存儲方式 121
3.3.4 實戰四:PB級別數據量場景下的Elasticsearch調優 126
3.3.5 實戰五:降本增效,預測Elasticsearch集群的規模並控製成本 130
第4章 鏈路追蹤系統實戰 135
4.1 設計鏈路追蹤模型 135
4.1.1 鏈路追蹤的發展歷程 135
4.1.2 Span語義規範 138
4.2 系統選型實戰 141
4.2.1 OpenTelemetry調用鏈實戰 141
4.2.2 Spring Cloud Sleuth實戰 157
4.2.3 Istio實戰 169
4.2.4 Filebeat採集方案實戰 172
4.2.5 Elasticsearch存儲實戰 176
4.3 鏈路追蹤系統實戰場景 181
4.3.1 實戰一:頭採、尾採、單元採樣的區別與技術難點 181
4.3.2 實戰二:在萬億級調用量下應如何自適應採樣 185
4.3.3 實戰三:陳舊系統如何接入全鏈路追蹤系統 188
第5章 指標系統實戰 193
5.1 指標採集模型的設計 193
5.1.1 指標數據的分類 193
5.1.2 指標數據的語義規範 197
5.2 系統選型實戰 200
5.2.1 OpenTelemetry指標監控實戰 200
5.2.2 Spring Boot Actuator監控實戰 216
5.2.3 自研指標監控實戰 226
5.2.4 內核監控之eBPF實戰 231
5.3 指標系統實戰場景 238
5.3.1 實戰一:如何保證海量數據上報的實時性和完整性 238
5.3.2 實戰二:當陷入告警風暴時應該如何實現告警降噪 240
5.3.3 實戰三:使用Filebeat採集指標數據,如何在服務端去重 244
第6章 事件中心實戰 251
6.1 事件中心的設計 251
6.1.1 事件驅動架構概述 251
6.1.2 事件模型的設計 254
6.1.3 事件中心的設計及實戰 256
6.2 高可用事件中心實戰 258
第7章 Profile診斷實戰 261
7.1 線上分析工具 261
7.1.1 JDK原生工具 261
7.1.2 Java線上診斷工具 266
7.1.3 網絡請求分析工具Wireshark 272
7.2 線上問題實時分析實戰 275
7.2.1 實戰一:當線上業務內存溢出時如何定位 276
7.2.2 實戰二:當線上業務CPU的使用率較高時如何定位 281
7.2.3 實戰三:當線上業務I/O異常時如何定位 283
7.2.4 實戰四:當接口請求響應變慢時應如何定位 285
7.3 線上問題處理流程實戰 286
第8章 可觀測性的探索 289
8.1 DevOps與可觀測性 289
8.1.1 服務依賴關系 289
8.1.2 瞭解新版本的變化 293
8.1.3 全鏈路壓力測試不可或缺的可觀測性 296
8.1.4 利用混沌工程及時發現問題 298
8.2 AIOps與可觀測性 302
8.2.1 如何選擇合適的數據和算法 303
8.2.2 企業級場景下AIOps落地的難點與經驗 306