|
OpenStack企业云平台监控的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“OpenStack企业云平台监控的示例分析”这篇文章吧。 性能监控
# i( x' {- H! G5 X
6 ?+ A6 O3 X9 v7 S7 K5 L% E9 D对于OpenStack云平台,主机、存储和网络的监控需求和传统IT环境是一样的,关注的主要指标包括 CPU、内存、磁盘、网络I/O等。本文对于监控并不会展开说明,这里展示在OpenStack部署中使用最多的一款开源软件Ganglia。
7 h; j( t' T: [7 G- `' ~1 {) y, g( R, ^1 E3 ~) z8 f
Ganglia需要在各个节点运行客户端程序,在中心节点部署服务器进程,来对整个集群的性能进行监控,并提供各种视图。另外,Ganglia服务器端进程还可以组成集群,提供高可靠性,用于支持大型或生产环境的监控。
6 a0 s- o p7 J8 K/ g5 K0 }# n2 ~5 L( ?; N' z" w/ t& }
图1展示了用Ganglia来展现一个由5节点组成的机群的Load、内存、CPU和网络I/O的视图,并以时间轴来显示。另外历史数据也被保留和查看。
+ D1 G7 P2 o) c' j. U( K9 e2 v k3 v
2 J# c2 o& E- n$ @
3 s2 [/ d* f8 P4 T7 c+ O图1 Ganglia的Overview界面
) a" b5 ~2 G6 o
3 V! N( ~: R% Z- Q' o# R/ ^图2展示了4个节点的Load视图,并在一个视图中进行聚合展示。不同颜色标识不同节点的负载情况。
# Y2 ?2 [7 w4 W: c8 o- s& q' G- |6 Q' m/ f" t z
5 E# s9 h- |$ n7 Y! M. R% x, \6 U3 A' u) A
图2 Ganglia的聚合视图和节点视图" X# }+ d- C4 r6 m$ c/ L$ T/ ]
3 m6 p" m ?# [$ l$ u2 w图3是CPU详细监控项目。$ A1 s0 B! H a7 Z& W8 U4 x
! S* ?7 L# H }. O) ~* \
. p7 n& }) H. I& P! S
4 K1 V4 M. b6 D! o& B. ^ r6 A+ d" y图3 Ganglia的CPU监控, B3 Z& \) }; ^" o. v
# w# A) Q$ Z( X) k, |
图4是一个二次开发的,可以用来监控节点运行的虚拟机的性能,本图展示的是监控一个虚拟机的视图。( k( g8 ~* B/ P& ^9 x* E
# J2 I- \6 K6 \- u! d: e- X$ s
: I0 P2 h# J$ j/ p r4 c1 H图4 Ganglia监控虚拟机内存
" ~% T) Z, e8 U( `5 j( ^
, z. B. Q; s& i4 Z服务与资源监控
6 T9 f/ Q: ^) A2 g) J- b% o* L9 }
Nagios是在OpenStack部署中广泛使用的,用于监控云平台各种服务的开源工具,另外,它的扩展性良好,很容易加入自行开发的监控项目,为用户提供了很大的便利性和灵活性。8 y O3 w2 g8 Z4 W
4 Y7 C) t3 x# E T1 B3 U" Z& y4 c
图5展示了Nagios的连接视图,这里5个节点在同一个网络里。绿色代表该节点服务正常,而红色则说明该节点至少有一个以上的告警需要处理。) u$ f7 B; T7 e% S
. m* |2 q9 H9 J+ m: T8 n' @* Y! l% [) _8 t2 `: `& g
: A1 ?' ~ \+ k" A' o图5 Nagios的连接视图2 X4 x" |9 x) K. C: e; K
% i! @" }7 ^" k" c7 x! b+ _) `
另外,Nagios可以很容易地与邮件系统和短信平台集成,发送告警信息。) [! I2 q: d3 p+ a5 C
; q8 Y5 F3 @; M! K' [) E
另外,本书展示的界面只是默认的,社区里有许多不同的展示界面,而且是免费的,可以根据自己的需要和偏好进行选择,提供不同的样式和数据展现形式。但数据本身则还是由Nagios服务提供。
) T, T# V7 _; ?4 O) I: ^
* }) V/ W% G9 A& z图6是Nagios的主机视图,该节点的健康状况,以及信息收集时间等信息一目了然。
& w& q. c: z) _: D/ z( ?6 W% [. Z
/ q1 w6 [" r2 d) |4 g: y. r5 k3 h+ s# M6 c, c/ V2 H
. J2 C* V" [, N图6 Nagios的主机视图
9 @& B- {! Q H7 t ~1 F0 _
) K9 K) G/ c9 a( ?/ @图7展示了Nagios的服务监控视图。默认的Nagios可以监控磁盘、SSH、ping等系统基本服务,但是Nagios对OpenStack却一无所知,这是需要自己进行开发和扩展的,另外网上也有不少免费的监控脚本可以集成进来。
; B' J( U% M% z7 B! l' h: O; k9 J3 L- K! V, E. h
# @6 m( R* s5 j+ y$ ^3 Q
; H2 S: m1 j4 B图7 Nagois的服务监控视图
; Y# @* F9 G, j- Y/ N% ~0 d! J D) K6 M9 l
对于OpenStack服务的监控,最基本的可以从进程角度进行监控,如进程是否运行,响应速度如何等。更好的监控,可以结合不同服务的命令,通过查询来判断服务本身的质量如何。这需要初步了解各个服务的使用,以及用到租户、用户、密码等信息。但如果云平台修改密码,则这里也需要进行相应的修改。
. B X6 M3 B1 M/ t
8 ?! r3 A8 O4 p/ k5 i# W$ H( R% D0 m; m! J
3 B; K: p: r) ^/ X- i. x) D消息中间件监控! B: v! W; j& ?( l9 s& m* w
: V5 W! V% m; }9 W! x1 I消息中间件在OpenStack云平台起着心脏的作用,运行不正常则整个云平台会运行不起来,因此监控消息中间件在OpenStack云平台至关重要。
y0 @% H7 f) n8 z6 V' d
- }3 y9 o; R( D7 P$ p图8展示了一款免费软件,可以用于消息中间件统计信息的展现和一些基本管理。6 ^6 V8 _3 N+ r \8 Z7 f
& T7 i3 C% b1 H9 {- u4 n1 q9 P5 a0 |0 ~1 r/ f" t4 j" z% q
t# t7 m4 T+ J8 s- Q
图8 RabbitMQ的Overview视图; P$ D) D% X* \0 {& C
/ ?+ w' x0 x/ Q2 e6 M8 W& @图9显示了消息中间件当前的各种连接,这些连接从不同节点和不同服务而来。' x9 Y# x2 M6 p- X$ B9 `" e9 M, s
+ p& ]) e9 V! K
/ V5 p0 D! y9 ]1 c' R
0 s% A/ A; @, e. e图9 RabbitMQ的连接视图6 |) u5 ~1 i" y4 V. d) i |" @
2 q4 x9 K* w; _8 c
图10展示了消息中间件的通道视图。
6 ~; F2 Z8 Z: W* O( C+ f' G" K
$ A: j2 k8 G# W" c3 N4 P
7 n1 K4 X# r6 V B! F% j8 P) O; ~5 ~. i9 U' M7 y# G
图10 RabbitMQ的通道视图! b- J6 ]( l7 z& r; Q. I9 ?$ t$ b
4 c2 g4 N b' o# R \* y
图11展示了消息中间件的交换(Exchange)视图。
' l, U, Q% d7 E, p# t- O( h7 q/ [8 y1 r$ S3 f
4 H' c& J, r x0 U$ @/ e
3 e1 N6 k6 W) x图11 RabbitMQ的交换视图9 m4 ~; a- `% l4 [
' i) O5 \- U- n7 y4 C* @
图12展示了消息中间件的队列视图,并包括了统计信息。' [) ?& f6 A: ~! ?* m
6 R$ x; }( ^: b4 K4 i
* Z$ d4 g2 k. G# u( h+ V/ V3 i' W# `2 {& v6 X& u
图12 RabbitMQ的队列视图! C4 S. H0 E% Z0 Z9 I
! _3 t7 {# s+ D+ o# f5 {
图13是管理员视图,可以修改密码、增加用户等。
& t" _% O: N, Y' c9 \. a* D8 x* ~% g7 R- a
4 f. N( E9 p" U9 ^# P+ T5 [1 d: t9 [5 S3 e5 j# X
图13 RabbitMQ的管理员视图$ t# B( E/ A4 P- j1 a7 J& P7 M
, R: Y& K1 \2 M! S; F7 G5 N o1 i
日志分析
* H5 E' @' u# I8 S
) B% g( N8 K* R( ?, SOpenStack云平台由于服务众多,会产生大量的日志输出,在云平台初建,涉及Debug时,日志量巨大,对于问题的调试非常不方便,因为关联的服务往往运行于不同节点之上。
5 A/ ]3 T, i; d0 g9 ?% o i; ?% |) b- V4 e
LogStash在各个节点部署了代理程序,可以将日志输出汇聚到中心节点进行分析。中心节点本质上是个搜索引擎和信息统计工具。
* m: c& L2 E q5 l* L+ j& O1 l. _8 q
图14展示了LogStash的Overview视图,可以看到整个云平台日志产生的数量趋势。! c- S- S6 I: G. J
; n- v; W# L: K& o" e6 o- p: M
) ~$ s, ]( M9 l0 b9 o: E9 M$ R
) V' G. G1 b% J# c0 o1 |图14 LogStash的Overview视图0 `! n& y8 ~7 I6 R+ \
4 W/ m8 Y1 E& L: ~4 N' _图15展示了LogStash收集的OpenStack云平台的日志信息汇总,并按时间顺序显示,并可以按不同的维度进行排序、关键词搜索。$ u, ~2 V) i- I2 p( D* W8 W/ k# L- [
9 k+ r5 }% m: i
# j& C1 Y& v1 a( T" y, S- I
3 g8 F1 i' [) {9 |. W图15 LogStash的消息视图
0 I" B: N9 i# d0 g9 u& k) e, W# m T+ U, b% ~* S$ T2 p
图16展示了过滤后的视图,这里我们只关心哪个节点在什么时候发生了什么事情。LogStash可以很好地帮助我们实现这些。
! z! {- Q& y" l0 @ E2 c. R
6 d, i3 J$ Q* B, f3 k1 L
2 ?% B) h$ \& Y( d7 O7 i D
# \4 y2 n3 h/ |3 ]) `9 s8 O5 x图16 LogStash的消息过滤视图' |( n1 Z- r( ~/ s& R# E
以上是“OpenStack企业云平台监控的示例分析 + O0 W" ^, _& M+ Y$ j* v
- a* q- i- v8 p3 D* |1 {# a, N+ u/ S; t
7 s' ?* h r& Q' R0 ^
1 h6 d8 M. f1 Z4 L1 d
OpenStack企业云平台监控的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“OpenStack企业云平台监控的示例分析”这篇文章吧。 性能监控$ e4 J7 j" {/ w9 `, I( C/ d
* I& z# E( Y; |0 U( a
对于OpenStack云平台,主机、存储和网络的监控需求和传统IT环境是一样的,关注的主要指标包括 CPU、内存、磁盘、网络I/O等。本文对于监控并不会展开说明,这里展示在OpenStack部署中使用最多的一款开源软件Ganglia。
9 @" N; R5 w( f! U3 }: |: x2 A6 i7 N$ ^' ?: u; Z2 V
Ganglia需要在各个节点运行客户端程序,在中心节点部署服务器进程,来对整个集群的性能进行监控,并提供各种视图。另外,Ganglia服务器端进程还可以组成集群,提供高可靠性,用于支持大型或生产环境的监控。
) ?* f" f6 g: b5 u6 K/ y, p0 I$ R1 L/ C6 |
图1展示了用Ganglia来展现一个由5节点组成的机群的Load、内存、CPU和网络I/O的视图,并以时间轴来显示。另外历史数据也被保留和查看。$ S/ O1 n( i! u! I/ P- n
1 u6 V' k% l: ]3 y7 T" t- q! K
# u; |7 N4 T1 ^" h% ]
, w& g- F/ k! I) s图1 Ganglia的Overview界面
4 T0 {9 _4 |8 _! j* h9 b3 y$ E" C! r# w: d- g) }
图2展示了4个节点的Load视图,并在一个视图中进行聚合展示。不同颜色标识不同节点的负载情况。! X6 N! Z( a8 S, ~0 G4 R* L8 G
/ ^1 T& j$ a. ~; d; u; L
- M. B1 D. g5 O5 l+ N* n7 i2 h% G9 }0 S! I4 h
图2 Ganglia的聚合视图和节点视图
2 D' e* Q5 ^ ]' j+ h3 u5 Y* g4 r3 [- P2 l" ~
图3是CPU详细监控项目。
# ?! E& G& w$ \. z( Z% C' X3 v# a7 \. F; W# L) t
9 p; R+ M7 C9 N. o
/ x+ p' H, x; Z( W图3 Ganglia的CPU监控
\: W1 X: [' o' G
0 p! Z+ u% S; y; r/ Z图4是一个二次开发的,可以用来监控节点运行的虚拟机的性能,本图展示的是监控一个虚拟机的视图。- L4 C( C4 j# {, J( V" @4 N+ P
: X- W* o6 S8 V/ p, d" X
3 n; }2 t; F0 M2 D8 I* L: ^0 v! f图4 Ganglia监控虚拟机内存/ }: h* o- B+ |
1 ~0 ?* i& y! V0 I g3 }
服务与资源监控
& K5 A( V R2 o1 S) o) j; h6 V E6 ~. B* c
Nagios是在OpenStack部署中广泛使用的,用于监控云平台各种服务的开源工具,另外,它的扩展性良好,很容易加入自行开发的监控项目,为用户提供了很大的便利性和灵活性。" y" l$ E7 D: x- Q. W$ d0 k2 e
0 Y2 L& L' ?% j# v) d f# P: \* m图5展示了Nagios的连接视图,这里5个节点在同一个网络里。绿色代表该节点服务正常,而红色则说明该节点至少有一个以上的告警需要处理。 t6 T: o1 A( r( }) _1 |# I
% _5 T# I$ d& C, G( G) s8 t7 ?) Q9 R7 w e0 }: _
; e: f$ e0 g& M1 E- X! @
图5 Nagios的连接视图6 E& u E; u" A
* V% w. S" ]& _; B; a! Z
另外,Nagios可以很容易地与邮件系统和短信平台集成,发送告警信息。
# s5 c: Y5 J2 s% d, k6 U/ Z i. J. c8 i) @
另外,本书展示的界面只是默认的,社区里有许多不同的展示界面,而且是免费的,可以根据自己的需要和偏好进行选择,提供不同的样式和数据展现形式。但数据本身则还是由Nagios服务提供。& U$ W; k! m, T9 |9 ~
9 k/ K ?3 ~" f0 `图6是Nagios的主机视图,该节点的健康状况,以及信息收集时间等信息一目了然。
: n4 Y9 }# p9 r) H4 N# j* v
6 I0 X7 W% u8 W+ I4 R" ?% G
3 h2 d$ ?5 N5 M
( T: h: z. a1 U7 O* @, k图6 Nagios的主机视图
b7 R- y$ ]# n- t! [0 ^ f/ r: V3 D4 N- n- z5 O
图7展示了Nagios的服务监控视图。默认的Nagios可以监控磁盘、SSH、ping等系统基本服务,但是Nagios对OpenStack却一无所知,这是需要自己进行开发和扩展的,另外网上也有不少免费的监控脚本可以集成进来。* W0 ^! w& Q( V
1 Y2 N% j! z$ y- i0 P1 ~7 {
; h; h0 L! F4 v! M! L* ]' j) m
4 G- @3 L0 V, T2 `: M; `4 _图7 Nagois的服务监控视图3 G l Z$ D/ O- C) s2 ^* @. ^2 }
6 ~7 |$ V9 n( W0 T0 N
对于OpenStack服务的监控,最基本的可以从进程角度进行监控,如进程是否运行,响应速度如何等。更好的监控,可以结合不同服务的命令,通过查询来判断服务本身的质量如何。这需要初步了解各个服务的使用,以及用到租户、用户、密码等信息。但如果云平台修改密码,则这里也需要进行相应的修改。
]$ e4 u) A( H1 j. I) q0 K' y- i& u( Y
9 L$ n; C Z$ Z* q* j0 s4 s. N
消息中间件监控
5 X5 `; V) ^) {, w# v$ }3 t& S: H8 B( R) u( p% g
消息中间件在OpenStack云平台起着心脏的作用,运行不正常则整个云平台会运行不起来,因此监控消息中间件在OpenStack云平台至关重要。
- Y( R0 X$ z- Q
9 h. P; R1 Z: L- U图8展示了一款免费软件,可以用于消息中间件统计信息的展现和一些基本管理。, j; p% u8 Q8 ]/ \7 r
/ t1 P8 V7 }/ b8 }; B
3 f/ a+ `7 _) a$ {- |: r5 c A( o; y$ ^. u" u
图8 RabbitMQ的Overview视图
: ^1 _/ o4 ^1 w& b' z; ?
2 @; r. ~+ }2 m/ `' \/ ]3 J! g% q图9显示了消息中间件当前的各种连接,这些连接从不同节点和不同服务而来。
- K7 r1 G' f9 u+ s# m! f: l Z7 h7 u2 V4 ?) Y" [! S
/ F7 L* z- N Q; k7 N, |
1 l) E) U3 q7 f1 X0 [4 ~$ Q
图9 RabbitMQ的连接视图
$ c9 k( P/ Y- W L8 o; G* I M% C* B4 a* C8 i3 {0 s
图10展示了消息中间件的通道视图。
5 K. }5 @, a5 a* l1 t" K
2 C9 @4 j+ F% ?. z
3 G. l* c7 n9 v9 e, p, ]1 I: W
$ J" d; h/ X. c1 T; f图10 RabbitMQ的通道视图" c2 A/ b- s' o5 N
7 n! U* t3 z+ b5 H$ d图11展示了消息中间件的交换(Exchange)视图。8 m" G- |% j( i' x% t
" F, }& ?$ F4 k, l2 X- n6 J. v! D) y- j% s: D
# V: J( {/ n( }; L图11 RabbitMQ的交换视图; g( v" K" E! f5 l9 G0 T6 r
* i( o E$ Y3 q" P" R, J* Y图12展示了消息中间件的队列视图,并包括了统计信息。
. j* O) C& P' z( o9 O. ?/ N. g) Q
5 {9 o$ E( r X& i- t% z
# Z# K8 K' Q4 l图12 RabbitMQ的队列视图( |+ d0 A9 N4 I: ?" p# e
" f. F4 ]0 W/ b! S$ E" R图13是管理员视图,可以修改密码、增加用户等。
5 T1 n3 T5 G. r4 _
) U$ K0 N O9 X0 c8 u
& Z; u3 a1 [% I h- h- f
N S4 W+ J$ }6 u% A5 e图13 RabbitMQ的管理员视图
9 e# I4 g6 T2 U: E
4 N5 j# \8 [7 a日志分析5 A* m2 r3 T; s1 ]9 Y: E' t; n2 T* F$ e
! v# O. r7 l( G9 y9 o" oOpenStack云平台由于服务众多,会产生大量的日志输出,在云平台初建,涉及Debug时,日志量巨大,对于问题的调试非常不方便,因为关联的服务往往运行于不同节点之上。
/ R( ]7 s" Q J7 }, o$ F6 H
5 d) [- B: Z, i+ c: B1 eLogStash在各个节点部署了代理程序,可以将日志输出汇聚到中心节点进行分析。中心节点本质上是个搜索引擎和信息统计工具。& c/ P% N% \9 P8 a$ i' m
! _. K$ E7 y& ]2 M. }
图14展示了LogStash的Overview视图,可以看到整个云平台日志产生的数量趋势。
0 Z9 b4 ]5 |2 U' y6 r1 n. K
* s) N; `1 U" W3 L5 w; N; ^8 n7 y ^ A/ Q! j$ d: F% l! k
: f4 _7 ]; v6 `
图14 LogStash的Overview视图2 s' M" g7 ^- m& ^$ S
# O; Y. _) K" O! d9 Y7 c
图15展示了LogStash收集的OpenStack云平台的日志信息汇总,并按时间顺序显示,并可以按不同的维度进行排序、关键词搜索。2 ?3 C$ S4 \# w- c$ _ w- o
" H9 C9 L+ h+ u
$ S! B! w4 W% m$ C
( z8 E% ^- t8 l+ H9 f图15 LogStash的消息视图+ {. {2 Q% \) Z% Y
1 G Z+ K1 q4 Z: H% `/ _$ m8 u图16展示了过滤后的视图,这里我们只关心哪个节点在什么时候发生了什么事情。LogStash可以很好地帮助我们实现这些。
- L. S$ Y9 f3 D/ \9 Y+ J- L3 T7 D- g# O; N) ~$ d" B
5 J6 B- S; g- y0 k6 a. ]9 j
; A N/ C( x5 g! v) p+ X图16 LogStash的消息过滤视图
% C4 ~' f; D1 R$ M. X7 `( v 以上是“OpenStack企业云平台监控的示例分析 % @4 B6 L# [+ N8 _
. b" v# L4 S! N
|