基本介紹
- 中文名:掌控——構建Linux系統Nagios監控伺服器
- 作者:陶利軍
- 出版社:清華大學出版社
- 出版時間:2013年5月
- 定價:79 元
- ISBN:9787302311409
內容簡介,圖書目錄,
內容簡介
Nagios對於網路、系統管理員是必不可少的工具,Nagios對伺服器及服務和網路狀態的監控能夠實時報警,讓管理員能夠及時處理。正確使用Nagios能夠給自己和企業帶來很好的“效益”。
在本書中我們將講述Nagios伺服器的安裝和使用以及Nagios的基礎知識,本書分為9個部分共25章,內容詳細地講述了Nagios監控理論、安裝前後的目錄結構、配置檔案、配置對象、外掛程式開發、對Linux伺服器、Windows伺服器及路由器和交換機的host及service的監控、圖形化Nagios監控數據、Nagios XI(商業版Nagios)等。
本書適合網路管理員,網路工程師作為參考書使用。
圖書目錄
第1部分 認識Nagios
第1章 Nagios的檢測機制 2
1.1 兩種檢測方式 2
1.1.1 主動檢測 2
1.1.2 被動檢測 3
1.1.3 狀態類型 4
1.2 外部命令和事件處理程式 7
1.2.1 外部命令 7
1.2.2 事件處理程式 8
1.3 兩類檢測對象 13
1.3.1 主機檢測 14
1.3.2 服務檢測 16
1.3.3 檢測和處理“擺動”狀態 18
1.4 六種監控策略 23
1.4.1 “可變”服務機制 23
1.4.2 “跟蹤”狀態機制 25
1.4.3 快取檢測 27
1.4.4 服務和主機“新鮮”檢測機制 30
1.4.5 預測依賴性檢測 32
1.4.6 被動主機狀態轉換 34
1.5 決定網路主機的狀態和可達性 35
1.5.1 設定父/子關係 36
1.5.2 可達性邏輯的運作 38
1.5.3 UNREACHABLE狀態和通知 39
1.6 最佳化Nagios 39
1.6.1 快速啟動選項 39
1.6.2 Nagios調優發揮最大性能 46
1.6.3 使用內嵌Perl解釋器 49
1.6.4 分散式監控 51
1.6.5 性能數據 51
1.6.6 使用use_large_installation_tweaks選項 54
1.7 Nagios與變數 54
1.7.1 理解宏變數及其如何工作 54
1.7.2 自定義對象變數 60
第2章 實現監控 62
2.1 監控公開提供的服務 62
2.1.1 用於監控服務的外掛程式 63
2.1.2 監控HTTP 64
2.1.3 監控FTP 65
2.1.4 監控SSH 66
2.1.5 監控SMTP 66
2.1.6 監控POP3 67
2.1.7 監控IMAP服務 68
6.2 相關檔案 141
第7章 安裝Nagios 142
7.1 配置安裝 142
7.2 分析Makefile檔案 144
7.2.1 第一部分:變數設定 144
7.2.2 第二部分:make 命令的選項 145
7.2.3 第三部分:make install 命令的選項 149
7.2.4 第四部分:基於不同結構創建數據包 152
7.3 編譯Nagios 154
7.3.1 執行make all 154
7.3.2 執行make X-install 155
7.4 啟動/停止Nagios服務 158
7.5 安裝Nagios Plugins 158
第8章 安裝後的結構 163
8.1 bin/ 163
8.1.1 bin/nagios 163
8.1.2 bin/nagiostats 170
8.2 etc/ 176
8.2.1 etc/cgi.cfg 177
8.2.2 etc/nagios.cfg 184
8.2.3 etc/resource.cfg 218
8.2.4 etc/objects/commands.cfg 219
8.2.5 etc/objects/contacts.cfg 219
8.2.6 etc/objects/localhost.cfg 219
8.2.7 etc/objects/printer.cfg 219
8.2.8 etc/objects/switch.cfg 219
8.2.9 etc/objects/templates.cfg 219
8.2.10 etc/objects/timeperiods.cfg 222
8.2.11 etc/objects/windows.cfg 223
8.3 libexec/ 223
8.3.1 安裝Nagios外掛程式之前 223
8.3.2 安裝Nagios外掛程式之後 224
8.4 sbin/ 224
8.4.1 sbin/status.cgi 225
8.4.2 sbin/statusmap.cgi 225
8.4.3 sbin/statuswml.cgi 226
8.4.4 sbin/statuswrl.cgi 227
8.4.5 sbin/tac.cgi 227
8.4.6 sbin/outages.cgi 228
8.4.7 sbin/config.cgi 228
8.4.8 sbin/cmd.cgi 229
8.4.9 sbin/extinfo.cgi 230
8.4.10 sbin/showlog.cgi 231
8.4.11 sbin/history.cgi 231
8.4.12 sbin/notifications.cgi 232
8.4.13 sbin/trends.cgi 232
8.4.14 sbin/avail.cgi 234
8.4.15 sbin/histogram.cgi 235
8.4.16 sbin/summary.cgi 235
8.5 share/ 236
8.5.1 share/contexthelp 238
8.5.2 share/docs 239
8.5.3 share/images 239
8.5.4 share/includes 239
8.5.5 share/locale 240
8.5.6 share/ssi 240
8.5.7 share/stylesheets 240
8.5.8 share/index.php 241
8.5.9 share/config.inc.php 244
8.5.10 share/main.php 244
8.5.11 share/robots.txt 244
8.5.12 share/side.php 245
8.6 var/ 245
8.6.1 var/archives 245
8.6.2 var/nagios.lock 246
8.6.3 var/nagios.log 246
8.6.4 var/objects.cache 247
8.6.5 var/objects.precache 248
8.6.6 var/retention.dat 249
8.6.7 var/rw/nagios.cmd 251
8.6.8 var/spool/checkresults 251
8.6.9 var/status.dat 252
第3部分 使用Nagios
第9章 監控Linux系統下的host和service 256
9.1 認識NRPE 256
9.1.1 圖解NRPE 256
9.1.2 使用方法 257
9.2 安裝NRPE 258
9.2.1 客戶端安裝 259
9.2.2 伺服器端安裝 269
9.3 監控host和service 273
9.3.1 創建host和service定義 274
9.3.2 自定義監控 278
9.4 升級NRPE 279
9.4.1 監控主機升級 279
9.4.2 遠程主機升級 280
第10章 監控Windows系統下的host和service 281
10.1 認識NSClient++ 281
10.1.1 圖解NSClient++ 282
10.1.2 使用方法 282
10.2 安裝NSClient++ 283
10.2.1 客戶端安裝 283
10.2.2 伺服器端安裝 289
10.3 監控host和service 289
10.3.1 創建host和service定義 289
10.3.2 自定義監控 292
第11章 監控公開提供的service 295
11.1 對公網提供的服務 295
11.2 對區域網路提供的服務 300
第12章 監控其他設備 303
12.1 路由器 303
12.2 交換機 303
12.3 網路印表機 304
第13章 升級Nagios 306
13.1 從早期3.x版本升級Nagios 306
13.2 從2.x 版本升級安裝Nagios 307
13.3 從RPM升級安裝Nagios 308
第4部分 對象配置
第14章 配置檔案概述 310
14.1 14種對象配置檔案 313
14.1.1 host定義 313
14.1.2 hostgroup定義 323
14.1.3 service定義 325
14.1.4 servicegroup定義 333
14.1.5 contact 定義 335
14.1.6 contactgroup定義 339
14.1.7 timeperiod定義 340
14.1.8 command定義 343
14.1.9 hostdependency定義 344
14.1.10 servicedependency定義 346
14.1.11 hostescalation定義 349
14.1.12 serviceescalation定義 352
14.1.13 extendedhost信息定義 356
14.1.14 extendedservice信息定義 358
14.2 host和service依賴性 359
14.2.1 服務依賴性 360
14.2.2 主機依賴性 364
第15章 對象繼承與對象定義技巧 366
15.1 對象繼承 366
15.1.1 繼承介紹 366
15.1.2 定義格式 367
15.1.3 本地變數和繼承變數的比較 368
15.1.4 繼承鏈 369
15.1.5 使用不完整對象定義作為模板 370
15.1.6 自定義對象變數 371
15.1.7 取消繼承的字元串值 372
15.1.8 添加繼承的字元串值 372
15.1.9 隱含繼承 373
15.1.10 擴充中的隱含/添加繼承 373
15.1.11 “!”功能 374
15.1.12 多個繼承源 375
15.1.13 多繼承源的優先權 376
15.2 對象定義技巧 376
15.2.1 正則表達式匹配 377
15.2.2 service定義 377
15.2.3 service擴充定義 378
15.2.4 service依賴定義 380
15.2.5 host擴充定義 383
15.2.6 host依賴定義 384
15.2.7 host組 385
第5部分 圖形化Nagios數據
第16章 使用PNPNagios 388
16.1 PNPNagios的安裝與設定 388
16.1.1 軟體依賴性 388
16.1.2 下載和安裝 388
16.1.3 安裝後的結構 395
16.1.4 相關檔案 396
16.2 PNPNagios的工作模式 405
16.2.1 Synchronous模式 405
16.2.2 Bulk模式 405
16.2.3 使用NPCD的Bulk模式 406
16.2.4 使用npcdmod的Bulk模式 406
16.2.5 Gearman模式 406
16.3 使用PNPNagios 407
16.3.1 Synchronous模式下的設定 407
16.3.2 Bulk模式下的設定 408
16.3.3 使用NPCD的Bulk模式下的設定 410
16.3.4 使用npcdmod的Bulk模式下的設定 411
16.3.5 Gearman模式下的設定 412
16.4 實例 414
16.4.1 使用Bulk模式 415
16.4.2 使用NPCD的Bulk模式 423
第17章 使用MRTG 425
17.1 nagiostats工具 425
17.1.1 使用信息 425
17.1.2 容易讀懂的輸出 425
17.1.3 分析數據與MRTG集成 427
17.2 使用MRTG繪製Nagios工作性能數據圖 427
17.2.1 MRTG配置檔案樣本 427
17.2.2 圖例分析 427
17.3 實例 436
17.3.1 安裝MRTG 436
17.3.2 配置MRTG 440
17.3.3 運行MRTG 442
17.3.4 設定Apache訪問 444
17.3.5 訪問生成的頁面 444
第6部分 實現Nagios通知
第18章 概述通知 446
18.1 通知 446
18.1.1 通知策略 446
18.1.2 過濾器 446
18.1.3 傳送通知的方式 450
18.2 通知擴充 450
第19章 通知方式 456
19.1 使用飛信 456
19.1.1 Linux命令行下使用飛信 456
19.1.2 Nagios與飛信結合 461
19.2 使用139信箱 462
19.2.1 註冊139信箱 463
19.2.2 在Nagios中添加聯繫人 464
19.3 其他方式 464
第7部分 圖解Nagios前端接口
第20章 使用Nagios的Web接口 466
20.1 一般選項 466
20.2 當前狀態選項 467
20.3 報告查看選項 467
20.4 系統配置選項 467
第21章 相關的Nagios前端程式 471
21.1 Web接口 471
21.2 Linux命令行接口 476
21.3 手機圖形接口 478
第8部分 Nagios的擴展
第22章 Addon和Plugin 482
22.1 Nagios Addons 482
22.1.1 有效的Addon 482
22.1.2 獲取Addon 483
22.2 Nagios Plugins 484
22.2.1 可用的外掛程式 486
22.2.2 獲取外掛程式 486
22.2.3 使用Plugin的方法 486
22.2.4 Plugin API 487
22.3 Nagios Plugin API 487
22.3.1 返回代碼 487
22.3.2 Plugin 輸出規格 487
22.3.3 Plugin輸出舉例 488
22.3.4 Plugin 輸出長度的約束 489
22.3.5 Perl Plugins 490
第23章 Nagios外掛程式開發 491
23.1 對開發平台的要求 491
23.2 Nagios外掛程式輸出的約定 491
23.2.1 將文本僅列印在一行 491
23.2.2 詳細輸出 492
23.2.3 螢幕輸出 492
23.2.4 外掛程式返回代碼 492
23.2.5 閾值和範圍 493
23.2.6 性能數據 494
23.2.7 翻譯 494
23.3 系統命令和輔助檔案 495
23.4 Perl外掛程式 495
23.5 運行時間逾時 496
23.5.1 使用DEFAULT_SOCKET_TIMEOUT 496
23.5.2 為網路外掛程式添加警告 496
23.6 外掛程式選項 496
23.6.1 選項處理 497
23.6.2 門限值及門限範圍的使用 498
23.7 測試 498
23.7.1 測試外掛程式 498
23.7.2 測試C 庫函式 499
23.8 代碼準則 501
23.8.1 C coding 501
23.8.2 Crediting sources 501
23.8.3 CVS 注釋 501
23.8.4 開發人員的翻譯工作 501
23.9 提交新的外掛程式和補丁 502
23.9.1 補丁的提交 502
23.9.2 捐獻外掛程式的提交 503
23.9.3 新外掛程式的提交 503
第9部分 商業版Nagios XI伺服器
第24章 走進Nagios XI 506
24.1 安裝Nagios XI 506
24.1.1 下載Nagios XI 507
24.1.2 安裝過程 507
24.1.3 安裝總結 511
24.2 安裝後的結構 512
24.2.1 相關服務 521
24.2.2 商業價格 523
24.3 有關NRDP 524
24.3.1 NRDP要比NSCA更好使用 524
24.3.2 NRDP的工作原理 525
24.3.3 下載和安裝NRDP 525
24.3.4 測試NRDP API 527
24.3.5 使用NRDP客戶端 527
第25章 訪問Web界面 529
25.1 Home選項 531
25.1.1 快速查看 532
25.1.2 詳細查看 532
25.1.3 性能數據圖 535
25.1.4 網路狀態圖 536
25.1.5 事件管理 537
25.1.6 監控Nagios引擎進程 538
5.2 Views選項 539
25.2.1 查看工具 540
25.2.2 定製查看 540
25.3 Dashboards選項 541
25.3.1 儀錶板工具 541
25.3.2 我的儀錶板 542
25.3.3 添加Dashlets 542
25.4 Report選項 543
25.4.1 我的報告 544
25.4.2 有效報告 544
25.4.3 數據可視化 548
25.4.4 遺留報告 548
25.5 Configure選項 549
25.5.1 運行配置監控嚮導 549
25.5.2 進入Nagios核心配置管理 557
25.5.3 賬戶設定 571
25.6 Help選項 573
25.7 Admin選項 574
25.7.1 查看系統狀態 575
25.7.2 用戶管理 577
25.7.3 系統配置 578
25.7.4 監控配置 584
25.7.5 檢測輸出傳輸 585
25.7.6 系統擴展 585