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

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

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

定 價(jià):¥99.00

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

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

內(nèi)容簡介

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

作者簡介

  作者介紹詹姆斯·特恩布爾(James Turnbull),曾任Kickstarter CTO、Docker公司服務(wù)和支持副總裁、Venmo公司工程副總裁、Puppet Labs技術(shù)運(yùn)維副總裁。熱衷于開源領(lǐng)域,著有近10本技術(shù)書,包括《Linux系統(tǒng)管理大全》《精通Puppet配置管理工具》。譯者介紹浙江中金黃金集團(tuán)CTO,曾就職于美國道富銀行,歷任全棧工程師、架構(gòu)師、技術(shù)經(jīng)理。技術(shù)涉獵廣泛,在產(chǎn)品設(shè)計(jì)開發(fā)、架構(gòu)設(shè)計(jì)、技術(shù)團(tuán)隊(duì)管理等方面有豐富經(jīng)驗(yàn)。另譯有《擴(kuò)展jQuery》和《HTML5+JavaScript動(dòng)畫基礎(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)控的實(shí)際存在形式 2
1.3.1 手動(dòng)、用戶發(fā)起或無監(jiān)控階段 3
1.3.2 被動(dòng)式監(jiān)控階段 3
1.3.3 主動(dòng)式監(jiān)控階段 4
1.4 模型分布 4
1.5 實(shí)施主動(dòng)式監(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)的知識(shí) 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 上下文和有價(jià)值的通知 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)對(duì)象為中心 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)和實(shí)現(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)控檢測(cè) 44
3.2.7 Riemann過濾的一個(gè)小插曲 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 測(cè)試Riemann配置 58
3.6 驗(yàn)證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存儲(chǔ)空間 80
4.4.3 Carbon和Graphite服務(wù)管理 81
4.5 配置Graphite-API 84
4.5.1 Graphite-API的服務(wù)管理 86
4.5.2 測(cè)試Graphite-API 87
4.6 配置Grafana 87
4.7 為Graphite配置Riemann 91
4.8 Grafana簡介 95
4.9 Graphite和Carbon冗余 100
4.10 時(shí)間和時(shí)區(qū) 103
4.10.1 手動(dòng)管理時(shí)間 103
4.10.2 通過配置管理工具管理時(shí)間 106
4.10.3 檢查時(shí)間狀態(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)控主機(jī) 110
5.1 collectd簡介 111
5.2 應(yīng)該監(jiān)控哪些主機(jī)組件 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插件來進(jìn)行監(jiān)控 118
5.4.2 最后的準(zhǔn)備 130
5.4.3 啟用和運(yùn)行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 檢測(cè)正在運(yùn)行的進(jìn)程 137
6.2 其他行動(dòng)和改進(jìn) 141
6.3 重復(fù)一些傳統(tǒng)監(jiān)控 142
6.4 通過更智能的數(shù)據(jù)進(jìn)行更好的監(jiān)控 143
6.4.1 構(gòu)建基于中位數(shù)的檢測(cè) 143
6.4.2 使用百分位數(shù)進(jìn)行基于主機(jī)的檢測(cè) 144
6.4.3 對(duì)檢測(cè)進(jìn)行抽象 145
6.4.4 對(duì)檢測(cè)進(jìn)行組織 149
6.5 使用Grafana繪制collectd指標(biāo) 149
6.5.1 創(chuàng)建主機(jī)看板 150
6.5.2 創(chuàng)建第 一個(gè)主機(jī)圖表 151
6.5.3 創(chuàng)建內(nèi)存圖表 154
6.5.4 單個(gè)主機(jī)圖表 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章 容器——另一種類型的主機(jī) 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)計(jì)信息 166
7.4 為Docker指標(biāo)指定不同的解析度 176
7.5 清理舊的Graphite Docker指標(biāo) 177
7.6 使用Docker 指標(biāo)進(jìn)行監(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 測(cè)試Java是否安裝成功 183
8.3.4 在Ubuntu和Debian上安裝Logstash包 183
8.3.5 在Red Hat上安裝Logstash包 184
8.3.6 通過配置管理工具安裝Logstash 184
8.3.7 測(cè)試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 測(cè)試Elasticsearch是否安裝成功 189
8.5.5 確定Elasticsearch正在運(yùn)行 189
8.6 配置Elasticsearch集群和節(jié)點(diǎn) 190
8.7 時(shí)間和時(shí)區(qū) 193
8.8 集成Logstash和Elasticsearch 193
8.8.1 Logstash內(nèi)部會(huì)發(fā)生什么 195
8.8.2 Elasticsearch內(nèi)部會(huì)發(fā)生什么 200
8.9 安裝Kibana 201
8.10 配置Kibana 202
8.11 運(yùn)行Kibana 203
8.12 通過Syslog將主機(jī)連接到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 伸縮擴(kuò)展Logstash和Elasticsearch 219
8.16.1 伸縮擴(kuò)展Logstash 219
8.16.2 伸縮擴(kuò)展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)該在哪里測(cè)量 231
9.1.2 測(cè)量模式 232
9.1.3 時(shí)間和觀察者效應(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 健康檢查、端點(diǎn)和外部監(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 升級(jí)電子郵件通知 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 維護(hù)和停機(jī) 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檢測(cè) 318
11.4.5 webtier函數(shù) 320
11.5 向Riemann添加Tornado檢測(cè) 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)注點(diǎn) 339
12.5 小結(jié) 342
第 13章 監(jiān)控Tornado:數(shù)據(jù)層 343
13.1 監(jiān)控?cái)?shù)據(jù)層的MySQL服務(wù)器 343
13.1.1 使用MySQL數(shù)據(jù)作為指標(biāo) 346
13.1.2 查詢的執(zhí)行時(shí)間 349
13.2 監(jiān)控?cái)?shù)據(jù)層的Redis服務(wù)器 351
13.3 解決Tornado數(shù)據(jù)層的監(jiān)控 353
13.4 Tornado看板 355
13.5 擴(kuò)展Tornado之外的監(jiān)控 360
13.6 小結(jié) 361
附錄 淺談Clojure和函數(shù)式編程 362

本目錄推薦

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