Ganglia其實早就有新版, 但是因為搭配的Jobmonarch (監測Torque的plug-in) 一直沒有更新, 只能搭配到Ganglia 3.0.7, 所以我也都一直裝這個版本.
(有趣的是, 3.0.7現在還是Ganglia下載率最高的版本)
不過Jobmonarch目前已經更新 (2013/4/12), 所以可以搭配新版的Ganglia使用.
下面是簡單的安裝步驟, 測試環境是一個CentOS 6.4 VM, 另外本文件假設你已經裝好Torque.
0.
取得檔案
新的Jobmonarch可搭配的Ganglia最低版本是3.4.0與GangliaWeb 3.5.0.
目前(2013/5/28)最新的版本是3.6.0:
GangliaWeb最新的是3.5.10:
Jobmonarch最新的版本是1.1.1, 在這裡有:
另外Jobmonarch需要透過pbs_python連結Torque, 目前最新版是4.3.5:
最後, Ganglia需要用rrdtool與libconfuse, 兩個都可以從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裡面.
附註: 今天在CentOS 5.9 VM上測試,
ReplyDelete除了EPEL要用5版的之外(廢話), 可以用完全相同的步驟安裝.
更新: 因為用了filter_input()這個PHP function, PHP要升級到5.2.0以上才能用.
Delete在CentOS 5.x的話會造成錯誤 (PHP 5.1.6)
可以直接用yum, 先移除php*, 然後安裝php53, php53-gd, 重啟httpd即可.
更新: jobmonarch更新到1.1.1版了, 上面的檔名要改一下喔
ReplyDelete另外rrdtool要用1.4.7以上的, 那個aggregated date才看得到
所以需要手動source install, 不要用yum裡面的rrdtool-devel.