一 . 說明
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界面中以圖表方式展現集群的運行狀態下收集的多種不同指標數據。
二 .准備環境
三.安裝
3.1安裝gmond
在每台需要監控的機器上,安裝gmond
1.在本地軟件庫中搜索gmond安裝包 :yum search ganglia-gmond
2.顯示搜索失敗,可能是當前RPM發行版中沒有Ganglia安裝包。
解決方法: 輸入: rpm -Uvh \
顯示:
接着輸入: http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3 . 再搜索(首次執行會下載epel/primary_db)
4.安裝
安裝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
上圖顯示說明編譯成功
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
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被修改,修改后需要重新編譯
(結束)