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

深入淺出Prometheus:原理、應用、源碼與拓展詳解

( 簡體 字)
作者:陳曉宇,楊川胡,陳嘯類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社深入淺出Prometheus:原理、應用、源碼與拓展詳解 3dWoo書號: 50939
詢問書籍請說出此書號!

缺書
NT售價: 445

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

譯者序:

前言:

無論是傳統數據中心還是云數據中心,無論是物理機、虛擬機還是容器,整個數據中心的建設都繞不開監控這個話題。優秀的監控系統不僅需要兼容各種設備和環境,還需要具備高性能、高可靠及易運維等特性,Prometheus正是其中之一。伴隨著容器相關技術的興起,Prometheus正逐步成為容器監控的標準,并且對于傳統應用和設備也有很好的兼容性。
Prometheus由Go語言編寫而成,采用Pull方式獲取監控信息,并提供了多維度的數據模型和靈活的查詢接口。Prometheus不僅可以通過靜態文件配置監控對象,還支持自動發現機制,能夠通過Kubernetes、Consul、DNS等多種方式動態獲取監控對象。在數據采集方面,借助Go語言的高并發特性,單機Prometheus可以采集數百個節點的監控數據;在數據存儲方面,隨著本地時序數據庫的不斷優化,單機Prometheus每秒可以采集一千萬個指標,如果需要存儲大量的歷史監控數據,則還支持遠端存儲。
本書共分為4篇12章,分別講解Prometheus原理、在傳統應用監控和Kubernetes監控中的應用,以及源碼和拓展,具體內容如下所述。
第1章主要介紹監控系統的概念和架構設計,并剖析監控系統的內部結構,從程序運行的角度講解基礎資源監控、中間件監控、應用程序監控和日志監控,并將多種監控系統的優缺點進行對比,指出Prometheus獨特的優勢。
第2章首先介紹Prometheus的相關概念,包括數據指標的定義和分類;然后介紹Prometheus的總體架構和工作原理,包括數據采集、數據處理、數據存儲、數據查詢及告警;最后講解Prometheus聯邦及Thanos的原理。
第3章主要介紹Prometheus數據存儲。首先從歷史演進、設計理念、實現原理等多個方面詳細介紹Prometheus的本地時序數據庫(Prometheus TSDB);然后介紹Prometheus遠端存儲的使用方式和實現原理,并以InfluxDB為例,詳解Adapter的工作原理。
第4章主要介紹Prometheus exporter的背景、使用方式和工作原理。首先介紹幾個常用的exporter,包括Node exporter、Redis exporter、MySQL server exporter的內部構造;然后從源碼角度解析exporter,并編寫一個簡單的exporter。
第5章主要介紹Kubernetes集群的常用監控方案,包括?Heapster、kube-state-metrics、metrics-server,并介紹將Prometheus應用于Kubernetes集群的優勢。
第6章主要介紹Prometheus在Kubernetes集群中的安裝和配置。首先介紹如何用常規的手動方式在Kubernetes集群中安裝Prometheus;然后介紹Kubernetes中的另一種更高級的監控方案Prometheus Operator的安裝和使用,包括添加自定義監控項、添加自定義告警、自動發現配置、數據持久化配置等。
第7章主要介紹Prometheus監控Kubernetes集群服務的一些配置方法。首先介紹手動的靜態配置方法,然后介紹如何使用Prometheus中的服務發現機制來自動發現Kubernetes中的Service。
第8章主要介紹Prometheus在Kubernetes集群中的一些常用監控對象,包括cAdvisor監控、apiserver監控、Service監控、kube-state-metrics監控,并介紹如何使用node-exporter監控Kubernetes集群中的節點。
第9章主要介紹Prometheus監控Kubernetes集群的數據展示。首先介紹在Kubernetes集群中安裝Grafana的方法;然后介紹如何將Grafana配置Prometheus數據源,以及一些常用的Dashboard配置方法;并介紹Grafana針對Kubernetes集群監控的一個常用插件grafana-kuberentes-app的安裝和使用;最后介紹如何使用Grafana告警,包括郵件告警、釘釘告警等。
第10章主要介紹Prometheus監控Kubernetes集群的告警功能。首先介紹如何在Kubernetes集群中安裝Prometheus的告警模塊AlertManager;然后介紹如何通過ConfigMap?資源對象配置告警規則;最后編寫一個?webhook?接收器來處理AlertManager告警數據。
第11章主要對Prometheus源碼進行分析,涉及Prometheus數據采集、規則管理、通知管理、存儲管理和查詢引擎方面的內容,并以二次開發實戰的方式加深讀者對Prometheus程序結構的理解。
第12章主要對AlertManager源碼進行分析,涉及接收告警、告警調度、告警匹配、告警處理和告警通知方面的內容,并結合配置文件中的配置項,帶領讀者從源碼角度理解告警分組、告警頻次控制、告警路由、告警抑制和告警靜默功能的實現。
致謝
本書作者分別來自宜信容器云團隊(陳曉宇)、“k8s技術圈”社區(楊川胡)及深信服安全感知團隊(陳嘯),感謝這些團隊及社區對本書作者的支持和鼓勵。
感謝張國霞編輯在成書過程中對作者的協助和鞭策。
感謝作者家人對作者的支持和鼓勵,來自家人的愛,讓我們時刻擁有信心
────本書作者
內容簡介:

Prometheus是由SoundCloud開源的監控系統,是Google BorgMon監控系統的開源版本。伴隨著容器及Kubernetes技術的興起,Prometheus越來越受到大家的關注。本書系統講解了Prometheus的原理、應用、源碼和拓展,圖文并茂、講解全面。原理篇主要介紹了Prometheus的整體架構及與其他監控系統的對比和優勢,讓讀者從整體上把握Prometheus的相關概念。應用篇從傳統應用監控和Kubernetes監控兩方面講解Prometheus的安裝、配置及優秀實踐,著重介紹Redis、MySQL server等常用中間件監控,并結合Kubernetes,詳細講解如何通過Prometheus監控容器集群,還對每個操作都進行了非常詳盡的記錄。源碼與拓展篇從整體到局部詳細剖析Prometheus的源碼架構,并且結合實際生產環境二次定制Prometheus的部分功能,可加深讀者對Prometheus的理解,也能很好地幫助讀者提升Prometheus開發技能。本書適合運維工程師、軟件架構師、研發工程師及其他資深IT人士參考和閱讀。
目錄:

第1篇 Prometheus原理

第1章 監控 2
1.1 監控系統概覽 2
1.2 基礎資源監控 4
1.2.1 網絡監控 4
1.2.2 存儲監控 6
1.2.3 服務器監控 7
1.3 中間件監控 9
1.4 應用程序監控(APM) 10
1.5 日志監控 13
1.6 監控系統實現 14
1.6.1 總體架構 14
1.6.2 指標采集 15
1.6.3 數據處理 18
1.7 監控系統的發展趨勢 21
1.8 本書主角——Prometheus 22
1.9 其他開源監控工具 26
1.9.1 Zabbix 26
1.9.2 Nagios 30
1.9.3 Open-Falcon 31
1.10 監控系統的對比 33
第2章 深入Prometheus設計 35
2.1 指標 35
2.1.1 Prometheus的指標定義 35
2.1.2 Prometheus的指標分類 36
2.1.3 Prometheus數據樣本 40
2.2 數據采集 40
2.2.1 服務發現 42
2.2.2 數據采集 44
2.3 數據處理 45
2.3.1 重新定義標簽 45
2.3.2 標簽篩選 46
2.4 數據存儲 46
2.4.1 本地存儲 47
2.4.2 遠程存儲 50
2.5 數據查詢 50
2.6 告警 52
2.7 集群 54
2.7.1 聯邦 54
2.7.2 Thanos 55
2.8 Prometheus并非監控銀彈 59
第3章 數據存儲 60
3.1 存儲接口 60
3.2 本地存儲 62
3.2.1 歷史 63
3.2.2 核心概念 63
3.2.3 相關參數 69
3.2.4 本地存儲接口 70
3.3 遠端存儲 71
3.3.1 總體架構 71
3.3.2 遠端接口規范 71
3.3.3 相關參數 74
3.4 存儲匯聚 77

第2篇 Prometheus在傳統應用監控中的應用
第4章 Prometheus exporter詳解 80
4.1 服務分類 80
4.2 數據規范 81
4.3 exporter簡介 82
4.4 基于Go客戶端編寫一個exporter 84
4.5 Node exporter解析 87
4.6 Redis exporter解析 90
4.6.1 Redis exporter的應用 90
4.6.2 Redis exporter的工作原理 91
4.7 MySQL server exporter解析 93
4.7.1 MySQL server exporter的應用 93
4.7.2 MySQL server exporter的工作原理 94
4.8 深入探索Go客戶端 96

第3篇 Prometheus在Kubernetes監控中的應用
第5章 Kubernetes監控方案 100
5.1 Heapster 101
5.2 kube-state-metrics 104
5.3 metrics-server 105
5.4 Prometheus 105
第6章 Prometheus的安裝配置 107
6.1 手動安裝Prometheus 107
6.2 安裝Prometheus Operator 114
6.3 在Prometheus Operator中添加自定義的監控項 125
6.4 在Prometheus Operator中添加自定義告警 132
6.4.1 配置PrometheusRule 133
6.4.2 配置告警 138
6.5 Prometheus Operator的高級配置 144
6.5.1 自動發現配置 145
6.5.2 數據持久化配置 152
第7章 Prometheus監控Kubernetes之服務配置 159
7.1 靜態配置 159
7.2 服務發現配置 164
第8章 Prometheus監控Kubernetes之監控對象 171
8.1 容器監控 172
8.1.1 Prometheus的配置方式 172
8.1.2 容器指標 174
8.2 apiserver監控 177
8.2.1 配置方式 177
8.2.2 apiserver指標 181
8.3 Service監控 182
8.4 kube-state-metrics監控 185
8.5 主機監控 186
第9章 Prometheus監控Kubernetes之數據展現 191
9.1 在Kubernetes集群中安裝Grafana 191
9.2 配置Grafana 200
9.2.1 數據源 200
9.2.2 Dashboard 201
9.3 插件 207
9.4 Grafana告警 212
9.4.1 郵件告警 212
9.4.2 釘釘告警 214
9.4.3 Grafana告警配置 215
第10章 Prometheus監控Kubernetes之告警 219
10.1 AlertManager簡介 219
10.2 安裝AlertManager 220
10.3 告警規則 225
10.4 webhook接收器 231

第4篇 Prometheus源碼與拓展
第11章 Prometheus服務組件 240
11.1 Prometheus源碼的目錄結構 240
11.2 原生Prometheus的不足 242
11.3 源碼改造——更改時區 243
11.3.1 源碼修改 243
11.3.2 編譯 244
11.3.3 功能驗證 244
11.4 源碼改造——用blog4go記錄系統日志 245
11.4.1 引入blog4go庫 245
11.4.2 設置日志回調函數 246
11.4.3 啟動日志記錄服務 246
11.4.4 配置config.xml 247
11.4.5 編譯 248
11.4.6 驗證服務 248
11.5 Prometheus的初始化 248
11.5.1 Prometheus性能調試 249
11.5.2 Context介紹 249
11.5.3 初始化服務組件 251
11.5.4 組件配置管理 257
11.5.5 啟動服務組件 258
11.6 源碼改造——MySQL規則存儲 262
11.6.1 規則加載流程 262
11.6.2 表結構設計 262
11.6.3 規則加載模塊 264
11.6.4 loadGroups改造 267
11.6.5 初始化 269
11.6.6 功能驗證 269
11.7 數據采集 270
11.7.1 服務發現 270
11.7.2 指標采集 277
11.7.3 存儲指標 289
11.8 通知管理 297
11.8.1 啟動notifier服務 298
11.8.2 注冊notifier 308
11.9 規則管理 311
11.9.1 規則調度 312
11.9.2 查詢引擎 321
11.10 源碼改造——不重復scrape及自帶時間戳規則運算 327
11.10.1 實現思路 328
11.10.2 不重復scrape 328
11.10.3 自帶時間戳規則運算 331
11.10.4 功能驗證 343
第12章 AlertManager服務組件 348
12.1 接收告警 348
12.2 告警調度 351
12.3 告警匹配 356
12.4 告警處理 357
12.5 告警通知 362
序: