注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件工程及軟件方法學深入淺出Prometheus:原理、應用、源碼與拓展詳解

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

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

定 價:¥89.00

作 者: 陳曉宇,楊川胡,陳嘯 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121360954 出版時間: 2019-04-01 包裝: 平裝
開本: 16開 頁數: 384 字數:  

內容簡介

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

作者簡介

  陳曉宇 宜信容器云架構師,負責宜信PaaS平臺的設計和推廣,幫助企業(yè)從傳統(tǒng)應用遷移至云原生應用。在云計算相關行業(yè)具有豐富的研發(fā)與架構經驗,并積極參與OpenStack、Kubernetes、Harbor等社區(qū)的開源項目。楊川胡 “k8s技術圈”社區(qū)維護者,全棧工程師,具備豐富的云計算、上億活躍用戶應用后端實踐經驗,擅長Python、Golang、Docker、Kubernetes等技術,曾在小米擔任資深研發(fā)工程師。個人GitHub頁面:https://github.com/cnych?!£悋[ Prometheus二次開發(fā)深度使用者,專注于分布式搜索、流式計算、集群監(jiān)控、大數據安全領域。現就職于深信服科技股份有限公司安全感知團隊,負責數據平臺基礎架構研發(fā)工作。

圖書目錄

第1篇 Prometheus原理
第1章 監(jiān)控 2
1.1 監(jiān)控系統(tǒng)概覽 2
1.2 基礎資源監(jiān)控 4
1.2.1 網絡監(jiān)控 4
1.2.2 存儲監(jiān)控 6
1.2.3 服務器監(jiān)控 7
1.3 中間件監(jiān)控 9
1.4 應用程序監(jiān)控(APM) 10
1.5 日志監(jiān)控 13
1.6 監(jiān)控系統(tǒng)實現 14
1.6.1 總體架構 14
1.6.2 指標采集 15
1.6.3 數據處理 18
1.7 監(jiān)控系統(tǒng)的發(fā)展趨勢 21
1.8 本書主角——Prometheus 22
1.9 其他開源監(jiān)控工具 26
1.9.1 Zabbix 26
1.9.2 Nagios 30
1.9.3 Open-Falcon 31
1.10 監(jiān)控系統(tǒng)的對比 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 服務發(fā)現 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并非監(jiān)控銀彈 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 遠端接口規(guī)范 71
3.3.3 相關參數 74
3.4 存儲匯聚 77


第2篇 Prometheus在傳統(tǒng)應用監(jiān)控中的應用
第4章 Prometheus exporter詳解 80
4.1 服務分類 80
4.2 數據規(guī)范 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監(jiān)控中的應用
第5章 Kubernetes監(jiān)控方案 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中添加自定義的監(jiān)控項 125
6.4 在Prometheus Operator中添加自定義告警 132
6.4.1 配置PrometheusRule 133
6.4.2 配置告警 138
6.5 Prometheus Operator的高級配置 144
6.5.1 自動發(fā)現配置 145
6.5.2 數據持久化配置 152
第7章 Prometheus監(jiān)控Kubernetes之服務配置 159
7.1 靜態(tài)配置 159
7.2 服務發(fā)現配置 164
第8章 Prometheus監(jiān)控Kubernetes之監(jiān)控對象 171
8.1 容器監(jiān)控 172
8.1.1 Prometheus的配置方式 172
8.1.2 容器指標 174
8.2 apiserver監(jiān)控 177
8.2.1 配置方式 177
8.2.2 apiserver指標 181
8.3 Service監(jiān)控 182
8.4 kube-state-metrics監(jiān)控 185
8.5 主機監(jiān)控 186
第9章 Prometheus監(jiān)控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監(jiān)控Kubernetes之告警 219
10.1 AlertManager簡介 219
10.2 安裝AlertManager 220
10.3 告警規(guī)則 225
10.4 webhook接收器 231


第4篇 Prometheus源碼與拓展
第11章 Prometheus服務組件 240
11.1 Prometheus源碼的目錄結構 240
11.2 原生Prometheus的不足 242
11.3 源碼改造——更改時區(qū) 243
11.3.1 源碼修改 243
11.3.2 編譯 244
11.3.3 功能驗證 244
11.4 源碼改造——用blog4go記錄系統(tǒng)日志 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規(guī)則存儲 262
11.6.1 規(guī)則加載流程 262
11.6.2 表結構設計 262
11.6.3 規(guī)則加載模塊 264
11.6.4 loadGroups改造 267
11.6.5 初始化 269
11.6.6 功能驗證 269
11.7 數據采集 270
11.7.1 服務發(fā)現 270
11.7.2 指標采集 277
11.7.3 存儲指標 289
11.8 通知管理 297
11.8.1 啟動notifier服務 298
11.8.2 注冊notifier 308
11.9 規(guī)則管理 311
11.9.1 規(guī)則調度 312
11.9.2 查詢引擎 321
11.10 源碼改造——不重復scrape及自帶時間戳規(guī)則運算 327
11.10.1 實現思路 328
11.10.2 不重復scrape 328
11.10.3 自帶時間戳規(guī)則運算 331
11.10.4 功能驗證 343
第12章 AlertManager服務組件 348
12.1 接收告警 348
12.2 告警調度 351
12.3 告警匹配 356
12.4 告警處理 357
12.5 告警通知 362

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號