云原生時(shí)代的可觀(guān)測(cè)系統(tǒng)最佳實(shí)戰(zhàn)
定 價(jià):108 元
- 作者:羅夢(mèng)婷
- 出版時(shí)間:2023/9/1
- ISBN:9787121460456
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP393.027
- 頁(yè)碼:320
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
在云原生時(shí)代,可觀(guān)測(cè)性覆蓋了應(yīng)用的全生命周期,是云原生應(yīng)用必備的工具之一。 本書(shū)基于筆者多年的云原生可觀(guān)測(cè)性實(shí)踐經(jīng)驗(yàn),從可觀(guān)測(cè)系統(tǒng)的演進(jìn)和基礎(chǔ)理論開(kāi)始介紹,結(jié)合案例對(duì)可觀(guān)測(cè)系統(tǒng)的開(kāi)源架構(gòu)、日志、鏈路、監(jiān)控、事件和診斷等關(guān)鍵要素的系統(tǒng)設(shè)計(jì)方案及問(wèn)題解決思路進(jìn)行闡述,幫助讀者了解在業(yè)務(wù)實(shí)踐中可觀(guān)測(cè)性對(duì)云原生應(yīng)用有哪些巨大助力。 本書(shū)適合云原生應(yīng)用開(kāi)發(fā)人員、架構(gòu)師、運(yùn)維人員、測(cè)試人員,以及云計(jì)算相關(guān)從業(yè)人員閱讀。
羅夢(mèng)婷,畢業(yè)于廣東海洋大學(xué)電子信息工程專(zhuān)業(yè),先后任職于九聯(lián)、華潤(rùn)、騰訊等大型企業(yè),參與騰訊云微服務(wù)平臺(tái)的核心研發(fā)工作,擔(dān)任可觀(guān)測(cè)系統(tǒng)技術(shù)負(fù)責(zé)人,在云原生、物聯(lián)網(wǎng)及AI等技術(shù)領(lǐng)域具有成熟的架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),先后主導(dǎo)過(guò)多個(gè)大型產(chǎn)業(yè)數(shù)字化項(xiàng)目的落地。蒲實(shí),畢業(yè)于復(fù)旦大學(xué)軟件學(xué)院,目前就職于騰訊,負(fù)責(zé)騰訊云微服務(wù)平臺(tái)TSF可觀(guān)測(cè)性相關(guān)產(chǎn)品功能的研發(fā),在可觀(guān)測(cè)性、微服務(wù)等技術(shù)領(lǐng)域具有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),致力于打造高穩(wěn)定性、高可用性的云原生可觀(guān)測(cè)性產(chǎn)品。
第1章 可觀(guān)測(cè)性概述 1
1.1 可觀(guān)測(cè)系統(tǒng)的演進(jìn) 1
1.1.1 系統(tǒng)架構(gòu)的演進(jìn) 1
1.1.2 可觀(guān)測(cè)性和監(jiān)控的關(guān)系 6
1.1.3 可觀(guān)測(cè)性技術(shù)的現(xiàn)狀 13
1.2 可觀(guān)測(cè)性數(shù)據(jù) 20
1.2.1 可觀(guān)測(cè)性數(shù)據(jù)的類(lèi)型 20
1.2.2 實(shí)戰(zhàn)場(chǎng)景下運(yùn)維人員觀(guān)測(cè)的數(shù)據(jù) 24
1.2.3 實(shí)戰(zhàn)場(chǎng)景下研發(fā)人員觀(guān)測(cè)的數(shù)據(jù) 27
1.3 可觀(guān)測(cè)性技術(shù)的價(jià)值 29
1.3.1 發(fā)現(xiàn)系統(tǒng)故障 30
1.3.2 預(yù)測(cè)系統(tǒng)故障和容量 31
1.3.3 提供事故分析報(bào)告 33
1.3.4 預(yù)測(cè)變更的影響 35
第2章 系統(tǒng)架構(gòu) 38
2.1 架構(gòu)設(shè)計(jì)的基本原則 38
2.1.1 統(tǒng)一的數(shù)據(jù)語(yǔ)義 39
2.1.2 統(tǒng)一的數(shù)據(jù)處理平臺(tái) 46
2.1.3 統(tǒng)一的可視化系統(tǒng) 48
2.2 平臺(tái)基礎(chǔ)架構(gòu)設(shè)計(jì)實(shí)戰(zhàn) 53
2.2.1 實(shí)戰(zhàn)一:基于開(kāi)源Grafana+Prometheus+Tempo+Loki的解決方案 53
2.2.2 實(shí)戰(zhàn)二:基于開(kāi)源Elastic Stack的解決方案 71
2.2.3 實(shí)戰(zhàn)三:開(kāi)源架構(gòu)優(yōu)化之解決大規(guī)模數(shù)據(jù)計(jì)算問(wèn)題 81
第3章 日志系統(tǒng)實(shí)戰(zhàn) 91
3.1 日志模型的設(shè)計(jì) 91
3.2 日志系統(tǒng)的選型實(shí)戰(zhàn) 95
3.2.1 全文檢索的首選:Elasticsearch實(shí)戰(zhàn) 95
3.2.2 新生代列式存儲(chǔ):ClickHouse實(shí)戰(zhàn) 101
3.3 Elasticsearch調(diào)優(yōu)實(shí)戰(zhàn)指南 104
3.3.1 實(shí)戰(zhàn)一:Elasticsearch索引模塊及配置Index、Shard、Segment 105
3.3.2 實(shí)戰(zhàn)二:合理使用Elasticsearch數(shù)據(jù)字段,配置pipeline和mapping 113
3.3.3 實(shí)戰(zhàn)三:在大規(guī)模系統(tǒng)中選擇字段存儲(chǔ)方式 121
3.3.4 實(shí)戰(zhàn)四:PB級(jí)別數(shù)據(jù)量場(chǎng)景下的Elasticsearch調(diào)優(yōu) 126
3.3.5 實(shí)戰(zhàn)五:降本增效,預(yù)測(cè)Elasticsearch集群的規(guī)模并控制成本 130
第4章 鏈路追蹤系統(tǒng)實(shí)戰(zhàn) 135
4.1 設(shè)計(jì)鏈路追蹤模型 135
4.1.1 鏈路追蹤的發(fā)展歷程 135
4.1.2 Span語(yǔ)義規(guī)范 138
4.2 系統(tǒng)選型實(shí)戰(zhàn) 141
4.2.1 OpenTelemetry調(diào)用鏈實(shí)戰(zhàn) 141
4.2.2 Spring Cloud Sleuth實(shí)戰(zhàn) 157
4.2.3 Istio實(shí)戰(zhàn) 169
4.2.4 Filebeat采集方案實(shí)戰(zhàn) 172
4.2.5 Elasticsearch存儲(chǔ)實(shí)戰(zhàn) 176
4.3 鏈路追蹤系統(tǒng)實(shí)戰(zhàn)場(chǎng)景 181
4.3.1 實(shí)戰(zhàn)一:頭采、尾采、單元采樣的區(qū)別與技術(shù)難點(diǎn) 181
4.3.2 實(shí)戰(zhàn)二:在萬(wàn)億級(jí)調(diào)用量下應(yīng)如何自適應(yīng)采樣 185
4.3.3 實(shí)戰(zhàn)三:陳舊系統(tǒng)如何接入全鏈路追蹤系統(tǒng) 188
第5章 指標(biāo)系統(tǒng)實(shí)戰(zhàn) 193
5.1 指標(biāo)采集模型的設(shè)計(jì) 193
5.1.1 指標(biāo)數(shù)據(jù)的分類(lèi) 193
5.1.2 指標(biāo)數(shù)據(jù)的語(yǔ)義規(guī)范 197
5.2 系統(tǒng)選型實(shí)戰(zhàn) 200
5.2.1 OpenTelemetry指標(biāo)監(jiān)控實(shí)戰(zhàn) 200
5.2.2 Spring Boot Actuator監(jiān)控實(shí)戰(zhàn) 216
5.2.3 自研指標(biāo)監(jiān)控實(shí)戰(zhàn) 226
5.2.4 內(nèi)核監(jiān)控之eBPF實(shí)戰(zhàn) 231
5.3 指標(biāo)系統(tǒng)實(shí)戰(zhàn)場(chǎng)景 238
5.3.1 實(shí)戰(zhàn)一:如何保證海量數(shù)據(jù)上報(bào)的實(shí)時(shí)性和完整性 238
5.3.2 實(shí)戰(zhàn)二:當(dāng)陷入告警風(fēng)暴時(shí)應(yīng)該如何實(shí)現(xiàn)告警降噪 240
5.3.3 實(shí)戰(zhàn)三:使用Filebeat采集指標(biāo)數(shù)據(jù),如何在服務(wù)端去重 244
第6章 事件中心實(shí)戰(zhàn) 251
6.1 事件中心的設(shè)計(jì) 251
6.1.1 事件驅(qū)動(dòng)架構(gòu)概述 251
6.1.2 事件模型的設(shè)計(jì) 254
6.1.3 事件中心的設(shè)計(jì)及實(shí)戰(zhàn) 256
6.2 高可用事件中心實(shí)戰(zhàn) 258
第7章 Profile診斷實(shí)戰(zhàn) 261
7.1 線(xiàn)上分析工具 261
7.1.1 JDK原生工具 261
7.1.2 Java線(xiàn)上診斷工具 266
7.1.3 網(wǎng)絡(luò)請(qǐng)求分析工具Wireshark 272
7.2 線(xiàn)上問(wèn)題實(shí)時(shí)分析實(shí)戰(zhàn) 275
7.2.1 實(shí)戰(zhàn)一:當(dāng)線(xiàn)上業(yè)務(wù)內(nèi)存溢出時(shí)如何定位 276
7.2.2 實(shí)戰(zhàn)二:當(dāng)線(xiàn)上業(yè)務(wù)CPU的使用率較高時(shí)如何定位 281
7.2.3 實(shí)戰(zhàn)三:當(dāng)線(xiàn)上業(yè)務(wù)I/O異常時(shí)如何定位 283
7.2.4 實(shí)戰(zhàn)四:當(dāng)接口請(qǐng)求響應(yīng)變慢時(shí)應(yīng)如何定位 285
7.3 線(xiàn)上問(wèn)題處理流程實(shí)戰(zhàn) 286
第8章 可觀(guān)測(cè)性的探索 289
8.1 DevOps與可觀(guān)測(cè)性 289
8.1.1 服務(wù)依賴(lài)關(guān)系 289
8.1.2 了解新版本的變化 293
8.1.3 全鏈路壓力測(cè)試不可或缺的可觀(guān)測(cè)性 296
8.1.4 利用混沌工程及時(shí)發(fā)現(xiàn)問(wèn)題 298
8.2 AIOps與可觀(guān)測(cè)性 302
8.2.1 如何選擇合適的數(shù)據(jù)和算法 303
8.2.2 企業(yè)級(jí)場(chǎng)景下AIOps落地的難點(diǎn)與經(jīng)驗(yàn) 306