監(jiān)控平臺解密:IT系統(tǒng)風險感知和洞察
定 價:102 元
- 作者:姜才康 等
- 出版時間:2022/5/1
- ISBN:9787121433771
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP277.2
- 頁碼:308
- 紙張:
- 版次:01
- 開本:16開
本書采用循序漸進的講解方式,介紹了如何從零開始構建一個企業(yè)級監(jiān)控平臺的相關理論技術和實踐方法。首先從監(jiān)控系統(tǒng)總體設計原理出發(fā),逐步介紹企業(yè)級監(jiān)控系統(tǒng)的常用架構、各個組件模塊作用、運行模式、監(jiān)控體系的建設路線、監(jiān)控信息的合并算法、監(jiān)控顆粒度設置經驗以及如何保障監(jiān)控系統(tǒng)自身可靠性等內容;隨后自底向上依次對硬件設備、操作系統(tǒng)、虛擬機、常用數據庫和中間件、容器和容器編排、系統(tǒng)和應用日志以及應用鏈路等常見監(jiān)控領域實施監(jiān)控的技術原理、常用監(jiān)控指標以及實現方式等內容作了介紹;最后對監(jiān)控系統(tǒng)下階段發(fā)展趨勢也即智能監(jiān)控作涉及相關技術原理及常用智能監(jiān)控功能作了展望及介紹。通過對本書的系統(tǒng)學習,可以對計算機監(jiān)控系統(tǒng)的基本原理、設計思想、實現方式等方面有全面而深入的了解。
姜才康,現任中匯信息技術(上海)有限公司總經理,中國計算機用戶協會金融信息分會理事,上海計算機學會理事,上海信息化理事。在金融信息化建設方面貢獻突出,長期從事金融行業(yè)應用軟件設計開發(fā)、技術標準制定和技術管理工作,不斷夯實國家級金融基礎設施,構建全方位的銀行間市場風險治理和安全運維體系,先后獲得數十項銀行發(fā)展科技獎。主持開發(fā)了完成新一代外匯交易系統(tǒng)、新一代本幣交易系統(tǒng)、匯率中間價系統(tǒng)、上海同業(yè)拆放利率(Shibor)、基于雙邊授信撮合系統(tǒng)、報價引擎、數據發(fā)布、交易后系統(tǒng)、增值服務系統(tǒng)、匯率指數、定盤收益率曲線等數十個金融系統(tǒng)的開發(fā)建設任務。主要著作有《大數據系統(tǒng)運維》(2018),《數據挖掘基礎》(2018),另有《外匯交易中心集中統(tǒng)一監(jiān)控平臺建設實踐》、《銀行間市場金融標準化建設的實踐之道》、《中國貨幣網的建設及發(fā)展》等多篇論文發(fā)表。
第1章 監(jiān)控系統(tǒng)規(guī)劃及原理 1
1.1 IT監(jiān)控運維管理的發(fā)展歷程 1
1.1.1 新興的中國市場(1985—1994年) 2
1.1.2 運營商大建設期(1995—2000年) 2
1.1.3 多元化的監(jiān)控運維系統(tǒng)(2001—2010年) 4
1.1.4 面向云和應用(2010年至今) 5
1.2 監(jiān)控體系總體規(guī)劃 5
1.2.1 IT運營體系的階段性 5
1.2.2 監(jiān)控體系建設的階段性 7
1.3 監(jiān)控系統(tǒng)的分類 12
1.4 監(jiān)控系統(tǒng)工作原理 13
1.5 監(jiān)控系統(tǒng)運行模式分類 16
1.5.1 主動/被動監(jiān)控 16
1.5.2 有代理/無代理 18
1.6 監(jiān)控事件總線 19
1.6.1 什么是集中監(jiān)控事件總線 19
1.6.2 事件總線的市場格局 20
1.6.3 監(jiān)控事件總線的功能設計 22
本章小結 25
第2章 計算機硬件設備監(jiān)控 26
2.1 計算機的分類 26
2.2 數據中心常見的計算機種類 27
2.2.1 大型機 27
2.2.2 小型機、PC服務器 28
2.2.3 RISC、CISC 30
2.2.4 刀片機 31
2.3 計算機硬件設備監(jiān)控 31
2.3.1 大型機設備監(jiān)控 32
2.3.2 小型機設備監(jiān)控 33
2.3.3 PC Server設備監(jiān)控 41
2.3.4 刀片機設備監(jiān)控 46
本章小結 47
第3章 虛擬機監(jiān)控 48
3.1 虛擬化分類 48
3.1.1 硬件虛擬化 49
3.1.2 桌面虛擬化 49
3.1.3 應用程序虛擬化 49
3.1.4 網絡虛擬化 49
3.2 ESXi虛擬化監(jiān)控 50
3.2.1 ESXi虛擬化概述 50
3.2.2 ESXi架構圖及監(jiān)控入口 53
3.2.3 使用Zabbix監(jiān)控ESXi 53
3.3 KVM虛擬化監(jiān)控 60
3.3.1 KVM虛擬化概述 60
3.3.2 使用Zabbix監(jiān)控KVM 61
本章小結 63
第4章 操作系統(tǒng)監(jiān)控 64
4.1 操作系統(tǒng)的種類 64
4.1.1 類UNIX系統(tǒng) 64
4.1.2 Windows系統(tǒng) 65
4.2 操作系統(tǒng)功能模塊 66
4.3 CPU監(jiān)控 69
4.3.1 CPU相關概念 69
4.3.2 CPU狀態(tài) 70
4.4 內存監(jiān)控 72
4.4.1 內存相關概念 72
4.4.2 內存狀態(tài) 74
4.5 進程監(jiān)控 74
4.5.1 進程相關概念 74
4.5.2 進程狀態(tài)監(jiān)控 76
4.6 文件屬性監(jiān)控 78
4.6.1 Windows中的文件屬性 78
4.6.2 類UNIX中的文件屬性 78
4.7 文件系統(tǒng)監(jiān)控 83
4.7.1 文件系統(tǒng)概念 83
4.7.2 文件系統(tǒng)狀態(tài) 84
4.8 網絡模塊監(jiān)控 85
4.8.1 網絡流量監(jiān)控 85
4.9 監(jiān)控系統(tǒng)如何監(jiān)控操作系統(tǒng) 87
4.9.1 Windows 87
4.9.2 Linux 90
本章小結 92
第5章 數據庫監(jiān)控 93
5.1 數據庫分類 93
5.1.1 關系型數據庫 94
5.1.2 非關系型數據庫 94
5.2 數據庫狀態(tài)指標分類 94
5.3 當前連接數與最大允許連接數 95
5.3.1 連接數的相關概念 95
5.3.2 連接數指標實例 95
5.4 QPS/TPS 99
5.4.1 QPS/TPS的相關概念 99
5.4.2 QPS/TPS指標實例 99
5.5 慢查詢 102
5.5.1 慢查詢的相關概念 102
5.5.2 慢查詢指標實例 102
5.6 磁盤I/O監(jiān)控 108
5.6.1 磁盤I/O相關概念 108
5.6.2 磁盤I/O的獲取 108
5.7 其他針對性指標 110
5.7.1 Mysql Binlog cache的相關概念 110
5.7.2 Mysql Binlog cache指標實例 111
5.7.3 Oracle表空間的概念 112
5.7.4 Oracle表空間指標實例 112
5.7.5 Mysql MHA高可用集群的概念 113
5.7.6 Mysql MHA高可用集群指標 115
5.7.7 Oracle集群的概念 117
5.7.8 Oracle集群指標實例 118
本章小結 126
第6章 中間件監(jiān)控 127
6.1 Nginx監(jiān)控 128
6.1.1 Nginx概述 128
6.1.2 Nginx服務的進程及端口 128
6.1.3 服務可用性監(jiān)控 130
6.1.4 Nginx日志監(jiān)控 131
6.1.5 Nginx狀態(tài)頁監(jiān)控 134
6.2 Tomcat監(jiān)控 136
6.2.1 Tomcat概述 136
6.2.2 請求吞吐量指標和延遲指標 137
6.2.3 線程池指標 140
6.2.4 Errors錯誤率指標 144
6.2.5 JVM內存使用情況指標 146
6.2.6 JVM監(jiān)控工具 149
6.3 ActiveMQ監(jiān)控 152
6.3.1 ActiveMQ概述 152
6.3.2 生產者數量監(jiān)控 152
6.3.3 消費者數量監(jiān)控 153
6.3.4 隊列深度監(jiān)控 154
6.3.5 ActiveMQ監(jiān)控實踐 155
本章小結 157
第7章 Docker容器監(jiān)控 159
7.1 Docker容器運行狀態(tài) 159
7.2 Docker容器性能指標 161
7.3 cAdvisor對容器監(jiān)控 162
7.3.1 CPU的監(jiān)控 164
7.3.2 內存的監(jiān)控 165
7.3.3 磁盤的監(jiān)控 165
7.3.4 網絡的監(jiān)控 165
7.4 Docker容器內的應用日志監(jiān)控 166
本章小結 170
第8章 Kubernetes監(jiān)控 171
8.1 Kubernetes簡介 171
8.2 Prometheus簡介 174
8.3 Prometheus部署 176
8.4 Kubernetes集群監(jiān)控 186
8.4.1 宿主機監(jiān)控 187
8.4.2 容器監(jiān)控 196
8.4.3 集群資源監(jiān)控 199
8.4.4 API Server監(jiān)控 207
8.4.5 應用系統(tǒng)監(jiān)控 209
本章小結 214
第9章 應用監(jiān)控 215
9.1 應用性能管理概述 215
9.2 調用鏈路跟蹤 217
9.2.1 Span的概念 218
9.2.2 Trace的概念 220
9.3 APM系統(tǒng)的設計與實現 222
9.3.1 APM系統(tǒng)通用架構 222
9.3.2 Span的創(chuàng)建及SpanContext的傳遞邏輯 223
9.3.3 TraceID和SpanID的生成方法 225
9.3.4 代碼注入方法 227
9.3.5 APM系統(tǒng)性能優(yōu)化 228
本章小結 231
第10章 日志監(jiān)控 232
10.1 日志的基本概念 232
10.2 日志的作用 233
10.2.1 運維監(jiān)控 233
10.2.2 資源管理 233
10.2.3 入侵檢測 234
10.2.4 取證和審計 234
10.2.5 挖掘分析 235
10.3 常見日志類型及格式 235
10.3.1 W3C Extended Log File格式 236
10.3.2 Apache access log 237
10.3.3 Syslog 237
10.4 日志規(guī)范 239
10.4.1 應用日志打印規(guī)范 240
10.4.2 日志的輪轉歸檔 241
10.4.3 日志的爆發(fā)抑制 242
10.5 日志監(jiān)控基本原理 243
10.5.1 前置式日志監(jiān)控 243
10.5.2 集中式日志監(jiān)控 244
10.5.3 日志監(jiān)控的基本過程 245
10.6 日志監(jiān)控的常見場景 246
10.6.1 關鍵字監(jiān)控 246
10.6.2 多節(jié)點日志監(jiān)控 247
10.6.3 應用系統(tǒng)性能監(jiān)控 248
10.6.4 應用系統(tǒng)業(yè)務量異常監(jiān)控 250
10.6.5 安全監(jiān)控與異常IP自動封禁 250
10.7 日志采集與傳輸 251
10.7.1 拉式采集(PULL) 252
10.7.2 推式采集(PUSH) 252
10.7.3 日志過濾 253
10.8 日志解析與日志監(jiān)控策略 254
10.8.1 日志解析工具 254
10.8.2 正則表達式 258
10.8.3 日志監(jiān)控策略 261
10.9 常見日志監(jiān)控系統(tǒng) 262
10.9.1 基于ELK的日志監(jiān)控 262
10.9.2 基于Splunk的日志監(jiān)控 263
本章小結 265
第11章 智能監(jiān)控 266
11.1 智能監(jiān)控概述 267
11.1.1 Gartner AIOps 267
11.1.2 NoOps 267
11.1.3 智能監(jiān)控實施路徑 268
11.2 監(jiān)控數據治理 269
11.2.1 大數據平臺選型 269
11.2.2 大數據平臺設計 270
11.2.3 監(jiān)控運維數據治理 271
11.3 監(jiān)控動態(tài)基線 273
11.3.1 動態(tài)閾值設計與計算 274
11.3.2 基于動態(tài)閾值異常檢測 276
11.3.3 監(jiān)控動態(tài)閾值案例 276
11.4 監(jiān)控自愈 278
11.4.1 什么是自愈 278
11.4.2 自愈的優(yōu)勢 283
11.4.3 監(jiān)控自愈模塊設計 284
11.4.4 監(jiān)控自愈案例分享 285
本章小結 286
參考文獻 287