Wednesday, May 29, 2013

新版Ganglia + Jobmonarch安裝步驟

Ganglia其實早就有新版, 但是因為搭配的Jobmonarch (監測Torqueplug-in) 一直沒有更新, 只能搭配到Ganglia 3.0.7, 所以我也都一直裝這個版本.
(有趣的是, 3.0.7現在還是Ganglia下載率最高的版本)

不過Jobmonarch目前已經更新 (2013/4/12), 所以可以搭配新版的Ganglia使用.
下面是簡單的安裝步驟, 測試環境是一個CentOS 6.4 VM, 另外本文件假設你已經裝好Torque.

0.      取得檔案
新的Jobmonarch可搭配的Ganglia最低版本是3.4.0GangliaWeb 3.5.0.
Ganglia可以在http://ganglia.info/找到.
目前(2013/5/28)最新的版本是3.6.0:
GangliaWeb最新的是3.5.10:
Jobmonarch最新的版本是1.1.1, 在這裡有:
另外Jobmonarch需要透過pbs_python連結Torque, 目前最新版是4.3.5:
最後, Ganglia需要用rrdtoollibconfuse, 兩個都可以從EPEL套件庫懶人安裝XD
以上的檔案我都下載到/opt/src目錄下.
1.      安裝EPEL
rpm –ivh epel-release-6-8.noarch.rpm
2.      安裝Ganglia client
先安裝必要的OS套件:
yum install gcc apr-devel libconfuse-devel memcached-devel expat-devel pcre-devel zlib-devel python-devel make
然後解開檔案, 標準的source安裝程序:
tar xvzf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --sysconfdir=/etc --prefix=/usr
make
make install
cp gmond/gmond.init /etc/init.d/gmond
chkconfig --add gmond
gmond –t > /etc/gmond.conf
這裡gmond.conf的格式大致與舊版一樣, 所以改法也一樣. 最後啟動service:
service gmond start
3.      安裝Ganglia server
先安裝必要的OS套件 (跟上面一樣, 但需要先安裝rrdtool 1.4.7+)
yum install gcc apr-devel libconfuse-devel memcached-devel expat-devel pcre-devel zlib-devel make python-devel
然後解開檔案, 標準的source安裝程序:
tar xvzf ganglia-3.6.0.tar.gz
cd ganglia-3.6.0
./configure --sysconfdir=/etc --prefix=/usr --with-gmetad
make
make install
cp gmetad/gmetad.init /etc/init.d/gmetad
chkconfig --add gmetad
新版會自動把gmetad.conf複製到/etc, 所以不用自己copy.
單一cluster的話, gmetad.conf預設的內容就可以用了.
一樣建立rrdtool的資料庫位置:
mkdir –p /var/lib/ganglia/rrds
chown –R nobody /var/lib/ganglia/rrds
最後啟動service:
service gmetad start
4.      安裝Ganglia Web
新版的Web不再跟Ganglia包在一起, 而是另外一個檔案.
先安裝必要的OS套件:
yum install httpd php php-gd rsync
然後解開檔案:
tar xvzf ganglia-web-3.5.8.tar.gz
cd ganglia-web-3.5.8
make install
chkconfig httpd on
service httpd start
到這裡Ganglia就裝完了, 可以開瀏覽器指過去看看是否正常.
(如果出現error, 可能是SELINUX沒有關掉)
5.      安裝pbs_python
先安裝必要的OS套件:
yum install python-devel
然後解開檔案:
tar xvjf ganglia_jobmonarch-1.1.tar.bz2
cd ganglia_jobmonarch-1.1
./configure --prefix=/usr --with-pbsdir=/usr/local/lib
make
make install
6.      安裝Jobmonarch
這次的版本一樣包含JobArchive (job資料庫查詢), 不過預設值是不安裝的, 我們也就照預設值做.
解開檔案:
tar xvjf ganglia_jobmonarch-1.1.tar.bz2
cd ganglia_jobmonarch-1.1
cp jobmond/jobmond.conf /etc
cp jobmond/jobmond.py /usr/sbin
cp pkg/rpm/init.d/jobmond /etc/init.d
cp pkg/rpm/sysconfig/jobmond /etc/sysconfig
chkconfig --add jobmond
編輯/etc/jobmond.conf, 20:
BATCH_SERVER            : localhost
改成:
BATCH_SERVER            : (Torque server的完整hostname, 包含domain)
再來是55:
GMETRIC_TARGET          : 239.2.11.71:8649
改成:
GMETRIC_TARGET          : (Torque server的內網IP):8649
編輯/etc/init.d/jobmond, 18:
DAEMON=/usr/sbin/jobmond
改成:
DAEMON=/usr/sbin/jobmond.py
再來是40:
killproc $DAEMON
改成:
killproc –pidfile $PIDFILE
編輯/usr/sbin/jobmond.py, 564:
GMOND_CONF          = '/etc/ganglia/gmond.conf'
改成:
GMOND_CONF          = '/etc/gmond.conf'
結束編輯, 然後:
cp web/* /var/www/html/ganglia -a
chown -R apache:apache /var/www/html/ganglia/addons/job_monarch/dwoo
編輯/var/www/html/ganglia/conf_default.php, 29:
$conf['template_name'] = "default";
改成:
$conf['template_name'] = "job_monarch";
結束編輯, 然後:
cd /var/www/html/ganglia/addons/job_monarch
mv ../../conf.php.in ./conf.php
編輯conf.php, 把24行:
$GANGLIA_PATH = "__GANGLIA_ROOT__";
改成:
$GANGLIA_PATH = "/var/www/html/ganglia";
這樣就結束了, 正常的話JobMonArch應該可以從Torque讀取到資料, 並顯示在Ganglia裡面.

Install Jobmonarch 1.1 with Ganglia 3.6.0

Well I stayed with Ganglia 3.0.7 for a long time, for the Jobmonarch plugin can't work with Ganglia above that version.
It has changed, however, for the plugin updated to version 1.0 (at 2013/4/12) and supports Ganglia above 3.4.0.
The following procedure is done on a CentOS 6.4 VM with Torque 3.6.0 already installed.