注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)自動化技術(shù)、計算技術(shù)監(jiān)控的藝術(shù) 云原生時代的監(jiān)控框架

監(jiān)控的藝術(shù) 云原生時代的監(jiān)控框架

監(jiān)控的藝術(shù) 云原生時代的監(jiān)控框架

定 價:¥99.00

作 者: [英] 詹姆斯·特恩布爾(James Turnbull) 著,李強 譯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115539656 出版時間: 2020-06-01 包裝: 平裝
開本: 16開 頁數(shù): 375 字?jǐn)?shù):  

內(nèi)容簡介

  本書由前Docker員工、運維專家詹姆斯·特恩布爾執(zhí)筆,系統(tǒng)介紹現(xiàn)代應(yīng)用程序、架構(gòu)的監(jiān)控和度量。全書共分為13章,主要內(nèi)容包括監(jiān)控和度量過程中涉及的一些基本概念,描述基于主機的監(jiān)控。書中運用了大量的代碼進行分析例證,有助于實時監(jiān)控系統(tǒng)。另外,作者對系統(tǒng)日志、應(yīng)用程序以及通知等方面進行了系統(tǒng)介紹,并且在最后3章中,對Tornado的組成部分展開了詳細介紹,力求構(gòu)建可監(jiān)控的系統(tǒng)。本書適合軟件開發(fā)工程師、系統(tǒng)管理員以及其他所有對系統(tǒng)監(jiān)控和DevOps感興趣的人閱讀。

作者簡介

  作者介紹詹姆斯·特恩布爾(James Turnbull),曾任Kickstarter CTO、Docker公司服務(wù)和支持副總裁、Venmo公司工程副總裁、Puppet Labs技術(shù)運維副總裁。熱衷于開源領(lǐng)域,著有近10本技術(shù)書,包括《Linux系統(tǒng)管理大全》《精通Puppet配置管理工具》。譯者介紹浙江中金黃金集團CTO,曾就職于美國道富銀行,歷任全棧工程師、架構(gòu)師、技術(shù)經(jīng)理。技術(shù)涉獵廣泛,在產(chǎn)品設(shè)計開發(fā)、架構(gòu)設(shè)計、技術(shù)團隊管理等方面有豐富經(jīng)驗。另譯有《擴展jQuery》和《HTML5+JavaScript動畫基礎(chǔ)》。

圖書目錄

第 1章 引言 1
1.1 內(nèi)容概覽 2
1.2 監(jiān)控的定義 2
1.2.1 業(yè)務(wù)客戶 2
1.2.2 IT 客戶 2
1.3 監(jiān)控的實際存在形式 2
1.3.1 手動、用戶發(fā)起或無監(jiān)控階段 3
1.3.2 被動式監(jiān)控階段 3
1.3.3 主動式監(jiān)控階段 4
1.4 模型分布 4
1.5 實施主動式監(jiān)控 5
1.6 本書內(nèi)容 7
1.7 工具的選擇 8
第 2章 監(jiān)控框架 9
2.1 黑盒與白盒 10
2.2 以事件、日志、指標(biāo)為中心 11
2.2.1 更多關(guān)于指標(biāo)的知識 11
2.2.2 指標(biāo)的定義 12
2.2.3 指標(biāo)的類型 13
2.2.4 指標(biāo)小結(jié) 14
2.2.5 指標(biāo)聚合 15
2.3 上下文和有價值的通知 16
2.4 可視化 17
2.5 傳統(tǒng)監(jiān)控有何問題 18
2.5.1 靜態(tài)配置 18
2.5.2 不靈活的邏輯和閾值 18
2.5.3 以目標(biāo)對象為中心 19
2.5.4 寵物和肉牛的插曲 19
2.5.5 新方法的不同之處 20
2.5.6 更智能的閾值輸入 20
2.6 為監(jiān)控框架采集數(shù)據(jù) 27
2.7 小結(jié) 28
第3章 使用Riemann管理事件和指標(biāo) 29
3.1 Riemann簡介 30
3.1.1 Riemann的架構(gòu)和實現(xiàn) 30
3.1.2 安裝Riemann 31
3.2 配置Riemann 35
3.2.1 學(xué)習(xí)Clojure 35
3.2.2 Riemann的基礎(chǔ)配置 35
3.2.3 事件、流、索引 38
3.2.4 配置事件、流、索引 40
3.2.5 向Riemann發(fā)送事件 43
3.2.6 創(chuàng)建Riemann監(jiān)控檢測 44
3.2.7 Riemann過濾的一個小插曲 45
3.3 連接Riemann服務(wù)器 47
3.3.1 配置上游Riemann服務(wù)器 48
3.3.2 配置下游Riemann服務(wù)器 50
3.3.3 向下游發(fā)送Riemann事件 51
3.4 在上游Riemann服務(wù)器發(fā)出告警 52
3.4.1 Riemann事件限流 57
3.4.2 匯總Riemann事件 57
3.4.3 電子郵件通知的替代工具 58
3.5 測試Riemann配置 58
3.6 驗證Riemann配置 60
3.7 性能、可伸縮性、高可用性 61
3.8 Riemann的替代工具 63
3.9 小結(jié) 63
第4章 Graphite和Grafana 64
4.1 Graphite簡介 64
4.1.1 Carbon 65
4.1.2 Whisper 65
4.1.3 Graphite Web、Graphite-API、Grafana 66
4.2 Graphite的架構(gòu) 66
4.3 安裝Graphite 66
4.3.1 在Ubuntu上安裝Graphite 68
4.3.2 在Red Hat上安裝Graphite 68
4.3.3 安裝Graphite-API 70
4.3.4 安裝Grafana 71
4.3.5 通過配置管理工具安裝Graphite和Grafana 73
4.4 配置Graphite和Carbon 73
4.4.1 配置Carbon指標(biāo)的留存模式 78
4.4.2 估算Graphite存儲空間 80
4.4.3 Carbon和Graphite服務(wù)管理 81
4.5 配置Graphite-API 84
4.5.1 Graphite-API的服務(wù)管理 86
4.5.2 測試Graphite-API 87
4.6 配置Grafana 87
4.7 為Graphite配置Riemann 91
4.8 Grafana簡介 95
4.9 Graphite和Carbon冗余 100
4.10 時間和時區(qū) 103
4.10.1 手動管理時間 103
4.10.2 通過配置管理工具管理時間 106
4.10.3 檢查時間狀態(tài) 107
4.11 Graphite和Grafana的替代工具 107
4.11.1 商業(yè)工具 107
4.11.2 開源工具 108
4.12 Whisper的替代工具 108
4.12.1 InfluxDB 108
4.12.2 Cyanite 109
4.13 小結(jié) 109
第5章 監(jiān)控主機 110
5.1 collectd簡介 111
5.2 應(yīng)該監(jiān)控哪些主機組件 112
5.3 安裝collectd 113
5.3.1 在Ubuntu上安裝collectd 113
5.3.2 在Red Hat上安裝collectd 114
5.3.3 通過配置管理工具安裝collectd 115
5.4 配置collectd 115
5.4.1 加載和配置collectd插件來進行監(jiān)控 118
5.4.2 最后的準(zhǔn)備 130
5.4.3 啟用和運行collectd 130
5.5 collectd事件 130
5.6 將collectd事件發(fā)送到Graphite 132
5.7 重構(gòu)collectd指標(biāo)名稱 133
5.8 小結(jié) 136
第6章 在Riemann中使用collectd事件 137
6.1 檢測正在運行的進程 137
6.2 其他行動和改進 141
6.3 重復(fù)一些傳統(tǒng)監(jiān)控 142
6.4 通過更智能的數(shù)據(jù)進行更好的監(jiān)控 143
6.4.1 構(gòu)建基于中位數(shù)的檢測 143
6.4.2 使用百分位數(shù)進行基于主機的檢測 144
6.4.3 對檢測進行抽象 145
6.4.4 對檢測進行組織 149
6.5 使用Grafana繪制collectd指標(biāo) 149
6.5.1 創(chuàng)建主機看板 150
6.5.2 創(chuàng)建第 一個主機圖表 151
6.5.3 創(chuàng)建內(nèi)存圖表 154
6.5.4 單個主機圖表 155
6.5.5 其他圖表 156
6.6 網(wǎng)絡(luò)、設(shè)備和Microsoft Windows監(jiān)控 156
6.7 collectd的替代工具 157
6.7.1 商業(yè)工具 157
6.7.2 開源工具 157
6.8 小結(jié) 158
第7章 容器——另一種類型的主機 159
7.1 容器監(jiān)控面臨的挑戰(zhàn) 159
7.2 監(jiān)控Docker容器 162
7.2.1 Docker collectd插件 163
7.2.2 安裝Docker collectd插件 164
7.2.3 配置Docker collectd插件 165
7.3 使用Riemann處理Docker collectd的統(tǒng)計信息 166
7.4 為Docker指標(biāo)指定不同的解析度 176
7.5 清理舊的Graphite Docker指標(biāo) 177
7.6 使用Docker 指標(biāo)進行監(jiān)控 177
7.7 其他容器監(jiān)控工具 178
7.8 小結(jié) 179
第8章 日志 180
8.1 ELK技術(shù)棧入門 180
8.2 Logstash架構(gòu) 181
8.3 安裝Logstash 183
8.3.1 在Debian和Ubuntu上安裝Java 183
8.3.2 在Red Hat上安裝Java 183
8.3.3 測試Java是否安裝成功 183
8.3.4 在Ubuntu和Debian上安裝Logstash包 183
8.3.5 在Red Hat上安裝Logstash包 184
8.3.6 通過配置管理工具安裝Logstash 184
8.3.7 測試Logstash是否已安裝成功 185
8.4 配置Logstash 185
8.5 安裝Elasticsearch 187
8.5.1 在Debian和Ubuntu上安裝Java 187
8.5.2 在Red Hat上安裝Java 188
8.5.3 通過配置管理工具安裝Elasticsearch 189
8.5.4 測試Elasticsearch是否安裝成功 189
8.5.5 確定Elasticsearch正在運行 189
8.6 配置Elasticsearch集群和節(jié)點 190
8.7 時間和時區(qū) 193
8.8 集成Logstash和Elasticsearch 193
8.8.1 Logstash內(nèi)部會發(fā)生什么 195
8.8.2 Elasticsearch內(nèi)部會發(fā)生什么 200
8.9 安裝Kibana 201
8.10 配置Kibana 202
8.11 運行Kibana 203
8.12 通過Syslog將主機連接到Logstash 205
8.12.1 配置Logstash 205
8.12.2 Syslog概覽 206
8.12.3 配置Syslog 207
8.13 記錄Docker日志 209
8.14 將數(shù)據(jù)從Logstash發(fā)送到Riemann 214
8.15 將數(shù)據(jù)從Riemann發(fā)送到Logstash 216
8.16 伸縮擴展Logstash和Elasticsearch 219
8.16.1 伸縮擴展Logstash 219
8.16.2 伸縮擴展Elasticsearch 220
8.17 監(jiān)控組件 221
8.17.1 監(jiān)控RSyslog 221
8.17.2 監(jiān)控Logstash 221
8.17.3 監(jiān)控Elasticsearch 226
8.18 Logstash的替代方案 229
8.18.1 Splunk 229
8.18.2 Heka 229
8.18.3 Graylog 229
8.18.4 mtail 229
8.19 小結(jié) 229
第9章 構(gòu)建可監(jiān)控的應(yīng)用程序 230
9.1 應(yīng)用程序監(jiān)控入門 231
9.1.1 應(yīng)該在哪里測量 231
9.1.2 測量模式 232
9.1.3 時間和觀察者效應(yīng) 232
9.2 指標(biāo) 233
9.2.1 應(yīng)用程序指標(biāo) 233
9.2.2 業(yè)務(wù)指標(biāo) 233
9.2.3 監(jiān)控模式或放置指標(biāo)的位置 233
9.2.4 工具模式 233
9.2.5 外部模式 234
9.2.6 在示例應(yīng)用程序中構(gòu)建指標(biāo) 235
9.3 日志 248
9.3.1 添加自己的結(jié)構(gòu)化日志條目 249
9.3.2 將結(jié)構(gòu)化日志添加到示例應(yīng)用程序 250
9.3.3 使用現(xiàn)有日志 255
9.4 健康檢查、端點和外部監(jiān)控 258
9.5 部署 262
9.5.1 向示例應(yīng)用程序添加部署通知 262
9.5.2 使用部署事件 264
9.6 跟蹤 267
9.7 小結(jié) 267
第 10章 通知 268
10.1 目前的通知 269
10.2 更新expired事件配置 269
10.3 升級電子郵件通知 269
10.3.1 格式化電子郵件主題 271
10.3.2 格式化電子郵件正文 271
10.4 為通知添加圖表 275
10.4.1 定義數(shù)據(jù)源 276
10.4.2 定義查詢參數(shù) 277
10.4.3 定義圖表面板和行 279
10.4.4 繪制看板 280
10.4.5 將看板添加到Riemann通知中 281
10.4.6 一些腳本化看板示例 282
10.4.7 其他上下文 283
10.5 添加Slack作為目的地 283
10.6 添加PagerDuty作為目的地 286
10.7 維護和停機 289
10.8 從通知中學(xué)習(xí) 292
10.9 其他告警工具 295
10.10 小結(jié) 295
第 11章 監(jiān)控之巔:監(jiān)控Tornado 296
11.1 Tornado應(yīng)用程序 297
11.2 監(jiān)控策略 299
11.3 標(biāo)記Tornado事件 299
11.4 監(jiān)控Tornado:Web層 300
11.4.1 監(jiān)控HAProxy 301
11.4.2 監(jiān)控Nginx 309
11.4.3 解決Web層的監(jiān)控問題 316
11.4.4 在Riemann中設(shè)置Tornado檢測 318
11.4.5 webtier函數(shù) 320
11.5 向Riemann添加Tornado檢測 325
11.6 小結(jié) 326
第 12章 監(jiān)控Tornado:應(yīng)用程序?qū)印?27
12.1 監(jiān)控應(yīng)用程序?qū)拥腏VM 327
12.2 采集應(yīng)用程序?qū)拥腏VM日志 331
12.3 監(jiān)控Tornado API應(yīng)用程序 334
12.4 解決Tornado應(yīng)用程序?qū)颖O(jiān)控的關(guān)注點 339
12.5 小結(jié) 342
第 13章 監(jiān)控Tornado:數(shù)據(jù)層 343
13.1 監(jiān)控數(shù)據(jù)層的MySQL服務(wù)器 343
13.1.1 使用MySQL數(shù)據(jù)作為指標(biāo) 346
13.1.2 查詢的執(zhí)行時間 349
13.2 監(jiān)控數(shù)據(jù)層的Redis服務(wù)器 351
13.3 解決Tornado數(shù)據(jù)層的監(jiān)控 353
13.4 Tornado看板 355
13.5 擴展Tornado之外的監(jiān)控 360
13.6 小結(jié) 361
附錄 淺談Clojure和函數(shù)式編程 362

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號