-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入理解Zabbix監控系統

( 簡體 字)
作者:鮑光亞類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社深入理解Zabbix監控系統 3dWoo書號: 54321
詢問書籍請說出此書號!

有庫存
NT售價: 500

出版日:5/1/2021
頁數:312
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115558336
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

Zabbix是一個開源監控系統,在我國各類信息技術企業和金融企業中被廣泛應用。本書主要從源碼和功能兩個角度,分析Zabbix監控系統的底層工作機制。本書首先講述跨進程的總體工作機制,然后按照監控數據的處理流程依次講解Zabbix服務器端和Zabbix客戶端各類進程的內部工作機制,最后講述Zabbix Web應用的工作機制。本書能夠幫助讀者深入理解Zabbix系統的核心原理,有助于在運維工作中快速定位和解決問題。
本書適合具有一定Zabbix應用經驗并想要進一步理解Zabbix工作機制的讀者閱讀,包括相關企業的運維人員、技術主管、架構師、產品經理和決策者等。
目錄:

第 一部分 Zabbix的基礎工作機制

第 1章 Zabbix總體架構及演變 2
1.1 監控系統概述 2
1.2 Zabbix的總體架構 3
1.2.1 Zabbix服務器 4
1.2.2 Zabbix代理 6
1.2.3 Zabbix java gateway 7
1.2.4 Zabbix客戶端 7
1.3 Zabbix服務器的技術演進 7
1.3.1 Zabbix 2.2版本的Zabbix服務器 7
1.3.2 Zabbix 3.0版本的Zabbix服務器 8
1.3.3 Zabbix 4.0版本的Zabbix服務器 8
1.3.4 Zabbix 5.0版本的Zabbix服務器 9
1.4 小結 9
第 2章 Zabbix進程間通信與協調 10
2.1 主進程和子進程的創建 10
2.1.1 主進程的啟動和值守化 11
2.1.2 子進程的分類和創建 13
2.1.3 子進程從主進程繼承的內容 17
2.1.4 進程的回收 20
2.2 信號捕捉與處理 21
2.2.1 Zabbix進程處理的信號類型 21
2.2.2 信號處理函數 22
2.2.3 信號的觸發與接收 24
2.2.4 用日志跟蹤信號 24
2.3 Zabbix的共享內存 25
2.3.1 共享內存結構——內存池 25
2.3.2 共享內存的分配與釋放 28
2.3.3 共享內存狀態的獲取 30
2.3.4 Zabbix共享內存舉例 31
2.4 TCP/IP套接字 32
2.4.1 zbx_socket_t結構體 32
2.4.2 作為服務器端的套接字 33
2.4.3 作為客戶端的套接字 33
2.5 基于Unix域套接字的進程間通信服務 34
2.5.1 Libevent庫在進程間通信服務中的應用 34
2.5.2 進程間通信服務的數據結構及其工作過程 35
2.5.3 進程間通信服務的初始化 37
2.5.4 進程間通信服務的通信協議 37
2.5.5 從日志查看進程間通信服務消息 37
2.6 鎖與信號量 38
2.6.1 互斥鎖的應用 38
2.6.2 讀寫鎖的應用 40
2.6.3 信號量的應用 40
2.7 小結 41
第3章 數據結構設計 42
3.1 向量 42
3.1.1 向量的數據結構定義 42
3.1.2 向量支持的操作 43
3.1.3 向量的應用場景 45
3.2 哈希集 45
3.2.1 哈希集的數據結構定義 45
3.2.2 哈希集支持的操作 47
3.2.3 哈希函數及關鍵字 48
3.2.4 哈希集的應用場景 49
3.3 哈希映射 50
3.3.1 哈希映射的數據結構定義 50
3.3.2 哈希映射支持的操作 51
3.4 二叉堆 51
3.4.1 二叉堆的數據結構定義 51
3.4.2 二叉堆支持的操作 52
3.4.3 二叉堆的應用場景 54
3.5 隊列 54
3.5.1 隊列的數據結構定義 55
3.5.2 隊列支持的操作 55
3.5.3 隊列的應用場景 56
3.6 鏈表 56
3.6.1 鏈表的數據結構定義 56
3.6.2 鏈表支持的操作 57
3.6.3 鏈表的應用場景 57
3.7 zbx_ json和zbx_ json_ parse結構 57
3.7.1 zbx_ json和zbx_ json_ parse結構的數據結構定義 58
3.7.2 zbx_ json和zbx_ json_ parse結構支持的操作 58
3.7.3 zbx_ json和zbx_ parse結構的應用場景 61
3.8 小結 62
第4章 數據緩存 63
4.1 ConfigCache和configuration syncer進程 63
4.1.1 ConfigCache的數據結構定義 64
4.1.2 ConfigCache的初始化和首次加載 70
4.1.3 configuration syncer進程 71
4.1.4 實時導出ConfigCache數據 74
4.2 HistoryCache和HistoryIndexCache 74
4.2.1 數據結構與共享內存的區別 75
4.2.2 HistoryCache和HistoryIndexCache的數據結構定義 75
4.2.3 將監控值寫入緩存 77
4.2.4 HistoryCache數據的讀取 78
4.2.5 ids變量 79
4.3 TrendCache 79
4.3.1 TrendCache的數據結構定義 79
4.3.2 TrendCache數據的寫入和讀取 80
4.4 ValueCache 81
4.4.1 ValueCache的數據結構定義 81
4.4.2 ValueCache數據的寫入 84
4.4.3 ValueCache數據的淘汰 87
4.4.4 ValueCache數據的讀取 89
4.5 小結 89
第5章 套接字通信與加密 90
5.1 TCP/IP套接字通信的過程 90
5.1.1 多路復用與接受連接過程 91
5.1.2 接收緩存與發送緩存 92
5.1.3 超時機制 92
5.1.4 關閉連接 93
5.2 ZBXP 93
5.2.1 ZBXP通信測試工具 94
5.2.2 服務器-代理的ZBXP 94
5.2.3 客戶端-服務器的通信協議 98
5.2.4 Web應用-服務器的通信協議 100
5.3 TCP/IP套接字通信的加密 104
5.4 小結 105
第6章 Zabbix日志及其應用 106
6.1 日志輸出 106
6.1.1 日志輸出函數 106
6.1.2 日志記錄格式 107
6.1.3 日志鎖 108
6.2 日志級別 109
6.2.1 日志級別的劃分 109
6.2.2 在日志記錄中添加日志級別 110
6.2.3 日志相關代碼的統計 111
6.3 小結 112

第二部分 Zabbix服務器端的各個進程

第7章 trapper類和poller類進程——監控數據的收集 114
7.1 trapper類進程 114
7.1.1 trapper進程 115
7.1.2 snmp trapper進程 120
7.2 poller類進程 120
7.2.1 poller類進程的工作過程 121
7.2.2 poller進程 123
7.2.3 unreachable poller進程 130
7.2.4 ipmi manager進程和ipmi poller進程 130
7.2.5 icmp pinger進程 133
7.2.6 java poller進程 133
7.2.7 proxy poller進程 134
7.2.8 http poller進程 134
7.3 小結 135
第8章 預處理進程和LLD進程 136
8.1 進程間通信服務消息格式 137
8.2 預處理進程 138
8.2.1 預處理工作總體框架 138
8.2.2 preprocessing manager進程 140
8.2.3 preprocessing worker進程 143
8.3 LLD進程 145
8.3.1 進程間通信服務中的LLD消息 145
8.3.2 LLD原始數據的采集和預處理 146
8.3.3 lld manager進程 146
8.3.4 lld worker進程 149
8.4 小結 150
第9章 history syncer進程——監控數據的計算與入庫 151
9.1 history syncer進程的工作機制 151
9.1.1 監控值的同步過程 152
9.1.2 趨勢數據的同步過程 154
9.1.3 事件的生成與處理 155
9.1.4 動作的處理 160
9.1.5 history syncer進程之間的協作 161
9.2 觸發器的計算過程 162
9.2.1 觸發器表達式的表示法 162
9.2.2 表達式函數的計算 163
9.2.3 外層的計算 165
9.3 自定義history write模塊 165
9.3.1 接口函數 165
9.3.2 自定義模塊的注冊 167
9.4 小結 168
第 10章 escalator進程、alert進程族和task manager進程——事件激發的動作 169
10.1 escalator進程 169
10.1.1 理解升級序列 169
10.1.2 工作過程 171
10.1.3 escalator進程與alert進程族以及task表的關系 173
10.2 alert進程族 173
10.2.1 核心數據結構與工作機制 173
10.2.2 進程間通信服務消息與進程間交互 178
10.2.3 alert syncer進程 180
10.2.4 alert manager進程 180
10.2.5 alerter進程 181
10.2.6 看門狗邏輯 181
10.3 task manager進程 182
10.3.1 遠程命令任務和任務執行結果 182
10.3.2 數據任務和數據結果任務 183
10.3.3 立即檢查任務 184
10.3.4 問題確認任務和問題關閉任務 185
10.4 小結 186
第 11章 Zabbix內部監控 187
11.1 self-monitoring進程與collector變量 187
11.1.1 測量指標和單位 188
11.1.2 數據結構 189
11.1.3 數據處理過程 190
11.1.4 數據溢出問題 191
11.1.5 共享內存中的collector變量 191
11.2 從數據庫獲取狀態信息 192
11.3 從緩存獲取狀態信息 193
11.3.1 獲取ConfigCache的狀態信息 193
11.3.2 獲取ValueCache的狀態信息 194
11.3.3 獲取HistoryCache和HistoryIndexCache的狀態信息 195
11.3.4 獲取VMwareCache的狀態信息 195
11.4 從其他渠道獲取信息 195
11.4.1 從poller進程獲取信息 195
11.4.2 從進程間通信服務獲取信息 196
11.4.3 遠程獲取數據 196
11.5 小結 197
第 12章 Zabbix代理專述 198
12.1 Zabbix代理端分擔的功能 198
12.1.1 功能劃分的現狀與評估 198
12.1.2 未來功能劃分的可能性 200
12.2 Zabbix代理端的工作機制 200
12.2.1 Zabbix代理端的configuration syncer進程 200
12.2.2 Zabbix代理端的data sender進程 201
12.2.3 被動模式下的Zabbix代理 203
12.2.4 Zabbix代理端的housekeeper進程 204
12.2.5 Zabbix代理端的heartbeat sender進程 205
12.3 小結 206
第 13章 數據庫表和housekeeper進程 207
13.1 Zabbix服務器訪問數據庫 207
13.1.1 連接的建立與關閉 208
13.1.2 SQL語句的構造與運行 209
13.1.3 事務與數據的一致性 211
13.1.4 訪問量的計算 211
13.2 進程使用的數據庫表 212
13.2.1 history syncer進程使用的表 212
13.2.2 lld worker進程使用的表 212
13.2.3 alert syncer進程使用的表 213
13.2.4 escalator進程使用的表 213
13.2.5 proxy poller進程使用的表 214
13.2.6 configuration syncer進程使用的表 215
13.3 housekeeper進程 216
13.3.1 相關結構體定義 216
13.3.2 清理數據的過程 217
13.3.3 housekeeping_cleanup()函數 219
13.4 小結 220
第 14章 Zabbix java gateway 221
14.1 JMX監控 221
14.2 ZJG的內部結構 222
14.2.1 功能結構 222
14.2.2 ThreadPoolExecutor線程池 225
14.2.3 日志輸出 226
14.3 java poller進程與ZJG的交互 227
14.4 ZJG的安裝部署 229
14.4.1 編譯和部署ZJG 229
14.4.2 啟動和停止ZJG 229
14.5 小結 230

第三部分 Zabbix客戶端及源碼構建

第 15章 Zabbix客戶端的工作機制 232
15.1 Zabbix客戶端主進程 232
15.1.1 Zabbix客戶端主進程的工作過程 232
15.1.2 collector變量與共享內存 234
15.2 collector進程 236
15.2.1 collector進程的工作過程 236
15.2.2 system.cpu.util監控值的收集 237
15.2.3 proc.cpu.util監控值的收集 239
15.2.4 vfs.dev.read與vfs.dev.write數據 242
15.3 listener進程 244
15.4 active checks進程 246
15.5 可加載模塊 247
15.5.1 模塊加載過程 247
15.5.2 制作模塊文件(.so文件)及測試 248
15.6 小結 249
第 16章 Zabbix客戶端的原生監控項 250
16.1 agent類監控項 250
16.2 simple類監控項 251
16.3 common類監控項 252
16.3.1 系統通用監控項 253
16.3.2 web.page組監控項 254
16.3.3 vfs.file組監控項 255
16.3.4 vfs.dir組監控項 256
16.3.5 dns組監控項 257
16.3.6 log組監控項 257
16.3.7 zabbix.stats監控項 258
16.4 specific類監控項 259
16.4.1 kernel組監控項 259
16.4.2 net組監控項 260
16.4.3 proc組監控項 260
16.4.4 文件系統監控項 261
16.4.5 塊設備監控項 262
16.4.6 內存監控項 263
16.4.7 系統專用監控項 263
16.4.8 傳感器監控項 266
16.5 hostname監控項 266
16.6 小結 267
第 17章 Zabbix的構建過程 268
17.1 總體構建過程 268
17.1.1 源碼文件的目錄結構 268
17.1.2 gcc的構建過程 269
17.2 configure過程 270
17.2.1 理解configure.ac文件 271
17.2.2 理解aclocal.m4文件 272
17.2.3 理解configure腳本 273
17.3 make過程 276
17.3.1 Makefile文件的內容結構 277
17.3.2 理解Makefile.am文件 280
17.3.3 src目錄的構建過程 283
17.4 make install過程 284
17.5 Zabbix客戶端的構建過程 284
17.6 Zabbix的構建過程示例 285
17.7 小結 286

第四部分 Zabbix Web

第 18章 Zabbix Web API 288
18.1 類的關系與類的職責 288
18.2 設計模式 291
18.2.1 單例模式 291
18.2.2 類工廠模式 291
18.3 jsonrpc消息的處理過程 292
18.3.1 準備階段 293
18.3.2 消息處理階段 294
18.4 擴展Zabbix Web API 297
18.4.1 相關源碼文件的組織 297
18.4.2 擴展方法示例 298
18.5 小結 299
第 19章 Zabbix Web應用 300
19.1 Zabbix的MVC模式 300
19.1.1 MVC中的類圖與類的職責 300
19.1.2 請求處理過程 302
19.2 前端頁面的結構與構建 304
19.2.1 布局與視圖 305
19.2.2 HTML的構建過程 307
19.3 CController類 309
19.4 Zabbix Web應用的擴展 309
19.4.1 源碼文件的目錄結構 309
19.4.2 在頁面增加篩選條件 310
19.5 小結 312
序: