Prometheus 學習手冊 Prometheus: Up & Running: Infrastructure and Application Performance Monitoring

Brian Brazil 譯 宋佳洋//薛錦

買這商品的人也買了...

商品描述

快來使用Prometheus,Prometheus是基於指標的監控系統,為成千上萬的組織在生產環境中提供服務。
這本實用指南為應用開發人員、系統管理人員和DevOps人員提供了關於Prometheus關鍵部分的相關介紹,
包括基礎設施和應用的監控、儀錶盤顯示、告警、代碼測控,以及如何通過導出器獲取第三方的指標。
這個開源系統在過去幾年中變得流行是有原因的。基於它簡單而強大的數據模型和查詢語句,
Prometheus專注於監控這一件事情並將其做到了極致。
本書的作者同時也是Prometheus的開發人員Brian Brazil將會帶著你學習Prometheus配置、
節點導出器、Alertmanager,以及如何對應用和基礎設施進行監控。

作者簡介

Brian Brazil

是Robust Perception創始人,同時也是一名Promtetheus開發人員。
他專注於處理監控相關業務,服務過的公司從初創企業到世界五百強不等。
他在Prometheus社區享有盛譽,在各類會議上做了許多演講,
在他的博客Robust Perception網站上寫了許多與Prometheus相關的文章。

目錄大綱

前言1
第I部分概述

第1章什麼是Prometheus 7
什麼是監控?9
監控簡史10
監控分類11
Prometheus架構16
客戶端庫16
導出器18
服務發現18
數據抓取19
存儲20
儀錶盤20
記錄規則和告警21
告警管理21
數據持久化22
Prometheus不是什麼22

第2章開始使用Prometheus 24
運行Prometheus 24
使用表達式瀏覽器27
運行Node Exporter 33
告警35
第Ⅱ部分應用監控

第3章測控47
一個簡單的程序47
Counter數據類型49
統計異常52
統計大小53
Gauge數據類型54
使用Gauge類型54
回調56
summary數據類型57
histogram數據類型59
桶60
測控單元測試63
使用測控
需要測控什麼內容
需要測控多少66
要怎麼給指標命名67

第4章展示71
Python 72
WSGI72
Twisted 73
Gunicorn多進程74
Go 77
Java 78
HTTPServer 78
Servlet 80
Pushgateway 81
橋接85
解析器86
展示格式86
指標類型87
標籤88
Escaping 88
時間戳89
檢查指標89

第5章標籤91
什麼是標籤91
測控和目標標籤92
測控93
指標94
多標籤95
子項95
聚合97
標籤模式99
枚舉99
信息101
什麼時候使用標籤103
基數104

第6章Grafana儀錶盤107
安裝108
數據源110
儀錶盤和麵板110
避免圖形牆112
圖形面板113
時間控件115
單一統計面板116
表格面板118
模板變量119
第Ⅲ部分基礎設置監控

第7章Node導出器127
CPU收集器129
文件系統收集器129
磁盤狀態收集器130
Netdev收集器132
Meminfo收集器132
hwmom收集器133
stat收集器134
uname收集器134
loadavg收集器135
文本文件收集器135
使用文本文件收集器136
時間戳138

第8章服務發現139
服務發現機制140
靜態配置141
文件142
Consul 145
EC2 146
重置標籤147
選擇要抓取的內容148
目標標籤151
如何拉取159
metric_relabel_configs 161
標籤衝突和honor_labels 1

第9章容器和Kubernates 166
cAdvisor 166
CPU 168
內存168
標籤169
Kubernetes 170
在Kubernetes中運行170
服務發現172
kube-stat-metrics 182

第10章常見導出器183
Cousul 184
HAProxy 185
Grok導出器188
黑盒191
ICMP 193
TCP 196
HTTP 198
DNS 201
Prometheus配置203

第11章與其他監控系統協同207
其他監控系統207
InfluxDB 209
StatsD 210

第12章編寫導出器214
Consul遙測214
自定義收集器218
標籤222
指南223
第Ⅵ部分PromQL

第13章PromQL概述229
聚合基礎知識229
Gauge 229
counter 231
summary 232
histogram 234
選擇器236
匹配器236
瞬時向量238
範圍向量239
偏移241
HTTP接口242
query 242
query_range 245

第14章聚合運算符248
分組248
without 249
by 250
操作符252
sum 252
count 253
avg 254
stddev和stdvar 255
min和max 256
topk和bottomk 256
quantile 257
count_values 259

第15章二元運算符261
處理標量261
算術運算符262
比較運算符263
向量匹配266
一對一266
多對一和group_left 269
多對多和邏輯運算符272
運算優先級277

第16章函數279
改變類型279
vector280
scalar 280
數學函數281
abs 282
ln,log2和log10 282
exp 283
sqrt 283
ceil和floor 283
round 284
clamp_max和clamp_min 284
時間和日期285
time 285
minute, hour, day_of_week, day_of_month, days_in_month, month和year 286
timestamp 287
標籤288
label_replace 288
label_join 289
缺失系列和absent 290
使用sort和sort_desc進行排序290
Histogram類型與histogram_quantile291
計數器292
rate 292
increase294
irate 294
resets 295
改變gauge值296
changes 296
deriv 297
predict_linear 297
delta 298
idelta 298
holt_winters 298
隨時間聚合299

第17章記錄規則301
使用記錄規則301
何時使用記錄規則304
降低基數大小304
編寫範圍向量函數306
API規則307
如何不使用規則307
記錄規則的命名309
第Ⅴ部分告警

第18章告警315
告警規則316
for 318
告警標籤321
註釋和模板323
什麼是好的告警?326
設置Alertmanager 327
外部標籤328

第19章Alertmanager 330
通知管道330
配置文件331
路由樹332
接收器340
抑制350
Alertmanager Web界面351
第Ⅵ部分部署

第20章整合357
計劃推出357
Prometheus規模增長358
使用聯合機制監控全局360
長期存儲363
運行Prometheus 365
硬件365
配置管理367
網絡和身份驗證369
為失敗做準備370
Alertmanager集群373
元監控和交監控374
管理性能375
檢測問題376
尋找昂貴的指標和目標376
減少負載378
水平分片379
管理變革380
獲得幫助381