Contents 目 錄
譯者序
前 言
第1章 監控簡介1
1.1 什麼是監控1
1.1.1 技術作為客戶2
1.1.2 業務作為客戶2
1.2 監控基礎知識2
1.2.1 事後監控2
1.2.2 機械式監控3
1.2.3 不夠準確的監控4
1.2.4 靜態監控5
1.2.5 不頻繁的監控5
1.2.6 缺少自動化或自服務6
1.2.7 監控模式總結6
1.3 監控機製7
1.3.1 探針和內省7
1.3.2 拉取和推送7
1.3.3 監控數據的類型8
1.4 指標8
1.4.1 什麼是指標9
1.4.2 指標類型10
1.4.3 指標摘要12
1.4.4 指標聚閤12
1.5 監控方法論20
1.5.1 USE方法20
1.5.2 Google的四個黃金指標21
1.6 警報和通知22
1.7 可視化23
1.8 另一本關於監控的書24
1.9 本書內容24
1.10 小結25
第2章 Prometheus簡介26
2.1 Prometheus起源26
2.2 Prometheus架構27
2.2.1 指標收集28
2.2.2 服務發現29
2.2.3 聚閤和警報29
2.2.4 查詢數據29
2.2.5 自治30
2.2.6 冗餘和高可用性30
2.2.7 可視化31
2.3 Prometheus數據模型31
2.3.1 指標名稱31
2.3.2 標簽32
2.3.3 采樣數據32
2.3.4 符號錶示32
2.3.5 保留時間33
2.4 安全模型33
2.5 Prometheus生態係統34
2.6 參考鏈接34
2.7 小結34
第3章 安裝和啓動Prometheus35
3.1 安裝Prometheus35
3.1.1 在Linux上安裝Prometheus36
3.1.2 在Windows上安裝Prometheus37
3.1.3 在Windows上安裝Prometheus的其他方式38
3.1.4 在Mac OS X上安裝Prometheus38
3.1.5 通過監控套件安裝Prometheus38
3.1.6 通過配置管理工具安裝Prometheus39
3.1.7 通過Kubernetes安裝Prometheus39
3.2 配置Prometheus39
3.2.1 global40
3.2.2 alerting41
3.2.3 rule_files42
3.2.4 scrape_configs42
3.3 啓動Prometheus43
3.4 第一個指標44
3.5 錶達式瀏覽器45
3.6 聚閤時間序列48
3.7 容量規劃51
3.7.1 內存51
3.7.2 磁盤51
3.8 小結52
第4章 監控主機和容器53
4.1 監控節點54
4.1.1 安裝Node Exporter54
4.1.2 配置Node Exporter55
4.1.3 配置textfile收集器56
4.1.4 啓用systemd收集器57
4.1.5 運行Node Exporter57
4.1.6 抓取Node Exporter58
4.1.7 過濾收集器58
4.2 監控Docker容器59
4.2.1 運行cAdvisor60
4.2.2 抓取cAdvisor61
4.3 抓取的生命周期62
4.4 標簽64
4.4.1 標簽分類64
4.4.2 重新標記65
4.5 Node Exporter和cAdvisor指標69
4.5.1 USE方法69
4.5.2 服務狀態77
4.5.3 可用性和up指標78
4.5.4 metadata指標79
4.6 查詢持久性81
4.6.1 記錄規則82
4.6.2 配置記錄規則82
4.6.3 添加記錄規則83
4.7 可視化86
4.7.1 安裝Grafana86
4.7.2 啓動和配置Grafana88
4.7.3 配置Grafana Web界麵89
4.7.4 第一個儀錶闆91
4.8 小結92
第5章 服務發現93
5.1 靜態配置的局限性93
5.2 基於文件的服務發現94
5.3 基於API的服務發現98
5.4 基於DNS的服務發現102
5.5 小結104
第6章 警報管理105
6.1 警報105
6.2 Alertmanager如何工作107
6.3 安裝Alertmanager108
6.3.1 在Linux上安裝Alertmanager108
6.3.2 在Windows上安裝Alertmanager109
6.3.3 通過監控套件安裝Alertmanager110
6.3.4 通過配置管理工具安裝Alertmanager110
6.4 配置Alertmanager111
6.5 運行Alertmanager113
6.6 為Prometheus配置Alertmanager114
6.6.1 Alertmanager服務發現114
6.6.2 監控Alertmanager115
6.7 添加警報規則115
6.7.1 添加第一條警報規則116
6.7.2 警報觸發118
6.7.3 Alertmanager的警報118
6.7.4 添加新警報和模闆120
6.8 路由123
6.9 接收器和通知模闆126
6.10 silence和維護128
6.10.1 通過Alertmanager控製silence128
6.10.2 通過amtool控製silence130
6.11 小結132
第7章 可靠性和可擴展性133
7.1 可靠性和容錯性133
7.1.1 重復的Prometheus服務器134
7.1.2 設置Alertmanager集群135
7.1.3 為Prometheus配置Alertmanager集群136
7.2 可擴展性138
7.2.1 功能擴展138
7.2.2 水平分片139
7.3 遠程存儲144
7.4 第三方工具144
7.5 小結144
第8章 監控應用程序145
8.1 應用程序監控入門145
8.1.1 從哪裏開始146
8.1.2 監控分類146
8.2 指標146
8.2.1 應用程序指標147
8.2.2 業務指標147
8.2.3 放置指標147
8.2.4 實用程序模式147
8.2.5 外部模式148
8.2.6 監控應用程序示例149
8.3 小結155
第9章 日誌監控156
9.1 日誌處理156
9.2 mtail簡介157
9.2.1 安裝mtail157
9.2.2 使用mtail158
9.2.3 運行mtail159
9.3 處理Web服務器訪問日誌161
9.4 解析Rails日誌到直方圖163
9.5 部署mtail165
9.6 抓取mtail端點165
9.7 小結166
第10章 探針監控167
10.1 探針架構167
10.2 Blackbox exporter168
10.3 安裝exporter168
10.3.1 在Linux上安裝exporter169
10.3.2 在Windows上安裝exporter170
10.3.3 通過配置管理工具安裝exporter170
10.4 配置exporter171
10.4.1 HTTP檢查172
10.4.2 ICMP檢查 172
10.4.3 DNS檢查 173
10.5 啓動exporter173
10.6 創建Prometheus作業174
10.7 小結176
第11章 推送指標和Pushgateway177
11.1 Pushgateway177
11.1.1 Pushgateway使用場景178
11.1.2 安裝Pushgateway179
11.1.3 在Linux上安裝Pushgateway179
11.1.4 在Windows上安裝Pushgateway180
11.1.5 通過配置管理工具安裝Pushgateway181
11.1.6 配置和運行Pushgateway181
11.1.7 嚮Pushgateway發送指標182
11.1.8 在Pushgateway上查看指標183
11.1.9 刪除Pushgateway中的指標184
11.1.10 從客戶端發送指標185
11.2 抓取Pushgateway187
11.3 小結188
第12章 監控Kubernetes189
12.1 Kubernetes集群189
12.2 在Kubernetes上運行Prometheus190
12.3 監控Kubernetes191
12.4 監控Kubernetes節點191
12.4.1 Node Exporter DaemonSet191
12.4.2 Node Exporter服務194
12.4.3 部署Node Exporter195
12.4.4 Node Exporter作業196
12.4.5 Node Exporter規則199
12.5 Kubernetes200
12.5.1 Kube-state-metrics200
12.5.2 Kube API202
12.5.3 cAdvisor和節點205
12.6 小結206
第13章 監控Tornado207
13.1 邊車模式207
13.2 MySQL208
13.3 Redis213
13.4 Tornado216
13.4.1 添加Clojure包裝器216
13.4.2 添加注冊錶217
13.4.3 添加指標217
13.4.4 導齣指標218
13.4.5 Tornado監控配置219
13.5 小結220
· · · · · · (
收起)