|
|
Ganglia由gmond、gmetad和gweb三部分组成
- U7 T3 M2 r5 C6 Y& `3 K# l' H X% m, s* }# N! J
gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。# `& O0 r# x2 W5 b- }
+ e% U0 }% i3 c
gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。
) f4 ^( s" }! {
+ q; @* f: H& ?gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。. ^8 O1 I( x# f& d# {8 L1 c
3 F2 X2 Q5 e" Q6 J) ?
2 @) u+ w' T) w( s" H2 X准备环境5 ^# \7 k [) {9 W: q; o
# lsb_release -a
' M& m* k( M. Z. M# K 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-noarch* [* \: p2 O9 `7 ]# v
Distributor ID: CentOS# R6 I+ J/ N& a& s. w) G
Description: CentOS release 6.5 (Final)6 p' m& U9 {& }! k( Y
Release: 6.54 R- A. p7 @2 h1 P+ o! `+ }
Codename: Final9 C' q9 @4 x4 d K5 @ @
) r8 [4 }9 z& G' L$ ~
S1、安装gmond/ k; D' C& d7 L& D' _
在本地软件库中搜索gmond安装包
0 a; ]4 c# r4 D1 s1 U: M [root@stonex ~]# yum search ganglia-gmond
3 }( f' R1 I0 V Loaded plugins: fastestmirror
0 _6 n" d5 k, N4 p* {8 H Loading mirror speeds from cached hostfile5 x' D0 s. y- k: P6 s# l
* base: centos.ustc.edu.cn
1 T7 R4 Q! s/ j7 K- Q( K( h" h7 v * extras: centos.ustc.edu.cn
& x \! R% H7 B# F+ x * updates: centos.ustc.edu.cn' o: z6 P, H3 ^$ r7 g
Warning: No matches found for: ganglia-gmond
# Y- e; s4 T% ?# a8 i& ~0 D No Matches found1 I7 z' `& W8 B, q) _6 Z! C2 K
- Z e! g! u. W1 J; M+ @ 显示搜索失败,可能是当前RPM发行版中没有Ganglia安装包。! H* I& q, a6 r& n' J. S
J( N( a* }* u
[root@stonex ~]# rpm -Uvh \
- l$ ~- h% x/ C$ B, g ? > http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm
# `& j$ {/ p: }6 C Retrieving http://dl.fedoraproject.org/pub/ ... ease-6-8.noarch.rpm
8 O5 j. J: }8 o$ N warning: /var/tmp/rpm-tmp.L2dC50: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
, x/ q& ~% a0 L; |( V Preparing... ########################################### [100%]
" _3 X4 G, a, D) Y' C; N) p 1:epel-release ########################################### [100%], N, m2 ~( N! o U# m" s' _$ u
[root@stonex ~]#8 R* c( ]( C: T \
9 i( d+ V% k( N* X
再搜索(首次执行会下载epel/primary_db)
3 q$ u- I- r& N& @ [root@stonex ~]# yum search ganglia-gmond) X g3 Y4 y4 @/ z" N, V8 U- O
Loaded plugins: fastestmirror" {+ P8 S, g3 n$ n S6 \
Loading mirror speeds from cached hostfile! o# s5 k" g' P
省略了一些行......% w9 A+ ?7 w, U- N
ganglia-gmond.x86_64 : Ganglia Monitoring daemon
! I7 c) w, t/ s4 \; E; E, h6 u ganglia-gmond-python.x86_64 : Ganglia Monitor daemon python DSO and metric modules
4 O% V: Y1 r4 ^: [0 h 省略了一些行......
1 g" B4 a& [* M5 X [root@stonex ~]#
7 }# j& e+ |0 d8 w2 y4 l
* t$ Y& ^7 K- D8 e0 d3 z 安装
8 f, O# ^+ J2 M6 F6 i" D l6 X [root@stonex ~]# yum install ganglia-gmond -y
" {- y! c6 a, x7 n0 J! B yum安装会自动解决头疼的依赖包问题
; c* ^8 N- q" D6 D) z( ?- L9 |" _
& ^% x" r& F5 e! k9 p7 k/ PS2、安装gmetad
( \/ m& K; x1 P) E9 {5 e# y 和gmond安装中介绍的相同,如果本地软件库不提供gmetad,那么需要安装EPEL。
8 Z0 D h. x' e; p/ f) c [root@stonex ~]# yum install ganglia-gmetad -y
! S' k$ @( n) u" j 会发现安装了以下依赖包:% W. y$ [' n7 Q# o
Dependency Installed:
2 c# _5 V9 D* T' y9 b) 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
0 x* x, H, v+ ] * x2 P5 P# d4 d! e5 _
S3、安装gweb; h2 |* j) ~+ F% o+ M
Wiki:http://sourceforge.net/apps/trac ... -web-2#Installation3 k* ~* i& A; ^' a. B+ n
) t" u0 v7 V W8 J" L5 J" P
o% Y! Y3 V/ i+ q1 s 在进行gweb的安装和配置前,请先检查是否已经
F+ i2 X/ a( D9 @ 满足下面需求:0 @/ I$ V: I6 t" G) H1 l( D
Apache Web Server
+ Q& c8 l9 N4 B) }/ a M PHP 5.2及更新版本
$ X; z2 M/ ~/ s( B2 r& b( t; R: D PHP JSON 扩展的安装和启用# t. Y; E H8 p. ~' L$ B
! Z2 v$ p; v1 C# K1 K 首先安装Apache和PHP 58 ?- p8 _, x+ a+ `* d1 z
[root@stonex ~]# yum install httpd php# F9 `1 }$ V2 `
会发现安装了以下依赖包:
6 n* w9 n- [8 L, [, E+ Z Dependency Installed:: W2 p% q0 a5 g2 ?/ w# R3 Q! P
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
! w& n% ^; s" q$ ]1 f( w ! {; c6 @6 p3 T+ Z# g
需要启用PHP的JSON扩展,JSON已经包含在PHP 5.2及更新版本中。( f' y ]4 j- |, V6 d7 w
通过检查/etc/php.d/json.ini文件来检查JSON扩展的状态,如果已经启用JSON扩展,在该文件中应该包含类似下面语句的内容:
2 p# i1 {; s& I' q: z7 V# ?9 b/ p extension=json.ini4 i: Q- {6 t9 p8 R3 g$ d: R
2 ?3 f5 }6 \' C, z. c 下载最新版本的gweb(https://sourceforge.net/projects/ganglia/files/gweb/) S( h- {' s2 Y# I
本示例当前最新版本为3.5.12% d% u( |4 X: q( T0 E
[root@stonex ~]# wget http://ncu.dl.sourceforge.net/pr ... a-web-3.5.12.tar.gz6 T' z* y) a, u9 N; ]
[root@stonex down]# tar -zxvf ganglia-web-3.5.12.tar.gz
+ T8 K4 a8 l$ n [root@stonex down]# cd ganglia-web-3.5.12
$ C9 l0 M* N Q$ y% z' e
! r( N h$ x r, w+ }; S 编译Makefile+ I$ g/ ]/ I/ J8 r$ w; M
[root@stonex ganglia-web-3.5.12]# vim Makefile. i( I) m0 |7 b
可以查看一些用户默认配置:+ U, k7 S- d+ N( E! P. f
##########################################################9 a- H& t& d5 B* }% r
# User configurables:- r- x) W/ _ @& F5 F
##########################################################
9 v# t( x( ?9 \4 p, w" F0 A # Location where gweb should be installed to (excluding conf, dwoo dirs).5 O z5 f2 J& ] W# ?
GDESTDIR = /usr/share/ganglia-webfrontend5 u& @- c# h2 ?7 W& ^; C. f
1 H1 b) B' Y4 i/ M4 a' x' i+ k* G& r8 p) ~$ m7 z$ K. Z
# Location where default apache configuration should be installed to.
6 F8 u# u8 K; d$ b5 G: h GCONFDIR = /etc/ganglia-web
3 p) y; a$ P( k; m0 p) F# p9 q3 F
) r6 e* P. a/ m7 O4 L, S4 _. s5 X # Gweb statedir (where conf dir and Dwoo templates dir are stored)
- Y4 k. z, p% w! q GWEB_STATEDIR = /var/lib/ganglia-web
5 ?8 b9 r% C' N! e3 Q' l s0 J& ]1 h) a. \$ T% T+ z
5 K7 B/ ~1 l3 ~( u( ^
# Gmetad rootdir (parent location of rrd folder)
% s! N( p% z2 i0 w1 _5 l0 I GMETAD_ROOTDIR = /var/lib/ganglia
1 A2 a/ o5 ~* y5 o& @! {% h& h& W+ A/ ^ E9 j
7 f( O/ p2 F3 k/ z- F$ p' e
APACHE_USER = www-data
1 b- ], h; b' h, [9 Z( E# {+ q" j ##########################################################. v" J4 A4 ?2 O. r7 L. R3 @" ?
4 t! f0 I$ h1 V3 q0 T0 M 修改默认配置:
8 M5 ]( K3 C( a GDESTDIR = /var/www/html/ganglia2
( n" q5 S0 F# K& F& Y! Y9 ] APACHE_USER = apache/ P2 c4 r7 U: C
注意:GDESTDIR 和 APACHE_USER 要与APACHE的配置文件(/etc/httpd/conf/httpd.conf)中的 DocumentRoot 、 apache保持一致, V, ?$ j! Y2 Z# @1 h" ]& T
; T! Z5 _. N0 G; v make install
/ ^; V6 u$ b: \3 h Z1 t
( y7 j+ U& j7 R- m; ~+ [3 P6 f# C* ]- p4 s) g5 ^
S4、状态检查
/ F" i2 _ j0 X% f1 [+ [! z 检查httpd是否启动:
x4 Q8 U7 A9 s" Q [root@stonex ~]# service httpd status
' r) ~/ R1 i. @6 Y7 V A, N 启动httpd:5 w) K6 O+ U! O, v& v) d, A
[root@stonex ~]# service httpd start& R4 o+ U) u, e4 y3 l9 j0 Q' v0 ]. [
9 K7 Y' N. T' F 检查gmetad是否启动:/ j- e+ {) w% `7 L$ ~
[root@stonex ~]# service gmetad status
/ G3 R9 @1 n2 C y0 W 启动gmetad:
* c2 a) ^# c3 v9 S; j2 v [root@stonex ~]# service gmetad start7 h! a8 F5 b0 J
% r" d W, I' n1 V' i( v
检查本地gmond是否启动:& H; {9 A0 |& t
[root@stonex ~]# service gmond status
# [! Q5 _! ^9 a+ c 启动gmond:
6 w1 t: R/ m; [: H+ Y) L [root@stonex ~]# service gmond start' f. s2 k, M, M, ?% Q
" H- \7 K* l1 H0 v* H/ mS5、关闭SELinux
$ V e; I+ }* l+ P) N% A 如果你跳过这一步,打开http://<server ip address>/ganglia2会出现以下异常:
9 a+ `3 W+ _1 x. F1 U( h There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
. u5 R, J. ^- d5 _) K3 B1 x! A 2 _5 G a4 |! w: Z/ E0 }
SELinux是什么?
$ r' m3 u5 m1 `3 D) X! y# h http://wiki.centos.org/zh/HowTos/SELinux
( Q5 M% M- _# N6 H9 \/ ]2 T
3 b H& k. @/ ?6 |) Y0 w" A: h+ t 查看SELinux状态:, D% O, D9 M2 S M% K4 I0 f
[root@stonex ~]# sestatus! E3 y7 q% G7 K7 ~
SELinux status: enabled- p: _( g- l# a/ m
SELinuxfs mount: /selinux$ P: a, u8 i9 X- y$ j$ m
Current mode: permissive( r3 i t# @0 J* f1 j
Mode from config file: enforcing: M4 D+ g, |$ f) a1 Y) a
Policy version: 24
' g; P8 x! y& }2 J* u Policy from config file: targeted
9 i+ G, V* J7 {; |& ^0 h- M % r3 X1 s) r8 g5 s' x# z
关闭SELinux:
) R/ r, Q( @$ H, m8 K [root@stonex ~]# setenforce 0
8 N7 d$ V7 H: S3 U" Q setenforce 这个指令可以即时切换 Enforcing 及 Permissive 这两个模式,但这些改动在系统重新开机时不会被保留。
# _( t/ L+ L* |/ L 要想在下次开机后生效,需要在 /etc/selinux/config 内修改 SELINUX= 这一行为 enforcing。! f3 w8 T" r7 \# M
# r$ K# @; L9 ]0 A. w& HS6、访问Ganglia监控平台
; |7 L+ R7 q. |2 B" s. { http://<server ip address>/ganglia2/& g3 g" W) |) F# Y' l, s
2 R! z# l1 C$ Y0 d6 C 目录“/ganglia2”可以在 ganglia-web的Makefile文件中GDESTDIR被修改,修改后需要重新编译' s' a0 D7 l8 d
|
|