TA的每日心情 | 开心 10 小时前 |
---|
签到天数: 235 天 [LV.7]常住居民III
管理员
- 积分
- 8333
|
Java电子书:监控的艺术 云原生时代的监控框架 PDF 电子书 Java吧 java8.com
$ ?! q& i9 P N8 [& G5 F0 r4 d% e+ A( U# q# p# _ O, F4 h
作者:詹姆斯·特恩布尔(James Turnbull)出版社:人民邮电出版社出版时间:2020年06月
9 r7 ^8 o; X# B$ _" N
" i7 ]. i9 r4 c! b+ T8 g编号:166-Java吧资源免费-X0119【Java吧 java8.com】
' e( R7 W. H9 g( U l
' l' p2 W/ w" c6 c& t( }7 y& ?* L$ |' P0 Y) ?
0 `* e0 B) t7 c+ F目录:
* ^5 d( m+ Q2 Y, J# ~$ X( k* d$ r第 1章 引言 1; \- H7 V# D m, r% {7 x
8 C& a2 Y1 g4 P* S1.1 内容概览 2 r) G9 M L( a0 [( e. Q. `
( ]$ C8 t O) G6 W0 h" l1.2 监控的定义 2
' `) a, W8 k$ s' B4 x, C/ l( r; H* d! z# _) f
1.2.1 业务客户 21 }+ t p% |( P( X) N
2 _( x- G4 B- g o0 E5 }7 o8 V
1.2.2 IT 客户 24 [: f3 C( U9 ]$ y% E
( V8 q# ?1 B6 B: @$ Z1.3 监控的实际存在形式 2 k- p5 O. ]/ R1 v# d
. b; T K7 Q8 a; e8 p 1.3.1 手动、用户发起或无监控阶段 3/ C' a4 G- X% P6 t( h
$ I% j6 R3 K/ y% j. _& R0 @# }
1.3.2 被动式监控阶段 3
9 b$ }( S! }, D$ u4 ]& G# R. @& d- e0 P
1.3.3 主动式监控阶段 4
9 K5 X8 B7 A# X1 \2 c/ I6 n8 @9 y; D* l
, ~- l0 E- e0 [8 d5 `1.4 模型分布 44 T. z$ _/ B8 `8 @# }
* ^8 m! C9 x! a1 ?) r; Z% ?$ Y$ N/ C1.5 实施主动式监控 5
# L0 o5 D2 M) _9 t2 g& D v3 J4 o2 t6 a# q
1.6 本书内容 7
+ [- k0 _" q6 T+ N
8 `# h; D% | E3 r1.7 工具的选择 89 I' G( O( z: @$ a, {
7 w3 C* C# k8 n+ n k& c
第 2章 监控框架 9& ?$ A! @7 k4 x$ R' g4 K+ A# J
+ z' k& a+ s; `) x7 Z* F) c+ z2.1 黑盒与白盒 10
4 ~0 R: a4 C V* T, v! Z9 C% B! {( k- |+ l
2.2 以事件、日志、指标为中心 11& ]% `$ |' h2 T i& C/ ~. e
2 s, ?( z* j% Q( h
2.2.1 更多关于指标的知识 11( x8 t& S& K" {# I7 p1 s4 t; e
: ~# V' o) D" c' \( E6 O X, b9 C' P
2.2.2 指标的定义 12
6 X# H G, e5 ]' Z- A1 l( c
4 }( g; R2 \! M& p 2.2.3 指标的类型 13# x# P4 Z$ v6 \$ i5 w, u
8 y3 [; x. x+ |8 }7 m2 n& S1 ? 2.2.4 指标小结 14
1 y4 ~: D6 b9 t+ A$ m' `2 P) V+ I I( M) ?, W
2.2.5 指标聚合 155 k, G8 z( i0 P& g" @
; [/ j* P: w m- H% g' M2.3 上下文和有价值的通知 163 F# H, h1 n" w/ r$ \
5 U7 }& h3 ?% k2.4 可视化 17 A$ |6 b6 y1 C4 a3 |2 V
$ J. |; K8 `- ]& [
2.5 传统监控有何问题 18
3 T8 t4 O. y! P" ~# Z0 ?! b
4 X+ | _$ \3 s) e( |- V, { 2.5.1 静态配置 18
/ l% @( D) E4 O) b; S2 O# M5 `! b0 s4 D$ \8 h
2.5.2 不灵活的逻辑和阈值 18
9 v) |' B [+ y6 t
1 c/ o' z5 |% M) J0 A& V) b: s+ d 2.5.3 以目标对象为中心 19
" M! }4 E# U S. D. Y+ c$ g
& v: T9 e! F% E# d" i6 y$ b# v3 Z8 V 2.5.4 宠物和肉牛的插曲 19' T0 N x b: B4 I6 f! K
( V& D* F. S- p! j" V3 t3 I* H
2.5.5 新方法的不同之处 20
& P6 l1 E; f* ?* x: p* c+ F: N* n6 Y
2.5.6 更智能的阈值输入 20
- i# w3 x |7 ]) l, P4 W) k p( j4 m W; P6 U$ n9 {; I5 z: o
2.6 为监控框架采集数据 27+ R( Y9 b$ ^2 O1 z
4 H6 C% k3 J, U6 a9 f0 |1 _2.7 小结 285 m9 e3 H! [: N( ?$ Z# U4 D0 `, _& ^
4 G$ C3 M* O; {% c% X
第3章 使用Riemann管理事件和指标 29
1 b& O. g& k$ l9 s" q8 N* j# N: U2 o6 O
3.1 Riemann简介 30
* y" C2 D" [0 U- z0 |) ^; Q1 x3 {) d8 S K
3.1.1 Riemann的架构和实现 30
! m$ \% G& d! J9 Q3 q( G0 q
5 ~9 q9 G& g- }: R' T9 N# O, _1 ~: O: W 3.1.2 安装Riemann 31
0 Z' M. P- l B! v* R. t! `+ e
3.2 配置Riemann 35" Y7 F3 }' s; L ^7 U8 u
" |. I6 w! G1 d* E 3.2.1 学习Clojure 35& l9 u* D9 p" c1 \
& F: z& ~. Q' a6 ?4 G. n# Y 3.2.2 Riemann的基础配置 35$ m+ r- V9 Z$ X) T+ Z
6 F8 f# ]0 o# @8 t, W. ~ 3.2.3 事件、流、索引 38' q4 A) t6 l9 x* O, q- q- n0 y
& M( g* x$ H3 l# f( Q% m: N 3.2.4 配置事件、流、索引 40
. M4 R; [: f! \
0 s1 j- ]! \& a/ K8 ^: {: S9 Q 3.2.5 向Riemann发送事件 43! k3 K5 g2 W- e
9 }' |% o! |7 W' v+ [ 3.2.6 创建Riemann监控检测 44
" ^9 r4 J( V3 r' g% n2 p; \, M. d7 r/ u- n
3.2.7 Riemann过滤的一个小插曲 454 p' l- `$ v5 x% x, m; _! t
4 n \/ @7 M( Y8 @3 @& {3.3 连接Riemann服务器 47
- n$ e8 ~6 N3 D. S: W0 D" c, V0 Q
! E( L6 h% m! i1 @ C 3.3.1 配置上游Riemann服务器 48% y% J& Y) @% B9 R
0 R* ~( c1 k2 y* \: o/ P3 d$ ?1 } 3.3.2 配置下游Riemann服务器 50
& ]/ U" X" C* B! k& J! R; y3 \
+ q, Y" S% `2 N% f; ?! N# ^ 3.3.3 向下游发送Riemann事件 51
2 i9 _3 L/ N" H; H$ D5 E- j% F0 t. [; x7 E7 G, Z
3.4 在上游Riemann服务器发出告警 52
; ]+ ~" M W7 {0 o. q! h4 ^: `7 Z8 ?7 S& e& d, A
3.4.1 Riemann事件限流 57# q( [1 a# \4 Q9 _7 L0 J
* T" X: o! M7 i: i 3.4.2 汇总Riemann事件 57
3 |( ^) S$ w; W( f z1 H9 E' r1 r' d6 n% f# F; e
3.4.3 电子邮件通知的替代工具 58
5 Q: P" L0 l5 T- m
8 d7 W, O1 I. t. C" ?3.5 测试Riemann配置 582 V6 k% \, Q* B4 N/ X1 s
' [% M% k: ?- w# ], j0 ?, `8 j3.6 验证Riemann配置 60
4 D1 E/ k) W! F% o4 N& s$ {1 r, i3 n8 P3 t3 b3 q ~/ r
3.7 性能、可伸缩性、高可用性 61
- T" u, i; B$ w; j) K/ f0 @& O- _6 {; X. L y3 c$ A( Y
3.8 Riemann的替代工具 63
- }- d `6 L; d+ A& ?& x# w7 a" l7 i* R1 ?9 }/ H5 g |) b! V
3.9 小结 63
7 j1 W2 ]) Y7 z8 s3 X9 r
2 r7 B7 x0 f, ^2 ~- w第4章 Graphite和Grafana 64
& A1 |; [, `) m6 L, h2 S7 }5 o2 [; _7 A$ F3 p& ?
4.1 Graphite简介 64
" N$ n' Q$ _$ ? B! n5 o
S- B; Z2 O& f8 g5 @/ N 4.1.1 Carbon 65
3 }7 D4 o- Y* y4 Q6 v! E7 e( B$ }! T' R% k
4.1.2 Whisper 653 X4 k" }4 ^+ V4 ^4 o
& d% s: D( s! B6 C6 y
4.1.3 Graphite Web、Graphite-API、Grafana 66) A+ _) @5 v% Z* c
" l0 ^& n1 [; w4.2 Graphite的架构 66
% a0 {! r& g6 G1 G
) _6 A/ b6 ]# S" K2 ?, G" {; a ]7 B4.3 安装Graphite 66
5 d+ h& C! v/ H1 b0 O5 n- e: L9 B
$ z% ?' Q9 T3 O7 e6 W* s; w& I 4.3.1 在Ubuntu上安装Graphite 68) v& ]3 {, O8 \* C+ x# f5 M
* s8 D" ^ Q8 Q+ e: E. T# b 4.3.2 在Red Hat上安装Graphite 68% E L. n: I, w0 P& }
5 [. F1 b& |: g& w 4.3.3 安装Graphite-API 70+ o- v7 Y0 [8 \2 ]/ ?6 Q1 b
2 {3 g+ A, h+ N1 p' | 4.3.4 安装Grafana 71
0 v* |( a; X5 Y0 t. t* m- k6 I5 L5 N7 i3 d7 J
4.3.5 通过配置管理工具安装Graphite和Grafana 73' @1 ]) f4 n, |/ ^% A+ ^0 V# F
( G+ ?6 r5 S! ]7 I2 J) v5 B4.4 配置Graphite和Carbon 73
6 {+ \9 g3 x) ]5 ~( ^ X g6 Y
3 F8 G( o& b# I; l0 E( y, V" a 4.4.1 配置Carbon指标的留存模式 78
/ I; z; k( c+ y1 Q5 \! K, [4 y6 `8 }7 ~! b, i, ^: N+ p/ O+ r
4.4.2 估算Graphite存储空间 80
- X' a7 N5 Q3 a5 V& t
; O% B* B- A9 {( ]' j 4.4.3 Carbon和Graphite服务管理 81
* ]% b( K2 s# D
/ g. H4 S& a/ {2 }4.5 配置Graphite-API 849 c) i0 S' ?6 i
$ O7 W$ H+ T0 K9 w1 ]
4.5.1 Graphite-API的服务管理 865 a2 ^$ ^3 v1 L
& s( h0 E0 p1 N! U" ]+ G3 \ 4.5.2 测试Graphite-API 871 G( D& |! ]5 u4 ~; x/ R6 G% l
3 ?. Z% M$ [: u4 \9 S3 y$ g4.6 配置Grafana 87: k8 H/ |- w7 u' j3 N# e. }1 J
2 I% b X: C0 y, C* I& z* \" h9 M1 s4.7 为Graphite配置Riemann 91
( y; u) H% { X G! y) Z3 G C
# T. a8 R' @# L8 v8 p- R4.8 Grafana简介 95
[( Q# v; n, c/ R8 k
" V: L2 o9 {% n4 ^! C: k- G+ N4.9 Graphite和Carbon冗余 100* }/ F% t; J$ }/ D6 O. o% g! c
$ I1 r+ |( s2 n; W5 {! x% W' u
4.10 时间和时区 103
' @5 f9 D! y1 A" O/ F+ a9 s4 B7 T: J; p$ }
4.10.1 手动管理时间 103
2 \; m0 C8 U3 G I% ?- |' |! R- g% v- n, G# {
4.10.2 通过配置管理工具管理时间 106
3 R1 H* u1 b+ K& ^
+ A5 K ?6 ~* n, x# ~, M 4.10.3 检查时间状态 107
* z s6 h5 w$ k- {' A5 d
5 U0 `0 E! \; A) S5 ?' ?. Y7 U1 y4.11 Graphite和Grafana的替代工具 107' x0 r4 n. s$ m0 d
A; f9 u% o5 V! T: _
4.11.1 商业工具 107% \1 N/ H% D- B: p+ b% w
- R @! C/ i' U
4.11.2 开源工具 108
8 o/ C8 D) k4 j
; y2 I7 q. Y: v# z2 I: J4.12 Whisper的替代工具 108, h0 t; e5 J$ w7 b. j+ o
; O1 E* n5 V3 I* n 4.12.1 InfluxDB 1081 s1 J6 a* D/ E# }7 d
8 p; z- O3 p6 S) j 4.12.2 Cyanite 109+ }8 T0 z7 o* r s0 u% h( }
' z" a/ E4 _; H& Q
4.13 小结 109$ ]3 N% G" B# O+ w. k* h& L/ b- L# l
5 o+ g3 ^; F9 l2 a/ L7 |! w第5章 监控主机 1102 {- }# @. X" Q1 \, R# P
! K0 V6 u; P) L4 k6 M( E! U
5.1 collectd简介 111# ~2 F% ~5 Y+ [2 G
/ z/ m: }: a! g1 X# T% g. f; Q5.2 应该监控哪些主机组件 112
) o' r* b$ r H2 t! F! K5 g, [0 c! w5 d R" P
5.3 安装collectd 113
8 |( i0 s) O3 ~+ _; S
: b5 G" o$ d0 P3 p 5.3.1 在Ubuntu上安装collectd 113
( m T3 [3 P4 O( x2 M# D
7 H# c( ^+ S( P# r" M 5.3.2 在Red Hat上安装collectd 1148 {) p2 l( v+ q, c& S( r, O
2 D R$ S+ A+ |( q) ~
5.3.3 通过配置管理工具安装collectd 115
5 r1 Y- z- [6 |4 ~8 j- C B' _+ d
7 F; j$ Q! X1 T- N S+ L* v5.4 配置collectd 115# T1 ?6 E: o5 ?) _
8 ~: h2 z: ^2 p3 E1 A8 \
5.4.1 加载和配置collectd插件来进行监控 118. J+ k1 e/ j, Z( Q% H, |+ L, N
d1 g6 i+ J- U: i
5.4.2 后的准备 130
$ Z; x; Z9 J8 `6 g b
6 t' l0 S# s- q( Q8 A 5.4.3 启用和运行collectd 130
4 h2 U7 U1 [2 t$ T8 o: G* R' \2 Y% U) y$ T/ b9 O" a
5.5 collectd事件 1301 w" M( {7 A9 c) m0 v: z
, X$ M8 O3 x/ x/ Z+ b# @) e6 R5.6 将collectd事件发送到Graphite 132# m4 m5 F. d+ ^0 H7 J9 _# g8 ?
8 M y) n8 y7 q& u6 _$ e5 |) t. q3 A0 _5.7 重构collectd指标名称 133
; x( y6 R2 K& f8 o- y
9 E. i: ^6 b' w! A4 H) A5.8 小结 136
' w/ c- x: `7 D; Y, G. }; ~, q
1 V* W [( p" s) _" O7 N第6章 在Riemann中使用collectd事件 137
1 o2 P: t! A* L' J/ |1 O: u7 K; R7 H- B# R0 }# }& G2 s; ]4 f
6.1 检测正在运行的进程 137' b7 U# ~7 _+ g3 m
m9 c3 X/ a4 V/ i) C, J
6.2 其他行动和改进 1410 C: }6 t' W3 w
3 O! C1 w# P$ H, c. |9 G
6.3 重复一些传统监控 142
# g9 x1 q, R4 {4 N1 I9 c1 q
& c8 q2 }0 x4 J5 i4 r: N" F6.4 通过更智能的数据进行更好的监控 143' H. v) Z6 y4 s
' f) B# ^& M2 j: F7 ^9 Z
6.4.1 构建基于中位数的检测 143
" ~" G: J/ b1 y2 q; M8 E1 v: e+ E
: d; W( ~# q; d1 H; u 6.4.2 使用百分位数进行基于主机的检测 144; v: N7 _- h4 G; A
) y8 s/ k. k' V7 o, k" a 6.4.3 对检测进行抽象 145
5 P2 Z6 m* p: P
& @5 p8 h! V3 q* a 6.4.4 对检测进行组织 149( i( }" T/ Y8 U5 b
% V% r' i& Y4 s5 z9 X; Q
6.5 使用Grafana绘制collectd指标 149; s3 E W% d, m% J9 a1 V( R" }
& Z: ]7 _5 Q. D0 d7 k 6.5.1 创建主机看板 150
& Q" a% X8 y! Y6 C9 r: e4 G& a8 K1 U3 S9 N% V+ e* F
6.5.2 创建第 一个主机图表 151
6 w* Z! R. O1 n
! z0 N8 u0 _( t' ]5 h& T/ E 6.5.3 创建内存图表 154/ m" R" U% `, b p) J8 E: k
$ _- m( J% ~) A6 E5 P3 D7 ^
6.5.4 单个主机图表 155
2 ^3 D8 E9 M4 h" U: P
9 v. U; O- D- \# }# R, h z 6.5.5 其他图表 1564 S4 B$ o* I! J4 \; r
5 l' t. y: L H9 Y0 y( F1 O; b
6.6 网络、设备和Microsoft Windows监控 1568 B' M; e9 S$ f
8 n9 {# H! m: ? [6.7 collectd的替代工具 157
3 _. ^6 j) l- S8 B e
% A$ R- e1 I# w; h4 j 6.7.1 商业工具 157
: ^( K9 A0 ~# Z7 J$ t2 \8 H2 n, ?$ S" ]+ L1 P
6.7.2 开源工具 157
$ ~. p5 V T7 _1 r4 W, k! [4 B! k, }) t
6.8 小结 1586 b8 P4 l. b& |4 ^
8 L' S$ H5 y" o& L8 c1 p, g第7章 容器——另一种类型的主机 159" p- r0 d& A& F
/ X, P# p1 n0 T% |; B1 G" c7.1 容器监控面临的挑战 159
! {2 X0 K; j" F8 Y
! }4 |: P+ h g. I4 D) T4 v7.2 监控Docker容器 162
+ r. J4 K& H" K/ e! E1 o8 d% G
. h ]: ~' N, C" w# D+ C- i 7.2.1 Docker collectd插件 163$ @1 n* T m1 W8 _
7 g# S% z8 W( G% N 7.2.2 安装Docker collectd插件 164
" e& u9 t$ J! F T/ h1 H$ C v& l9 ]
7.2.3 配置Docker collectd插件 165
6 R" ~& x# ^6 z" O3 e
5 k" Y$ K; X/ c6 G7.3 使用Riemann处理Docker collectd的统计信息 1661 t) v4 ~ V! P3 s* k- S
\5 ~2 {) f" p. `7.4 为Docker指标指定不同的解析度 1766 w- |) z0 l7 P0 G) `9 P4 B
' G v3 ~8 P! I# h
7.5 清理旧的Graphite Docker指标 1779 k9 Q+ ?3 s0 ]0 f& Z) J
: G0 A T. I* K* J7.6 使用Docker 指标进行监控 177 P" e5 C& I/ F% e2 y
+ k$ R0 @- A" ^* U8 a6 H! K0 Y
7.7 其他容器监控工具 178* S. S; z" w' a, `
# q" ^2 A( w5 R. b9 f [7.8 小结 179! r; \6 b0 _8 s* ~2 E# p$ Z
2 `7 ~" k, i0 `5 S4 u9 Z
第8章 日志 180/ g: F f$ `" E+ k& L
1 {0 ?. ]- d4 W5 U7 Z0 M8.1 ELK技术栈入门 180
* [, _+ H p( w7 v& {$ F
* x. H* B1 y( J* c$ c* x% r! P6 p8.2 Logstash架构 181
* ?- L9 Y4 L9 X5 f1 S' [% E
# L7 c" M0 ]) j4 G: \+ M3 z8.3 安装Logstash 183
: X/ N9 ?- V% p. A2 r
+ r- G9 W5 M' w1 S' _1 o 8.3.1 在Debian和Ubuntu上安装Java 183
& ?0 ^0 N$ T* ~. R( ^) @: W" a9 k+ d' T: h; ^$ B
8.3.2 在Red Hat上安装Java 183% v# A5 S% d3 _; m
+ U+ F/ I, B$ a- h! V% e7 j6 u+ C
8.3.3 测试Java是否安装成功 183
8 G9 K9 g) ?* E6 g
" \& R4 x( c# r# B4 J0 I 8.3.4 在Ubuntu和Debian上安装Logstash包 183
! u. i' a0 Q; b; I& `5 D* q. B B. g) |0 E1 L
8.3.5 在Red Hat上安装Logstash包 184
" c0 Q+ w9 U; c: O8 \5 B
! Z1 ^! ?) \4 B' M) E) l 8.3.6 通过配置管理工具安装Logstash 184; g. F2 \: ]- t1 J
* e8 }- a1 L6 r; r* S/ m# ^5 e 8.3.7 测试Logstash是否已安装成功 185
; J* e! R$ `* g! w ~* ]8 ~* e* A7 V$ l, c+ K( o: q
8.4 配置Logstash 185( X0 h1 m7 ^" \$ n! i
( w0 n* p1 h5 ?7 l8 x* W$ i8.5 安装Elasticsearch 187
k' u# a2 M! I5 ^7 H K& r) ` E4 g4 B5 r* q1 t
8.5.1 在Debian和Ubuntu上安装Java 1871 F, L d1 [0 o! o! V
( x4 L: ]( r6 ^' y
8.5.2 在Red Hat上安装Java 188
7 r i; {7 s% Z! G5 m* f2 q. v) o. b) }" @8 ]0 l
8.5.3 通过配置管理工具安装Elasticsearch 1895 c- [* K' }% J
+ [+ l4 `9 n2 i/ [( x5 p
8.5.4 测试Elasticsearch是否安装成功 189
2 S z" C9 b& y$ p- v( m
! J" j8 f- o1 Q- }4 ?$ \ 8.5.5 确定Elasticsearch正在运行 1898 B2 Q% k' r6 B; e: X
, A& @- b- p" Z' q4 n
8.6 配置Elasticsearch集群和节点 190
2 j$ v' y* V, { d9 ~ Q
. ^, @, |% J* Z% m6 g% n8.7 时间和时区 193* X& G a3 j7 C$ I Z
0 r% t, v1 C$ @5 ^7 L# t# k4 f
8.8 集成Logstash和Elasticsearch 193
4 h# U: S Y# D" y8 f% k3 n' s4 K2 r$ [
8.8.1 Logstash内部会发生什么 1957 }/ O# C$ H, w, _
6 \9 H$ c# R) {5 M: j- M2 T& G" r
8.8.2 Elasticsearch内部会发生什么 2006 \, c' N! | @4 N, n! F. }6 i% ^
$ E6 V" n& @. e, \: q- }
8.9 安装Kibana 201! R* j# h/ l- h1 V3 L% x& ~# ?
' I, q0 _* }1 D8.10 配置Kibana 202! i, G3 o3 ?9 L* ^& ?
! ~3 P! k4 K' R% |3 X' G' d: @8.11 运行Kibana 2036 t2 T& `2 j D) D9 S+ l
/ ]7 W; D0 |% L) g. T5 }! ^; H$ p8.12 通过Syslog将主机连接到Logstash 205% v6 D7 [1 j' K% v
+ }- A, t; ?. P: Y7 f/ s 8.12.1 配置Logstash 205 U7 W- u* l; J3 Q7 i V8 o% b/ |
5 K6 k) G" S: e7 R% M$ N, K 8.12.2 Syslog概览 206
5 v. w# U1 w: E7 v A1 G# }
* l' I5 w0 |9 P- j0 m1 W4 { 8.12.3 配置Syslog 207
' h3 Q$ {$ k- ~. u- D, W% S2 r3 z4 }$ p+ B+ A) `
8.13 记录Docker日志 209% a7 }6 W; K" K
. t. _& o: ~* l, r8.14 将数据从Logstash发送到Riemann 214" W- T4 h* x7 d% k
8 T; e7 ]3 l) j v& {
8.15 将数据从Riemann发送到Logstash 2167 @! ~$ b) A% x4 I0 v
% `; E2 ~# V. q+ X
8.16 伸缩扩展Logstash和Elasticsearch 2193 {" f5 q2 k( ^- E; W
* V/ s* A5 s p) y( i: U
8.16.1 伸缩扩展Logstash 2191 E) _; _0 I8 p& t7 \
# Q# a; e) M3 [$ S8 v
8.16.2 伸缩扩展Elasticsearch 2206 M4 m0 u' I3 |' J9 n
# S: p6 x+ K3 q3 [" ^+ e+ F8.17 监控组件 2214 o) w4 f; F0 T, @( |0 N
; E: | L" o2 L, R4 f* B; k
8.17.1 监控RSyslog 221
1 U, Z2 h$ `1 a: m+ ]1 i" k8 m2 g) T& Z& Q9 }6 U) m5 I2 }: c
8.17.2 监控Logstash 2218 `" Q. t# K7 P T* [7 Z, b
) J! u+ J( {3 D) ~2 R
8.17.3 监控Elasticsearch 226' f* i5 i& x' n) A
- d$ z+ U9 b( s
8.18 Logstash的替代方案 2291 M" u9 S$ d) N
$ X/ `5 G0 R" n* L: } 8.18.1 Splunk 2295 `- n7 V7 Q6 y6 v/ k7 K, @
- H7 T( T: ]' w0 B8 Y
8.18.2 Heka 229
6 S8 B& w! z) U; H, o9 ?: y8 d" Q2 [; K! g, P$ i, F2 w! a
8.18.3 Graylog 229
: ]2 T# _) v* l5 `
. b: f4 r4 @. B1 e9 g 8.18.4 mtail 2292 h O( k6 s! a8 q9 l
1 [: i; c: q! o2 p2 ~8 L8.19 小结 229+ {. v |3 T) L% C! v$ O# A
8 g3 T8 p0 p: G! i
第9章 构建可监控的应用程序 230
, Z* w o$ C5 z# y
+ U: `4 B9 T$ C( [, z1 f9.1 应用程序监控入门 231* w9 f3 R# f; [1 V0 W3 R
* n1 ^, Y& E6 m- [% v2 a7 n) E
9.1.1 应该在哪里测量 2314 n! v# Z+ }, x4 I& ]9 B
$ p, j: z# U9 i: E1 z
9.1.2 测量模式 2322 M% C* t6 y# d( a" X$ P
( Y; {8 x, Z( e/ \. G 9.1.3 时间和观察者效应 232
7 G' \" L7 R9 N, b# J) M, i0 c2 W5 F8 V K5 o) @+ J
9.2 指标 233% ~! H! T/ o* u, W! G4 b" H- A& f
9 q g9 O; Z4 z* S ]' N3 c/ @ 9.2.1 应用程序指标 2331 @2 z. e% Y" u6 { g% @% f1 h5 X
: v& _( Y! ~0 M2 Q 9.2.2 业务指标 233
% m4 u/ e* @7 ^( ~3 {% l* ?( x, z8 T7 T: E) _3 R$ h7 o N2 @
9.2.3 监控模式或放置指标的位置 233
c3 K7 R& V: y& f* U& o2 z$ w, M
9.2.4 工具模式 233
. Q( K, U u( W
& H+ ]4 p1 s7 }4 i 9.2.5 外部模式 234
! t0 \6 f6 z; h5 l# E& x; g. u2 X6 F ^+ i7 ?3 s
9.2.6 在示例应用程序中构建指标 235
/ d4 Z3 n/ i% t8 i
1 ~7 N0 E8 X2 |: J I r3 [9.3 日志 248
; ]' D+ a* S- U4 X1 m: G0 H2 O# f
$ X# F+ [% s4 y1 m g: \ 9.3.1 添加自己的结构化日志条目 249. ~8 u! N* W! F' `- P4 P
. ~5 y3 W7 d9 F2 u$ _ 9.3.2 将结构化日志添加到示例应用程序 250
8 G# U3 C* H' z( k. w. B. [
% D# j4 ]' J+ |4 y' ~ 9.3.3 使用现有日志 255
6 ?3 w+ X- \: _5 @% j9 |9 Q& J$ ^
! W8 r& L. n# e) w& N9.4 健康检查、端点和外部监控 2587 T- O+ ~' S u9 q
+ I& A/ G8 R3 V0 m9.5 部署 262
; T* o* \3 C, d% q, Z, ^& L
+ q& K- |6 r6 i. q 9.5.1 向示例应用程序添加部署通知 2620 f* e ^' q9 C. f; V& {
" ^; i0 ^# F3 _* z X1 [6 g8 y 9.5.2 使用部署事件 264
+ K- d# a2 P1 q1 W+ Y3 H+ o! C5 [' j
9.6 跟踪 267
0 N5 m: \0 I4 V1 r( ^' ? W! c V7 O
/ \' J1 S* ^1 c1 R! e! Z4 z9.7 小结 267
: _! ]" T/ h, h4 z `
/ J! e. g3 n/ x O9 `第 10章 通知 2688 S3 S3 O. n6 j, N$ n
; o0 ^" P3 L, j R7 x8 u3 s
10.1 目前的通知 2698 I: C# g4 S! \: Z, }1 U2 u
- s. K! Y# k, r( b, z
10.2 更新expired事件配置 269
8 J) n; H4 W* s* _5 P2 }5 q+ D% n N/ `7 g: q" \6 G: [ a1 y' I
10.3 升级电子邮件通知 269
0 V8 y; b' `4 s% k* V
7 u; P9 u7 p% q1 S, o' ?$ J8 x% k. ] 10.3.1 格式化电子邮件主题 271
6 T$ k; |; W% Y/ a% [ l# U3 U3 e+ k" r. L
10.3.2 格式化电子邮件正文 2716 ]$ O0 X4 |' _( |
9 E) P- W; T- ~4 U2 B, z- E8 [3 m
10.4 为通知添加图表 275' b+ k# F6 C) Z* w3 b: X( _! E
, c9 v; N) f" ~# B0 S1 Z, N. P( h 10.4.1 定义数据源 276/ D/ a. I' ]: v5 U
" x# Q- Q7 T& K1 ]' v# F: s 10.4.2 定义查询参数 2776 q/ r7 D( l1 ~
1 ^* Z) i- M. J5 ?, [9 x# W2 j- v 10.4.3 定义图表面板和行 279 k- @7 ^! r$ f; W& J
: H3 z3 m" W' z- u' T: z9 K 10.4.4 绘制看板 280" e0 b" G1 F( g
; z! O i- C: `! X5 ^; ^/ M
10.4.5 将看板添加到Riemann通知中 281
( T* B W7 r* a0 P9 R; O0 W: \1 I' |3 g$ E% [1 L" D
10.4.6 一些脚本化看板示例 282
' N- v3 `* J+ E# T: ?! V
, `: y' H( v7 z9 R/ S2 i0 Y5 N 10.4.7 其他上下文 283
* I# |" ^. g: ~
& a) N+ F7 s+ J7 N B& p J10.5 添加Slack作为目的地 283' F: c! y! k/ E U( l, [/ c
1 [4 X, J& {' M. S10.6 添加PagerDuty作为目的地 286: c/ K1 ?- |& k
' @; B2 ^: e2 e5 L
10.7 维护和停机 2890 a# d+ @ |/ C/ s
0 K/ h" V" ~1 r( [, `4 z6 B2 F
10.8 从通知中学习 2921 \) d: F& L! G6 ^3 i, z Y
: q ^+ Y7 q5 S' \4 p
10.9 其他告警工具 295
0 ~8 }8 h0 q5 P1 ]. U& v1 ]2 A% a. F6 _0 s7 n
10.10 小结 2956 M, @* B1 D# ]& ^
* Q% o" C q6 U6 B7 c# ^8 `2 N
第 11章 监控之巅:监控Tornado 296
$ V* {5 e! s3 S! Q2 u( N
! o _! g' B& ~/ |1 ?11.1 Tornado应用程序 297
8 H: q5 ?8 g5 e! J
7 X6 Q5 O2 b7 H9 Y. Y, i# i5 h11.2 监控策略 299( l2 e- X6 r# W! \, m6 E( X
/ Q0 ]% d- _/ {- @
11.3 标记Tornado事件 299
5 j1 `. J$ M; q2 T0 t2 |9 T( [, \
U" H R. n9 A% e2 R7 t0 h/ P/ T11.4 监控Tornado:Web层 300( s6 d1 V4 z/ v( _* j, R) Y/ L( d
; x4 T% m! f. x4 d9 `
11.4.1 监控HAProxy 301
: e9 j& G3 `7 G. M. n" h' C7 y; b$ _7 _5 k. A
11.4.2 监控Nginx 309+ a4 r# o# B7 ^1 x
. |2 o! ^8 l/ e& w6 |5 a6 u, h/ ? 11.4.3 解决Web层的监控问题 316
) E/ d$ W! L: E! x; J/ g/ Y/ D
8 s2 j) G- U9 Z5 }9 r; B4 j6 _ 11.4.4 在Riemann中设置Tornado检测 3180 L" \" J0 z& v9 n* |, Q3 ~( o
: Z' S* t6 v3 D 11.4.5 webtier函数 320/ e! N0 ] h; e; K" l
/ m S: I% i" q! |6 F, E
11.5 向Riemann添加Tornado检测 325
! O. g+ o( f: g1 B; P+ J: S& e* e, {/ r
11.6 小结 326
8 w5 M( L2 k. L# f- Q; @* ?. A; R
. i2 S: z% f) c9 U; N5 M第 12章 监控Tornado:应用程序层 3279 ~0 n% C4 ]9 U2 x; F
+ k" O' Z( T( J. G9 P& W' Y g12.1 监控应用程序层的JVM 327
: k$ d6 [1 z/ [7 A2 ^2 o5 m- Z; R# x$ p) S: p) s2 ?
12.2 采集应用程序层的JVM日志 331% i+ w3 ^/ D9 N, i: z
: _4 C5 [/ x9 H6 l: R. s12.3 监控Tornado API应用程序 334
9 k7 V" V7 t, d I3 j
$ w) Y7 A+ ~$ R: f& C$ z12.4 解决Tornado应用程序层监控的关注点 339
1 g, i0 G/ v* w }* I# ?: d1 n+ E: @: D, p) ~/ |% R
12.5 小结 342) V5 W1 C$ b0 `1 t' b
: L$ R3 }9 o, g/ u$ F) P1 m6 x
第 13章 监控Tornado:数据层 343
! E# B1 I9 i3 n' L5 _( I ~
) I2 M5 R% }9 u) u13.1 监控数据层的MySQL服务器 343
9 M- I+ O( C' K2 n2 d8 ~/ K( Z8 ~. p/ F" v$ F, B% Y8 }7 @
13.1.1 使用MySQL数据作为指标 346
4 f$ w# _3 Q1 |' y' g0 [0 G2 Z: Y# \; {4 M! x1 T
13.1.2 查询的执行时间 3497 k# c* E5 |6 ]9 ?) ]* p7 _0 i
# B1 h. f2 v# C. h2 D G. B13.2 监控数据层的Redis服务器 351( O* Z3 b# t/ \1 I
; \, K, c, M- z
13.3 解决Tornado数据层的监控 353
3 [/ T" n/ N: T( I1 _) Tjava8.com5 S+ X1 g; s' r2 q- ?+ E5 L2 \
13.4 Tornado看板 355
/ R% U- J! n; }& S; T+ A3 q: z& z8 h$ y* m. j$ ~# a
13.5 扩展Tornado之外的监控 360& `$ v& t% U! @1 W- ]9 u
8 o9 P& U+ _. v) x, O, I& `3 j$ v; f6 H
13.6 小结 361& j; i& O. D/ m2 e, ~
7 u6 d9 z* t% {: f8 k2 K( H附录 浅谈Clojure和函数式编程 362( C1 ^3 A$ K* ~, o' \
, R+ i/ ~- {+ o! b( m 百度云盘下载地址(完全免费-绝无套路):
9 u& q5 J0 N6 c7 ?3 I4 x+ [4 E. T, G% E" F( h* {4 G8 o7 j
; p6 @- y& o4 O' Z; q4 S8 b3 e; W# F% C+ E
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|