幫助中心 | 我的帳號 | 關於我們

深入理解Zabbix監控系統

  • 作者:鮑光亞|責編:劉雅思
  • 出版社:人民郵電
  • ISBN:9787115558336
  • 出版日期:2021/05/01
  • 裝幀:平裝
  • 頁數:312
人民幣:RMB 99.9 元      售價:
放入購物車
加入收藏夾

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

作者介紹
鮑光亞|責編:劉雅思
    鮑光亞,本科畢業於山東大學,精通Zabbix和Prometheus監控軟體,對IT系統和服務監控軟體有深入研究。他在2014年至2019年就職于京東,從事Zabbix監控系統的運維和相關開發工作,對分散式、並行軟體開發和項目管理具有濃厚的興趣。他在工作期間始終踐行終身學習理念,不斷充實和提高自己,在2012年獲得了中國社會科學院研究生院MBA學位。作者個人郵箱為bgy.cn@outlook.com。

目錄
第一部分Zabbix的基礎工作機制
  第1章  Zabbix總體架構及演變
    1.1  監控系統概述
    1.2  Zabbix的總體架構
      1.2.1  Zabbix伺服器
      1.2.2  Zabbix代理
      1.2.3  Zabbix java gateway
      1.2.4  Zabbix客戶端
    1.3  Zabbix伺服器的技術演進
      1.3.1Zabbix 2.2  版本的Zabbix伺服器
      1.3.2Zabbix 3.0  版本的Zabbix伺服器
      1.3.3Zabbix 4.0  版本的Zabbix伺服器
      1.3.4Zabbix 5.0  版本的Zabbix伺服器
    1.4  小結
  第2章  Zabbix進程間通信與協調
    2.1  主進程和子進程的創建
      2.1.1  主進程的啟動和值守化
      2.1.2  子進程的分類和創建
      2.1.3  子進程從主進程繼承的內容
      2.1.4  進程的回收
    2.2  信號捕捉與處理
      2.2.1  Zabbix進程處理的信號類型
      2.2.2  信號處理函數
      2.2.3  信號的觸發與接收
      2.2.4  用日誌跟蹤信號
    2.3  Zabbix的共享內存
      2.3.1  共享內存結構——內存池
      2.3.2  共享內存的分配與釋放
      2.3.3  共享內存狀態的獲取
      2.3.4  Zabbix共享內存舉例
    2.4  TCP/IP套接字
      2.4.1  zbx_socket_t結構體
      2.4.2  作為伺服器端的套接字
      2.4.3  作為客戶端的套接字
    2.5  基於Unix域套接字的進程間通信服務
      2.5.1  Libevent庫在進程間通信服務中的應用
      2.5.2  進程間通信服務的數據結構及其工作過程
      2.5.3  進程間通信服務的初始化
      2.5.4  進程間通信服務的通信協議
      2.5.5  從日誌查看進程間通信服務消息
    2.6  鎖與信號量
      2.6.1  互斥鎖的應用
      2.6.2  讀寫鎖的應用
      2.6.3  信號量的應用
    2.7  小結
  第3章  數據結構設計
    3.1  向量
      3.1.1  向量的數據結構定義
      3.1.2  向量支持的操作
      3.1.3  向量的應用場景

    3.2  哈希集
      3.2.1  哈希集的數據結構定義
      3.2.2  哈希集支持的操作
      3.2.3  哈希函數及關鍵字
      3.2.4  哈希集的應用場景
    3.3  哈希映射
      3.3.1  哈希映射的數據結構定義
      3.3.2  哈希映射支持的操作
    3.4  二叉堆
      3.4.1  二叉堆的數據結構定義
      3.4.2  二叉堆支持的操作
      3.4.3  二叉堆的應用場景
    3.5  隊列
      3.5.1  隊列的數據結構定義
      3.5.2  隊列支持的操作
      3.5.3  隊列的應用場景
    3.6  鏈表
      3.6.1  鏈表的數據結構定義
      3.6.2  鏈表支持的操作
      3.6.3  鏈表的應用場景
    3.7  zbx_json和zbx_json_parse結構
      3.7.1  zbx_json和zbx_json_parse結構的數據結構定義
      3.7.2  zbx_json和zbx_json_parse結構支持的操作
      3.7.3  zbx_json和zbx_parse結構的應用場景
    3.8  小結
  第4章  數據緩存
    4.1  ConfigCache和configuration syncer進程
      4.1.1  ConfigCache的數據結構定義
      4.1.2  ConfigCache的初始化和首次載入
      4.1.3  configuration syncer進程
      4.1.4  實時導出ConfigCache數據
    4.2  HistoryCache和HistoryIndexCache
      4.2.1  數據結構與共享內存的區別
      4.2.2  HistoryCache和HistoryIndexCache的數據結構定義
      4.2.3  將監控值寫入緩存
      4.2.4  HistoryCache數據的讀取
      4.2.5  ids變數
    4.3  TrendCache
      4.3.1  TrendCache的數據結構定義
      4.3.2  TrendCache數據的寫入和讀取
    4.4  ValueCache
      4.4.1  ValueCache的數據結構定義
      4.4.2  ValueCache數據的寫入
      4.4.3  ValueCache數據的淘汰
      4.4.4  ValueCache數據的讀取
    4.5  小結
  第5章  套接字通信與加密
    5.1  TCP/IP套接字通信的過程
      5.1.1  多路復用與接受連接過程
      5.1.2  接收緩存與發送緩存

      5.1.3  超時機制
      5.1.4  關閉連接
    5.2  ZBXP
      5.2.1  ZBXP通信測試工具
      5.2.2  伺服器-代理的ZBXP
      5.2.3  客戶端-伺服器的通信協議
      5.2.4  Web應用-伺服器的通信協議
    5.3  TCP/IP套接字通信的加密
    5.4  小結
  第6章  Zabbix日誌及其應用
    6.1  日誌輸出
      6.1.1  日誌輸出函數
      6.1.2  日誌記錄格式
      6.1.3  日誌鎖
    6.2  日誌級別
      6.2.1  日誌級別的劃分
      6.2.2  在日誌記錄中添加日誌級別
      6.2.3  日誌相關代碼的統計
    6.3  小結
第二部分  Zabbix伺服器端的各個進程
  第7章  trapper類和poller類進程——監控數據的收集
    7.1  trapper類進程
      7.1.1  trapper進程
      7.1.2  snmp trapper進程
    7.2  poller類進程
      7.2.1  poller類進程的工作過程
      7.2.2  poller進程
      7.2.3  unreachable poller進程
      7.2.4  ipmi manager進程和ipmi poller進程
      7.2.5  icmp pinger進程
      7.2.6  java poller進程
      7.2.7  proxy poller進程
      7.2.8  http poller進程
    7.3  小結
  第8章  預處理進程和LLD進程
    8.1  進程間通信服務消息格式
    8.2  預處理進程
      8.2.1  預處理工作總體框架
      8.2.2  preprocessing manager進程
      8.2.3  preprocessing worker進程
    8.3  LLD進程
      8.3.1  進程間通信服務中的LLD消息
      8.3.2  LLD原始數據的採集和預處理
      8.3.3  lld manager進程
      8.3.4  lld worker進程
    8.4  小結
  第9章  history syncer進程——監控數據的計算與入庫
    9.1  history syncer進程的工作機制
      9.1.1  監控值的同步過程
      9.1.2  趨勢數據的同步過程

      9.1.3  事件的生成與處理
      9.1.4  動作的處理
      9.1.5  history syncer進程之間的協作
    9.2  觸發器的計算過程
      9.2.1  觸發器表達式的表示法
      9.2.2  表達式函數的計算
      9.2.3  外層的計算
    9.3  自定義history write模塊
      9.3.1  介面函數
      9.3.2  自定義模塊的註冊
    9.4  小結
  第10章  escalator進程、alert進程族和task manager進程——事件激發的動作
    10.1  escalator進程
      10.1.1  理解升級序列
      10.1.2  工作過程
      10.1.3  escalator進程與alert進程族以及task表的關係
    10.2  alert進程族
      10.2.1  核心數據結構與工作機制
      10.2.2  進程間通信服務消息與進程間交互
      10.2.3  alert syncer進程
      10.2.4  alert manager進程
      10.2.5  alerter進程
      10.2.6  看門狗邏輯
    10.3  task manager進程
      10.3.1  遠程命令任務和任務執行結果
      10.3.2  數據任務和數據結果任務
      10.3.3  立即檢查任務
      10.3.4  問題確認任務和問題關閉任務
    10.4  小結
  第11章  Zabbix內部監控
    11.1  self-monitoring進程與collector變數
      11.1.1  測量指標和單位
      11.1.2  數據結構
      11.1.3  數據處理過程
      11.1.4  數據溢出問題
      11.1.5  共享內存中的collector變數
    11.2  從資料庫獲取狀態信息
    11.3  從緩存獲取狀態信息
      11.3.1  獲取ConfigCache的狀態信息
      11.3.2  獲取ValueCache的狀態信息
      11.3.3  獲取HistoryCache和HistoryIndexCache的狀態信息
      11.3.4  獲取VMwareCache的狀態信息
    11.4  從其他渠道獲取信息
      11.4.1  從poller進程獲取信息
      11.4.2  從進程間通信服務獲取信息
      11.4.3  遠程獲取數據
    11.5  小結
  第12章  Zabbix代理專述
    12.1  Zabbix代理端分擔的功能
      12.1.1  功能劃分的現狀與評估

      12.1.2  未來功能劃分的可能性
    12.2  Zabbix代理端的工作機制
      12.2.1  Zabbix代理端的configuration syncer進程
      12.2.2  Zabbix代理端的data sender進程
      12.2.3  被動模式下的Zabbix代理
      12.2.4  Zabbix代理端的housekeeper進程
      12.2.5  Zabbix代理端的heartbeat sender進程
    12.3  小結
  第13章  資料庫表和housekeeper進程
    13.1  Zabbix伺服器訪問資料庫
      13.1.1  連接的建立與關閉
      13.1.2  SQL語句的構造與運行
      13.1.3  事務與數據的一致性
      13.1.4  訪問量的計算
    13.2  進程使用的資料庫表
      13.2.1  history syncer進程使用的表
      13.2.2  lld worker進程使用的表
      13.2.3  alert syncer進程使用的表
      13.2.4  escalator進程使用的表
      13.2.5  proxy poller進程使用的表
      13.2.6  configuration syncer進程使用的表
    13.3  housekeeper進程
      13.3.1  相關結構體定義
      13.3.2  清理數據的過程
      13.3.3  housekeeping_cleanup()函數
    13.4  小結
  第14章  Zabbix java gateway
    14.1  JMX監控
    14.2  ZJG的內部結構
      14.2.1  功能結構
      14.2.2  ThreadPoolExecutor線程池
      14.2.3  日誌輸出
    14.3  java poller進程與ZJG的交互
    14.4  ZJG的安裝部署
      14.4.1  編譯和部署ZJG
      14.4.2  啟動和停止ZJG
    14.5  小結
第三部分  Zabbix客戶端及源碼構建
  第15章  Zabbix客戶端的工作機制
    15.1  Zabbix客戶端主進程
      15.1.1  Zabbix客戶端主進程的工作過程
      15.1.2  collector變數與共享內存
    15.2  collector進程
      15.2.1  collector進程的工作過程
      15.2.2  system.cpu.util監控值的收集
      15.2.3  proc.cpu.util監控值的收集
      15.2.4  vfs.dev.read與vfs.dev.write數據
    15.3  listener進程
    15.4  active checks進程
    15.5  可載入模塊

      15.5.1  模塊載入過程
      15.5.2  製作模塊文件(.so文件)及測試
    15.6  小結
  第16章  Zabbix客戶端的原生監控項
    16.1  agent類監控項
    16.2  simple類監控項
    16.3  common類監控項
      16.3.1  系統通用監控項
      16.3.2  web.page組監控項
      16.3.3  vfs.file組監控項
      16.3.4  vfs.dir組監控項
      16.3.5  dns組監控項
      16.3.6  log組監控項
      16.3.7  zabbix.stats監控項
    16.4  specific類監控項
      16.4.1  kernel組監控項
      16.4.2  net組監控項
      16.4.3  proc組監控項
      16.4.4  文件系統監控項
      16.4.5  塊設備監控項
      16.4.6  內存監控項
      16.4.7  系統專用監控項
      16.4.8  感測器監控項
    16.5  hostname監控項
    16.6  小結
  第17章  Zabbix的構建過程
    17.1  總體構建過程
      17.1.1  源碼文件的目錄結構
      17.1.2  gcc的構建過程
    17.2  configure過程
      17.2.1  理解configure.ac文件
      17.2.2  理解aclocal.m4文件
      17.2.3  理解configure腳本
    17.3  make過程
      17.3.1  Makefile文件的內容結構
      17.3.2  理解Makefile.am文件
      17.3.3  src目錄的構建過程
    17.4  make install過程
    17.5  Zabbix客戶端的構建過程
    17.6  Zabbix的構建過程示例
    17.7  小結
第四部分  Zabbix Web
  第18章  Zabbix Web API
    18.1  類的關係與類的職責
    18.2  設計模式
      18.2.1  單例模式
      18.2.2  類工廠模式
    18.3  jsonrpc消息的處理過程
      18.3.1  準備階段
      18.3.2  消息處理階段

    18.4  擴展Zabbix Web API
      18.4.1  相關源碼文件的組織
      18.4.2  擴展方法示例
    18.5  小結
  第19章  Zabbix Web應用
    19.1  Zabbix的MVC模式
      19.1.1  MVC中的類圖與類的職責
      19.1.2  請求處理過程
    19.2  前端頁面的結構與構建
      19.2.1  布局與視圖
      19.2.2  HTML的構建過程
    19.3  CController類
    19.4  Zabbix Web應用的擴展
      19.4.1  源碼文件的目錄結構
      19.4.2  在頁面增加篩選條件
    19.5  小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032