雲監控 Ganglia 安裝步驟

2024年2月6日 19点热度 0人点赞

Ganglia是一個監控服務器,集群的開源軟件,能夠用曲線圖表現最近一個小時,最近一天,最近一周,最近一月,最近一年的服務器或者集群的cpu負載,內存,網絡,硬盤等指標

Ganglia的強大在於:ganglia服務端能夠通過一臺客戶端收集到同一個網段的所有客戶端的數據,ganglia集群服務端能夠通過一臺服務端收集到它下屬的所有客戶端數據。這個體系設計表示一臺服務器能夠通過不同的分層能夠管理上萬臺機器。這個功能是其他mrtg,nagios,cacti所不能比擬

1.相關環境

Host Name

IP

OS

Arch

duangr-1

192.168.56.10

CentOS 6.4

x86_64

duangr-2

192.168.56.11

CentOS 6.4

x86_64

duangr-3

192.168.56.12

CentOS 6.4

x86_64

全部主機確認:

iptables關閉

SELinux disabled

2.部署規劃

監控服務主節點

duangr-1

被監控從節點

duangr-2

duangr-3

Ganglia監控服務的主節點需要安裝:

ganglia

ganglia-web

php

apache

Ganglia被監控從節點需要安裝:

ganglia

安裝路徑規劃

ganglia安裝路徑

/usr/local/ganglia

php安裝路徑

/usr/local/php

apache安裝路徑

/usr/local/apache2

ganglia-web安裝路徑

/export/home/ganglia/ganglia-web-3.5.10

rrds數據路徑

/export/home/ganglia/rrds

3.代碼獲取

ganglia-3.6.0.tar.gz

ganglia-web-3.5.10.tar.gz

httpd-2.2.23.tar.gz

php-5.4.10.tar.gz

4.前提依賴

4.1 主機環境檢查(全部主機節點)

rpm -q gcc glibc glibc-common rrdtool rrdtool-devel apr  apr-devel expat expat-devel  pcre pcre-devel dejavu-lgc-sans-mono-fonts dejavu-sans-mono-fonts
gcc-4.4.7-3.el6.x86_64
glibc-2.14.1-6.x86_64
glibc-common-2.14.1-6.x86_64
rrdtool-1.3.8-6.el6.x86_64
rrdtool-devel-1.3.8-6.el6.x86_64
apr-1.3.9-5.el6_2.x86_64
apr-devel-1.3.9-5.el6_2.x86_64
expat-2.0.1-11.el6_2.x86_64
expat-devel-2.0.1-11.el6_2.x86_64
pcre-7.8-6.el6.x86_64
pcre-devel-7.8-6.el6.x86_64
dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpm
dejavu-sans-mono-fonts-2.30-2.el6.noarch.rpm

若有缺失,請先安裝. 可通過如下幾個鏡像網站下載相關安裝包:

http://rpm.pbone.net/

http://mirrors.163.com/centos/6.4/os/x86_64/Packages/

http://mirrors.sohu.com/centos/6.4/os/x86_64/Packages/

4.2 dejavu

rpm -ivh dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch.rpm

rpm -ivh dejavu-sans-mono-fonts-2.30-2.el6.noarch.rpm

4.3 rrdtool

rpm -ivh rrdtool-1.3.8-6.el6.x86_64.rpm

rpm -ivh rrdtool-devel-1.3.8-6.el6.x86_64.rpm

4.4 apr

rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpm

rpm -ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm

4.5 libexpat

rpm -ivh expat-2.0.1-11.el6_2.x86_64.rpm

rpm -ivh expat-devel-2.0.1-11.el6_2.x86_64.rpm

4.6 libpcre

rpm -ivh pcre-7.8-6.el6.x86_64.rpm

rpm -ivh pcre-devel-7.8-6.el6.x86_64.rpm

4.7 confuse

confuse-2.7 http://www.nongnu.org/confuse/

tar -zxf confuse-2.7.tar.gz

cd confuse-2.7

./configure CFLAGS=-fPIC --disable-nls

make && make install

4.8 python

Python-2.7.3.tar.bz2 http://www.python.org/

tar -jxf Python-2.7.3.tar.bz2

./configure --prefix=/usr/local --enable-shared

make && make install

配置共享庫

vi /etc/ld.so.conf

-- 增加如下內容

/usr/local/lib

啟用配置

ldconfig

檢查是否生效

ldconfig -v |grep "libpython2.7.so"

5.編譯安裝

5.1 安裝ganglia (全部節點都要安裝)

# tar -zxf ganglia-3.6.0.tar.gz

# cd ganglia-3.6.0

# ./configure --prefix=/usr/local/ganglia --with-gmetad --enable-gexec --with-python=/usr/local

Welcome to..

______ ___

/ ____/___ _____ ____ _/ (_)___ _

/ / __/ __ `/ __ \/ __ `/ / / __ `/

/ /_/ / /_/ / / / / /_/ / / / /_/ /

\____/\__,_/_/ /_/\__, /_/_/\__,_/

/____/

Copyright (c) 2005 University of California, Berkeley

Version: 3.6.0

Library: Release 3.6.0 0:0:0

Type "make" to compile.

# make && make install

5.2 安裝ganglia-web (主節點安裝)

# tar -zxf ganglia-web-3.5.10.tar.gz -C /export/home/ganglia/

# cd /export/home/ganglia/ganglia-web-3.5.10

# cp conf_default.php conf.php

vi conf.php 調整為如下內容

$conf['gweb_confdir'] = "/export/home/ganglia/ganglia-web-3.5.10";

$conf['gmetad_root'] = "/export/home/ganglia";

vi header.php

session_start();

ini_set('date.timezone','PRC'); --修改時區為本地

if (isset($_GET['date_only'])) {

$d = date("r");

echo $d;

exit(0);

}

配置臨時目錄

cd /export/home/ganglia/ganglia-web-3.5.10/dwoo

mkdir cache

chmod 777 cache

mkdir compiled

chmod 777 compiled

5.3 安裝apache (主節點安裝)

tar -zxf httpd-2.2.23.tar.gz

cd httpd-2.2.23

./configure --prefix=/usr/local/apache2

make && make install

5.4 安裝php (主節點安裝)

tar -zxf php-5.4.10.tar.gz

cd php-5.4.10

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr

make && make install

5.5 使用apache發佈ganglia-web (主節點安裝)

vi /usr/local/apache2/conf/httpd.conf

....

Listen 80

....

odule dir_module>

DirectoryIndex index.html index.php

AddType application/x-httpd-php .php

Module>

....

# 在文件最後增加如下內容

# ganglia

Alias /ganglia "/export/home/ganglia/ganglia-web-3.5.10"

ectory "/export/home/ganglia/ganglia-web-3.5.10">

AuthType Basic

Options None

AllowOverride None

Order allow,deny

Allow from all

rectory>

啟動httpd服務

/usr/local/apache2/bin/apachectl restart

6.配置Ganglia

6.1 配置gmetad (主節點配置)

cd ganglia-3.6.0

cp ./gmetad/gmetad.init /etc/init.d/gmetad

cp ./gmetad/gmetad.conf /usr/local/ganglia/etc/

vi /etc/init.d/gmetad --修改如下內容

GMETAD=/usr/local/ganglia/sbin/gmetad

vi
/usr/local/ganglia/etc/gmetad.conf -- 修改如下內容

data_source "duangr-cluster" 10 duangr-1 duangr-2 duangr-3

xml_port 8651

interactive_port 8652

rrd_rootdir "/export/home/ganglia/rrds"

case_sensitive_hostnames 0

修改rrds數據目錄所有者

chown -R nobody:nobody /export/home/ganglia/rrds

啟動gmetad服務,並設為開機自動運行

service gmetad restart

chkconfig --add gmetad

6.2 配置gmond (全部節點配置)

cd ganglia-3.6.0

cp ./gmond/gmond.init /etc/init.d/gmond

./gmond/gmond -t > /usr/local/ganglia/etc/gmond.conf

/etc/init.d/gmond --修改如下內容

GMOND=/usr/local/ganglia/sbin/gmond

vi
/usr/local/ganglia/etc/gmond.conf -- 修改如下內容

cluster {

name = "duangr-cluster"

owner = "nobody"

latlong = "unspecified"

url = "unspecified"

}

復制python module到ganglia部署目錄

mkdir /usr/local/ganglia/lib64/ganglia/python_modules

cp ./gmond/python_modules/*/*.py /usr/local/ganglia/lib64/ganglia/python_modules

安裝程序ganglia-3.6.0默認提供了一些python module的配置文件,隻需要部署到
/usr/local/ganglia/etc/conf.d 目錄下面即可生效

若對默認提供的這些監控腳本不太關心,可以跳過下面這步:

cp ./gmond/python_modules/conf.d/*.pyconf /usr/local/ganglia/etc/conf.d

啟動gmond服務,並設為開機自動運行

service gmond restart

chkconfig --add gmond

7.監控頁面

http://192.168.56.10/ganglia/