监控系列之二 ganglia的mongodb扩展
1、添加gmond的python扩展(以mongodb为例)
检查/usr/local/ganglia/lib/ganglia/modpython.so,如果不存在,可能在编译安装ganglia之前没有安装python或者没有指定python目录,可以试试把编译目录下ganglia/gmond/modules/python/.libs/modpython.so拷贝到以上的目录里。
#安装gmond的python度量模块,可以rpm安装(anglia-gmond-modules-python-3.1.1-1.i386.rpm),也可以手动安装,我用的是手动安装。
#添加gmond-python扩展库
sudo mkdir /etc/ganglia/conf.d
sudo mkdir /usr/local/ganglia/lib/ganglia/python_modules
sudo cp ~/Downloads/ganglia-3.1.2/gmond/modules/conf.d/modpython.conf /etc/ganglia/conf.d/
[ sudo cp ~/Downloads/ganglia-3.1.2/gmond/modules/python/.libs/modpython.so /usr/local/ganglia/lib/ganglia/ ](如果编译安装没成功的话,可以试试,没验证过。还有一个疑问,modpython.la .a之类的文件用不用复制过去?)
#检查python模块是否被挂载
/usr/local/ganglia/sbin/gmond –d10
#下载gmond-python的扩展监控包
cd ~/Downloads
wget https://download.github.com/ganglia-gmond_python_modules-c1e3a5d.tar.gz
#这里面有各种产品的gmond扩展,我们选用mongodb的扩展
tar –zxvf ganglia-gmond_python_modules-c1e3a5d.tar.gz
cd ganglia-gmond_python_modules-c1e3a5d/mongodb
#复制扩展程序与配置文件
sudo cp python_modules/mongodb.py /usr/local/ganglia/lib/ganglia/python_modules/
sudo cp conf.d/mongodb.conf /etc/ganglia/conf.d/mongodb.pyconf
#修改mongodb.pyconf
把value = "mongo --quiet --eval 'printjson(db.serverStatus())'"
和value = "mongo --quiet --eval 'printjson(rs.status())'"
中的mongo替换成该文件的绝对路径,当然你也可以不必修改mongodb.pyconf,保证mongodb/bin在PATH环境变量里就可
#检查自定义扩展是否挂载可以用
/usr/local/ganglia/sbin/gmond -m
#重启服务, 用浏览器看结果
sudo service gmond restart
sudo service gmetad restart
sudo /usr/local/apache2/bin/apachectl restart