一 . 说明

Ganglia由gmond、gmetad和gweb三部分组成

gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。

gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。

gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。

二 .准备环境

CentOs 6.5 安装Ganglia步骤_CentOs 6.5

三.安装

3.1安装gmond

在每台需要监控的机器上,安装gmond

1.在本地软件库中搜索gmond安装包 :yum search ganglia-gmond

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_02

2.显示搜索失败,可能是当前RPM发行版中没有Ganglia安装包。

解决方法: 输入: rpm -Uvh \
显示: 

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_03
接着输入: http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
CentOs 6.5 安装Ganglia步骤_CentOs 6.5_04

3 . 再搜索(首次执行会下载epel/primary_db)

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_05

4.安装

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_06
CentOs 6.5 安装Ganglia步骤_CentOs 6.5_07
安装gmond 完成

3.2 安装gmetad

和gmond安装中介绍的相同,如果本地软件库不提供gmetad,那么需要安装EPEL。
命令: yum install ganglia-gmetad -y
会发现安装了以下依赖包:
    Dependency Installed:
      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

3.3 安装gweb

在进行gweb的安装和配置前,请先检查是否已经
满足下面需求:
    Apache Web Server
    PHP 5.2及更新版本
    PHP JSON 扩展的安装和启用

1.首先安装Apache和PHP 5

命令: yum install httpd php
会发现安装了以下依赖包:
    Dependency Installed:
  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

注意:
    需要启用PHP的JSON扩展,JSON已经包含在PHP 5.2及更新版本中。
    通过检查/etc/php.d/json.ini文件来检查JSON扩展的状态,如果已经启用JSON扩展,在该文件中应该包含类似下面语句的内容:
    extension=json.so

3.2 下载最新版本的gweb(https://sourceforge.net/projects/ganglia/files/gweb/)

本示例当前最新版本为3.5.12
命令: wget http://ncu.dl.sourceforge.net/project/ganglia/ganglia-web/3.5.12/ganglia-web-3.5.12.tar.gz
下载后 解压: tar -zxvf ganglia-web-3.5.12.tar.gz
需要修改 Makfile文件:
cd ganglia-web-3.5.12
vim Makefile
    修改默认配置:
    GDESTDIR = /var/www/html/ganglia2
    APACHE_USER = apache
最后编译: make install

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_08
上图显示说明编译成功

3.4 状态检查

检查httpd是否启动:service httpd status
启动httpd:service httpd start

检查gmetad是否启动: service gmetad status
启动gmetad:service gmetad start

检查本地gmond是否启动:service gmond status
启动gmond:service gmond start

CentOs 6.5 安装Ganglia步骤_CentOs 6.5_09

3.5关闭SELinux

    如果跳过这一步,打开http://<server ip address>/ganglia2会出现以下异常:

    There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied

SELinux是什么

http://wiki.centos.org/zh/HowTos/SELinux

查看SELinux状态:
sestatus

关闭SELinux:
命令: setenforce 0

setenforce 这个指令可以即时切换 Enforcing 及 Permissive 这两个模式,但这些改动在系统重新开机时不会被保留。
要想在下次开机后生效,需要在 /etc/selinux/config 内修改 SELINUX= 这一行为 enforcing。

3.6访问Ganglia监控平台

http://<server ip address>/ganglia2/

目录“/ganglia2”可以在 ganglia-web的Makefile文件中GDESTDIR被修改,修改后需要重新编译

(结束)

岁月里,寒暑交替。人世间,北来南往。铭心的,云烟的。都付往事,不念,不问。