●第1章 監控繫統規劃及原理 1
1.1 IT監控運維管理的發展歷程 1
1.1.1 新興的中國市場(1985―1994年) 2
1.1.2 運營商大建設期(1995―2000年) 2
1.1.化的監控運維繫統(2001―2010年) 4
1.1.4 面向雲和應用(2010年至今) 5
1.2 監控體繫總體規劃 5
1.2.1 IT運營體繫的階段性 5
1.2.2 監控體繫建設的階段性 7
1.3 監控繫統的分類 12
1.4 監控繫統工作原理 13
1.5 監控繫統運行模式分類 16
1.5.1 主動/被動監控 16
1.5.2 有代理/無代理 18
1.6 監控事件總線 19
1.6.1 什麼是集中監控事件總線 19
1.6.2 事件總線的市場格局 20
1.6.3 監控事件總線的功能設計 22
本章小結 25
第2章 計算機硬件設備監控 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 計算機硬件設備監控 31
2.3.1 大型機設備監控 32
2.3.2 小型機設備監控 33
2.3.3 PC Server設備監控 41
2.3.4 刀片機設備監控 46
本章小結 47
第3章 虛擬機監控 48
3.1 虛擬化分類 48
3.1.1 硬件虛擬化 49
3.1.2 桌面虛擬化 49
3.1.3 應用程序虛擬化 49
3.1.4 網絡虛擬化 49
3.2 ES 虛擬化監控 50
3.2.1 ES 虛擬化概述 50
3.2.2 ES 架構圖及監控入口 53
3.2.3 使用Zabbix監控ES 53
3.3 KVM虛擬化監控 60
3.3.1 KVM虛擬化概述 60
3.3.2 使用Zabbix監控KVM 61
本章小結 63
第4章 操作繫統監控 64
4.1 操作繫統的種類 64
4.1.1 類UNIX繫統 64
4.1.2 Windows繫統 65
4.2 操作繫統功能模塊 66
4.3 CPU監控 69
4.3.1 CPU相關概念 69
4.3.2 CPU狀態 70
4.4 內存監控 72
4.4.1 內存相關概念 72
4.4.2 內存狀態 74
4.5 進程監控 74
4.5.1 進程相關概念 74
4.5.2 進程狀態監控 76
4.6 文件屬性監控 78
4.6.1 Windows中的文件屬性 78
4.6.2 類UNIX中的文件屬性 78
4.7 文件繫統監控 83
4.7.1 文件繫統概念 83
4.7.2 文件繫統狀態 84
4.8 網絡模塊監控 85
4.8.1 網絡流量監控 85
4.9 監控繫統如何監控操作繫統 87
4.9.1 Windows 87
4.9.2 Linux 90
本章小結 92
第5章 數據庫監控 93
5.1 數據庫分類 93
5.1.1 關繫型數據庫 94
5.1.2 非關繫型數據庫 94
5.2 數據庫狀態指標分類 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監控 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章 中間件監控 127
6.1 Nginx監控 128
6.1.1 Nginx概述 128
6.1.2 Nginx服務的進程及端口 128
6.1.3 服務可用性監控 130
6.1.4 Nginx日志監控 131
6.1.5 Nginx狀態頁監控 134
6.2 Tomcat監控 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監控工具 149
6.3 ActiveMQ監控 152
6.3.1 ActiveMQ概述 152
6.3.2 生產者數量監控 152
6.3.3 消費者數量監控 153
6.3.4 隊列深度監控 154
6.3.5 ActiveMQ監控實踐 155
本章小結 157
第7章 Docker容器監控 159
7.1 Docker容器運行狀態 159
7.2 Docker容器性能指標 161
7.3 cAdvisor對容器監控 162
7.3.1 CPU的監控 164
7.3.2 內存的監控 165
7.3.3 磁盤的監控 165
7.3.4 網絡的監控 165
7.4 Docker容器內的應用日志監控 166
本章小結 170
第8章 Kubernetes監控 171
8.1 Kubernetes簡介 171
8.2 Prometheus簡介 174
8.3 Prometheus部署 176
8.4 Kubernetes集群監控 186
8.4.1 宿主機監控 187
8.4.2 容器監控 196
8.4.3 集群資源監控 199
8.4.4 API Server監控 207
8.4.5 應用繫統監控 209
本章小結 214
第9章 應用監控 215
9.1 應用性能管理概述 215
9.2 調用鏈路跟蹤 217
9.2.1 Span的概念 218
9.2.2 Trace的概念 220
9.3 APM繫統的設計與實現 222
9.3.1 APM繫統通用架構 222
9.3.2 Span的創建及SpanContext的傳遞邏輯 223
9.3.3 TraceID和SpanID的生成方法 225
9.3.4 代碼注入方法 227
9.3.5 APM繫統性能優化 228
本章小結 231
第10章 日志監控 232
10.1 日志的基本概念 232
10.2 日志的作用 233
10.2.1 運維監控 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 日志規範 239
10.4.1 應用日志打印規範 240
10.4.2 日志的輪轉歸檔 241
10.4.3 日志的爆發抑制 242
10.5 日志監控基本原理 243
10.5.1 前置式日志監控 243
10.5.2 集中式日志監控 244
10.5.3 日志監控的基本過程 245
10.6 日志監控的常見場景 246
10.6.1 關鍵字監控 246
10.6.2 多節點日志監控 247
10.6.3 應用繫統性能監控 248
10.6.4 應用繫統業務量異常監控 250
10.6.5 安全監控與異常IP自動封禁 250
10.7 日志采集與傳輸 251
10.7.1 拉式采集(PULL) 252
10.7.2 推式采集(PUSH) 252
10.7.3 日志過濾 253
10.8 日志解析與日志監控策略 254
10.8.1 日志解析工具 254
10.8.2 正則表達式 258
10.8.3 日志監控策略 261
10.9 常見日志監控繫統 262
10.9.1 基於ELK的日志監控 262
10.9.2 基於Splunk的日志監控 263
本章小結 265
第11章 智能監控 266
11.1 智能監控概述 267
11.1.1 Gartner AIOps 267
11.1.2 NoOps 267
11.1.3 智能監控實施路徑 268
11.2 監控數據治理 269
11.2.1 大數據平臺選型 269
11.2.2 大數據平臺設計 270
11.2.3 監控運維數據治理 271
11.3 監控動態基線 273
11.3.1 動態閾值設計與計算 274
11.3.2 基於動態閾值異常檢測 276
11.3.3 監控動態閾值案例 276
11.4 監控自愈 278
11.4.1 什麼是自愈 278
11.4.2 自愈的優勢 283
11.4.3 監控自愈模塊設計 284
11.4.4 監控自愈案例分享 285
本章小結 286
參考文獻 287
本書采用循序漸進的講解方式,介紹了如何從零開始構建一個企業級監控平臺的相關理論技術和實踐方法。首先從監控繫統總體設計原理出發,逐步介紹企業級監控繫統的常用架構、各個組件模塊作用、運行模式、監控體繫的建設路線、監控信息的合並算法、監控顆粒度設置經驗以及如何保障監控繫統自身可靠性等內容;隨後自底向上依次對硬件設備、操作繫統、虛擬機、常用數據庫和中間件、容器和容器編排、繫統和應用日志以及應用鏈路等常見監控領域實施監控的技術原理、常用監控指標以及實現方式等內容作了介紹;最後對監控繫統下階段發展趨勢也即智能監控作涉及相關技術原理及常用智能監控功能作了展望及介紹。通過對本書的繫統學習,可以對計算機監控繫統的基本原理、設計思想、實現方式等方面有全面而深入的了解。