- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Ganglia由gmond、gmetad和gweb三部分组成
5 H! F8 Z! v ^; A: o0 X3 D2 s% ~
gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。
; r0 o0 K3 I3 R2 F
( ~5 d( K, M: Hgmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。: e7 w* m. u" k' y
" s9 {1 G4 d: qgweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。 b+ O% Z9 X, c8 M
: R/ r& S+ l2 o1 c1 J7 q$ D
/ e1 b$ t: m3 Y% H; C( M5 u准备环境
1 ~0 A* O* A3 W # lsb_release -a6 V3 j( G) X/ ~: `( G' k* j$ d( p
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch2 q: k- G! j7 N2 j( I% g
Distributor ID: CentOS1 Z! ^/ p) }$ Q7 b1 w3 a0 P* I
Description: CentOS release 6.5 (Final)
4 Z7 f; F6 R. r Release: 6.5
/ R6 Y0 ~! Z: ~ Codename: Final
. ~3 H$ m, t. Y. | A# Q 2 Z0 X8 V* g) \, u# n
S1、安装gmond
; ^2 X7 i/ t" { 在本地软件库中搜索gmond安装包
# F- I$ [, h+ H- R [root@stonex ~]# yum search ganglia-gmond
$ ]) h3 {3 \6 z Loaded plugins: fastestmirror
: }; i3 P- u3 k5 U) H/ J Loading mirror speeds from cached hostfile, A( }: A* U. G
* base: centos.ustc.edu.cn: B7 [) ^. v" Y D
* extras: centos.ustc.edu.cn
' i' C( ~* Q4 ?/ q0 o * updates: centos.ustc.edu.cn
% m" q! _' t* e Warning: No matches found for: ganglia-gmond+ t7 a9 u" m$ b1 L
No Matches found7 f5 G9 z( E$ l+ h: |/ b3 C1 A
y7 t+ Q9 O4 {/ a5 Y
显示搜索失败,可能是当前RPM发行版中没有Ganglia安装包。
# T7 E: q+ w6 K- `( T3 D4 F
! i/ e2 K6 S- K, O: P [root@stonex ~]# rpm -Uvh \
/ T, C# N: `1 q. A > http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm
' q# b) H- w( j+ B7 C$ A/ ?/ z Retrieving http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm: V5 w! d. r9 B, ?+ [8 f( a. w
warning: /var/tmp/rpm-tmp.L2dC50: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY& q3 ^7 F. e; U6 k9 J0 \
Preparing... ########################################### [100%], [8 f5 N8 Y8 U- m6 V1 T o+ F
1:epel-release ########################################### [100%]1 E% r. X% E3 _1 o( M# ]! `
[root@stonex ~]#- Q$ e" m4 L& u5 x7 f. x5 d! R
1 q; L3 n/ }' q" w9 b6 q9 ]5 P2 @ 再搜索(首次执行会下载epel/primary_db)
- ^/ s* V) B! |, A# t7 q [root@stonex ~]# yum search ganglia-gmond
! G% F$ _0 ~8 ?; E, ` Loaded plugins: fastestmirror
$ f. V; B, T ` Loading mirror speeds from cached hostfile5 l5 Z4 K$ v9 h# E
省略了一些行......
/ a1 H$ k' d7 w ganglia-gmond.x86_64 : Ganglia Monitoring daemon
4 G# d- K* e- S- R: y7 O x. v7 a ganglia-gmond-python.x86_64 : Ganglia Monitor daemon python DSO and metric modules _" y+ t: {5 |% E
省略了一些行......
' A L; m/ x4 i [root@stonex ~]#
0 J; U0 Z( y+ P ' I6 X, ]) X& y1 |2 B" n& y- O3 U
安装
R I7 J% k# O1 |4 g7 e! T$ F [root@stonex ~]# yum install ganglia-gmond -y R z# u* }3 y
yum安装会自动解决头疼的依赖包问题8 g9 J6 }- j/ T( t8 b5 K' @
9 E' K# F( w/ k4 G+ ~/ NS2、安装gmetad8 ?5 F; U* {, G" }
和gmond安装中介绍的相同,如果本地软件库不提供gmetad,那么需要安装EPEL。
+ w1 N! m4 Y, t- ^ Z! q! t) b [root@stonex ~]# yum install ganglia-gmetad -y* N2 t" b8 U; n0 D3 ~- o! h
会发现安装了以下依赖包:
% c/ X/ y5 f/ R" v: o Dependency Installed:! [3 {) H5 _; U6 O* f! u) n
dejavu-fonts-common.noarch 0:2.30-2.el6 dejavu-lgc-sans-mono-fonts.noarch 0:2.30-2.el6 dejavu-sans-mono-fonts.noarch 0:2.30-2.el6 fontpackages-filesystem.noarch 0:1.41-1.1.el6 rrdtool.x86_64 0:1.3.8-6.el6
% h! {& j d7 g" v; S ~1 v# l6 I0 i
3 k7 h: y. N/ e" yS3、安装gweb
j0 K# |1 `1 P7 B% {0 L Wiki:http://sourceforge.net/apps/trac ... -web-2#Installation9 r7 q: j# _$ ?6 t3 Y
1 B, K- I, n1 T$ O- P0 L: B. F
# b$ c- a- T! L. t. @ 在进行gweb的安装和配置前,请先检查是否已经8 v. I, Q1 c7 w3 d m7 f* P
满足下面需求:
7 \$ U4 L3 I" Z9 G8 y# V Apache Web Server
3 K: h! j- O% X0 s) E& K PHP 5.2及更新版本
9 Y, M1 h9 |4 i, D6 [ PHP JSON 扩展的安装和启用" r) a. P8 Q3 J p; b8 |1 ]
# B. {5 W/ P0 g" P1 V 首先安装Apache和PHP 5
# B) w: X( U' K O; e- N [root@stonex ~]# yum install httpd php
; G) k8 ~2 [7 M: C$ k7 l 会发现安装了以下依赖包:
4 E$ a2 y# E1 C Z8 \ Dependency Installed:
) e( p3 [! D* k apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 httpd-tools.x86_64 0:2.2.15-29.el6.centos mailcap.noarch 0:2.1.31-2.el6 php-cli.x86_64 0:5.3.3-27.el6_5 php-common.x86_64 0:5.3.3-27.el6_5. A" V% m2 m- [9 ?1 I
2 i* @5 Q5 O% ?8 b
需要启用PHP的JSON扩展,JSON已经包含在PHP 5.2及更新版本中。+ G' m5 y3 B+ i, {: [
通过检查/etc/php.d/json.ini文件来检查JSON扩展的状态,如果已经启用JSON扩展,在该文件中应该包含类似下面语句的内容:/ }" r H9 o. h
extension=json.ini# a8 Q& q- i7 n% V' Q7 n& m
) Z+ n4 V% E/ X8 d0 F( @: A) R
下载最新版本的gweb(https://sourceforge.net/projects/ganglia/files/gweb/)
! B2 T" y/ p/ A: M) I 本示例当前最新版本为3.5.12, s* H7 @ j2 J
[root@stonex ~]# wget http://ncu.dl.sourceforge.net/pr ... a-web-3.5.12.tar.gz
4 Z, N# M: Y; A- a. | [root@stonex down]# tar -zxvf ganglia-web-3.5.12.tar.gz
# K" u; d/ s& Q, ~& e" t; a1 y+ _ [root@stonex down]# cd ganglia-web-3.5.12, k. A$ Z0 p, Z& t
7 a. k! r } }
编译Makefile+ q: H: `2 ^1 U0 t
[root@stonex ganglia-web-3.5.12]# vim Makefile7 [1 n" T* [* r7 Q R- w) X2 F [/ ~
可以查看一些用户默认配置:
( y! j% ?# N( ^6 [; u( D9 A ##########################################################
' X9 |, z; \1 t i( o # User configurables:
" [" m8 F& d: B) @ ##########################################################! H6 y/ u) H4 S# P2 A
# Location where gweb should be installed to (excluding conf, dwoo dirs).( b' V8 I/ Q3 M, ?% @: s
GDESTDIR = /usr/share/ganglia-webfrontend
! n6 } v$ a+ Z/ ]
1 R+ g3 G; q/ Z2 Z. x' C5 N, u! ]! n* b8 b( G
# Location where default apache configuration should be installed to." U0 D1 ~6 U+ U' G
GCONFDIR = /etc/ganglia-web- M4 [. W1 l8 H, E+ i+ i1 E
6 R/ [7 U( B; i; r- ?8 X, \. _# U6 g
7 }7 D. c, d+ q. A7 _ # Gweb statedir (where conf dir and Dwoo templates dir are stored)$ O- I" H q; _ d; K
GWEB_STATEDIR = /var/lib/ganglia-web
' K% s9 g/ b. B$ |- `' ?1 F0 A
! F% H. X6 w0 ^3 |. ?) N0 ]
" e- h0 W; E, M( r # Gmetad rootdir (parent location of rrd folder)/ H6 d8 ~# w9 a2 O* e$ [; {
GMETAD_ROOTDIR = /var/lib/ganglia4 J; p; {* _! u* Q8 X% }8 o
0 _; H7 K* f8 u6 {1 [5 [
% |2 m$ R8 {( u% |7 j* Z APACHE_USER = www-data
/ i3 `1 ]- l, x2 W. u ##########################################################2 i I& x# q+ z# f" s
+ B4 d" C/ q* P' a9 u+ p% p0 W Q
修改默认配置:
0 |7 j, s, S8 R( k. p# } GDESTDIR = /var/www/html/ganglia2
: X# Z8 O* U+ w& m0 P APACHE_USER = apache: l+ x$ r! {, p/ ]2 N
注意:GDESTDIR 和 APACHE_USER 要与APACHE的配置文件(/etc/httpd/conf/httpd.conf)中的 DocumentRoot 、 apache保持一致" b1 m7 n0 ~1 C5 }) b4 y F- l
& T7 J' Q# g! M make install
, |$ a7 y3 b) [/ p9 L; n
5 T2 ?6 ], O0 J9 B1 D3 A( R
: W8 j1 p4 W6 B( h9 {" s# }9 c; I7 MS4、状态检查
; q' a1 b- R# H 检查httpd是否启动:
0 L1 z! g+ }3 u O L [root@stonex ~]# service httpd status) Q4 ?0 a% D* h% }$ S5 h
启动httpd:
# H6 Y( M S; V! d+ n [root@stonex ~]# service httpd start) G0 G, w& d+ m
5 p2 w- L! r: K3 j% H1 ~ 检查gmetad是否启动:
7 {( e+ `& @' }0 a) `8 E [root@stonex ~]# service gmetad status
. C. s" C% \# N 启动gmetad:
" s5 d0 ]6 w0 @9 W) g [root@stonex ~]# service gmetad start
9 G9 L- |% l3 p$ J
2 ]* ~8 T3 ^2 W6 i% x5 C. f0 T 检查本地gmond是否启动:
( D5 b; k R- N+ l [root@stonex ~]# service gmond status
# o% d0 o% L' ^7 T3 a0 e, T/ _ 启动gmond:
6 h3 }, v* F* v, P [root@stonex ~]# service gmond start
# i* S& y5 L0 w1 |; Q 9 S3 {# H5 o& k- d3 y" e8 p6 f
S5、关闭SELinux& B* [; b) Q7 t' ^) C
如果你跳过这一步,打开http://<server ip address>/ganglia2会出现以下异常:2 ^% N% v5 z' x4 u0 s* o, y
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
7 X; M4 e. e* @' H5 J$ @/ P - R* @, i3 k9 V5 O% V0 \5 O
SELinux是什么?2 N# f0 ~4 Z3 y
http://wiki.centos.org/zh/HowTos/SELinux) t! Q/ \0 N" y4 n- d9 {
% z U4 B; h" R5 k$ L 查看SELinux状态:
2 l6 U' W( J4 `. ] [root@stonex ~]# sestatus
( J$ T f1 @- ?3 s& t SELinux status: enabled
: ~* J: k" m' [" D* ] SELinuxfs mount: /selinux
) x% Q# W3 j/ A0 S; s3 X1 V* @ Current mode: permissive
5 F* W3 W" V& ]: n$ c8 P/ e$ C Mode from config file: enforcing
+ U/ l& V- u6 q2 D& O: l; D! G' ] Policy version: 24
1 {. ~# I# H( a3 O+ S" G! e Policy from config file: targeted
+ P, D3 X& b9 |& F
( R) r; f4 S% G" X" j 关闭SELinux:
4 f% V2 T* Z$ d) W, p! I5 t, g3 ` [root@stonex ~]# setenforce 0, u; ~* c% ` n) p
setenforce 这个指令可以即时切换 Enforcing 及 Permissive 这两个模式,但这些改动在系统重新开机时不会被保留。
p8 X6 T P& V$ q 要想在下次开机后生效,需要在 /etc/selinux/config 内修改 SELINUX= 这一行为 enforcing。
( ]/ B5 ^* N, ~( q v7 K! w1 w, v8 v- H
S6、访问Ganglia监控平台
4 N9 o6 N6 ]" ?( c http://<server ip address>/ganglia2/& F+ H) h2 H: J6 e# u
9 s# r9 Y/ r& k4 y 目录“/ganglia2”可以在 ganglia-web的Makefile文件中GDESTDIR被修改,修改后需要重新编译1 V; Q3 P" n O! C. E& n- J
|
|