从源码安装gmond,gmetad,gweb
来源:互联网 发布:文本相似度算法 java 编辑:程序博客网 时间:2024/06/05 06:10
现在有这样的一个应用场景:需要在服务器上搭建一个Ganglia监控框架,但是没有root权限,因此只能采用“从源码编译安装”的方式。接下来分别介绍如何从源码安装Ganglia中的gmond,gmetad和gweb。
一、从源码安装gmond
1.1、软件依赖
需要libconfuse, pkgconfig, PCRE, APR,expat软件依赖
1.2、具体软件版本
confuse-2.7,pkg-config_0.26,pcre-8.37,apr-1.5.2,expat-2.1.0,ganglia-3.7.2
1.3、安装脚本
1、在本实践中,pkgconfig已经预先采用APT-GET机制得到安装
2、在编译ganglia-3.7.2项目时,要如上设置CFLAGS环境变量,否则会出现图1所示错误。
图1
3、一定要最先安装pkgconfig,安装其他软件的时候依赖于它
二、从源码安装gmetad
需要libconfuse, pkgconfig, PCRE, APR,expat,rrdtool软件依赖。在安装gmond的时候libconfuse, pkgconfig, PCRE, APR,expat这些软件依赖都已经安装好,现在只需要安装rrdtool这个软件依赖。
接下来介绍如何安装rrdtool。
2.1、软件依赖
expat,python,libxml2,pixman,libpng,harfbuzz,zlib,libffi,glib,freetype,fontconfig,cairo,pango
2.2、具体软件版本
expat-2.1.0,python-3.5.0,libxml2-2.9.0,pixman-0.32.6,libpng-1.6.18,harfbuzz-1.0.0,zlib-1.2.8,libffi-3.2.1,glib-2.34.2,freetype-2.6,fontconfig-2.11.94,cairo-1.14.2,pango-1.30.1,rrdtool-1.4.5
2.3、安装脚本
1、freetype依赖zlib,libpng,harfbuzz,需要指定PKG_CONFIG_PATH变量
三、从源码安装gweb
先搭建"apache httpd + php + php-json"的环境,假定"php + php-json"已经由APT-GET机制预先安装好,参照《从源码安装apache httpd,并加载对php的支持》,可以从源码编译安装apache httpd,并且配置apache httpd支持php。
接着配置ganglia-web下的Makefile文件中的变量的值,然后在ganglia-web中执行"make install"命令,将ganglia-web的内容复制到apache的Web项目目录下,注意,还要修改被复制到Web项目目录下的ganglia-web内容中conf_default.php文件的$conf['rrdtool']变量值,使得该值为以上安装rrdtool过程中最后安装得到的rrdtool的路径,至此就完成了gweb的搭建。以上可以参照"《Monitoring with Ganglia》Chapter 2 Installing and Configuring Ganglia",
备注:在以上实践中,以root用户运行安装得到的软件,如果想以普通用户身份运行,参照《以普通用户运行Ganglia监控框架》。
参考文献:
一、从源码安装gmond
1.1、软件依赖
需要libconfuse, pkgconfig, PCRE, APR,expat软件依赖
1.2、具体软件版本
confuse-2.7,pkg-config_0.26,pcre-8.37,apr-1.5.2,expat-2.1.0,ganglia-3.7.2
1.3、安装脚本
#!/bin/bashINSTALLDIR="/home/dsl/bigdisk/testdisk/usr/local"prefix=$INSTALLDIRexec_prefix=$INSTALLDIRoldincludedir=$INSTALLDIR/oldincludedependency_path=$INSTALLDIR/lib/pkgconfig#install confusecd confuse-2.7./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmakemake installecho "Finish Installing confuse"cd ..#install pcrecd pcre-8.37 ./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmakemake installecho "Finish Installing pcre"cd ..#install aprcd apr-1.5.2./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmake make installecho "Finish Installing apr"cd ..#install expatcd expat-2.1.0./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmakemake installecho "Finish Installing expat"cd ..#install gmondcd ganglia-3.7.2./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_path CFLAGS="-I$INSTALLDIR/include"makemake installcd ..1.4、注意事项
1、在本实践中,pkgconfig已经预先采用APT-GET机制得到安装
2、在编译ganglia-3.7.2项目时,要如上设置CFLAGS环境变量,否则会出现图1所示错误。
图1
3、一定要最先安装pkgconfig,安装其他软件的时候依赖于它
二、从源码安装gmetad
需要libconfuse, pkgconfig, PCRE, APR,expat,rrdtool软件依赖。在安装gmond的时候libconfuse, pkgconfig, PCRE, APR,expat这些软件依赖都已经安装好,现在只需要安装rrdtool这个软件依赖。
接下来介绍如何安装rrdtool。
2.1、软件依赖
expat,python,libxml2,pixman,libpng,harfbuzz,zlib,libffi,glib,freetype,fontconfig,cairo,pango
2.2、具体软件版本
expat-2.1.0,python-3.5.0,libxml2-2.9.0,pixman-0.32.6,libpng-1.6.18,harfbuzz-1.0.0,zlib-1.2.8,libffi-3.2.1,glib-2.34.2,freetype-2.6,fontconfig-2.11.94,cairo-1.14.2,pango-1.30.1,rrdtool-1.4.5
2.3、安装脚本
#!/bin/bashINSTALLDIR="/home/dsl/bigdisk/testdisk/usr/local"prefix=$INSTALLDIRexec_prefix=$INSTALLDIRoldincludedir=$INSTALLDIR/oldincludedependency_path=$INSTALLDIR/lib/pkgconfigPATH=$PATH:$INSTALLDIR/bin#install expatcd expat-2.1.0./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmakemake installecho "Finish Installing expat"cd ..#install pythoncd Python-3.5.0./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmake make installecho "Finish Installing python"cd ..#install libxml2cd libxml2-2.9.0./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmake make installecho "Finish Installing libxml2"cd ..#install pixmancd pixman-0.32.6./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmake make installecho "Finish Installing pixman"cd ..#install libpngcd libpng-1.6.18./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedirmake make installecho "Finish Installing libpng"cd ..#install harfbuzzcd harfbuzz-1.0.0./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing harfbuzz"cd ..#install zlibcd zlib-1.2.8./configure --prefix=$prefix --eprefix=$exec_prefixmake make installecho "Finish Installing zlib"cd ..#install libfficd libffi-3.2.1./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing libffi"cd ..#install glibcd glib-2.34.2./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing glib"cd ..#install freetypecd freetype-2.6./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_path --without-harfbuzzmake make installecho "Finish Installing freetype"cd ..#install fontconfigcd fontconfig-2.11.94./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing fontconfig"cd ..#install cairocd cairo-1.14.2./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing cairo"cd ..#install pangocd pango-1.30.1./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing pango"cd ..#install rrdtoolcd rrdtool-1.4.5./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_pathmake make installecho "Finish Installing rrdtool"cd ..2.4、注意事项
1、freetype依赖zlib,libpng,harfbuzz,需要指定PKG_CONFIG_PATH变量
2、freetype依赖harfbuzz,而harfbuzz又依赖freetype,因而在编译安装freetype时,需要指定"--without-harfbuzz"(当前安装的harfbuzz是在freetype之前安装的,是不完整的),否则会出现如图2所示错误。
图2
最后安装gmetad的脚本如下:
#!/bin/bashINSTALLDIR="/home/dsl/bigdisk/testdisk/usr/local"prefix=$INSTALLDIRexec_prefix=$INSTALLDIRoldincludedir=$INSTALLDIR/oldincludedependency_path=$INSTALLDIR/lib/pkgconfigcd ganglia-3.7.2 ./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_path CFLAGS="-I$INSTALLDIR/include" LDFLAGS="-L$INSTALLDIR/lib" --with-gmetadmakemake installcd ..编译安装ganglia的时候,加上"--with-gmetad"参数,表示编译安装gmond和gmetad,否则表示只编译安装gmond。
三、从源码安装gweb
先搭建"apache httpd + php + php-json"的环境,假定"php + php-json"已经由APT-GET机制预先安装好,参照《从源码安装apache httpd,并加载对php的支持》,可以从源码编译安装apache httpd,并且配置apache httpd支持php。
接着配置ganglia-web下的Makefile文件中的变量的值,然后在ganglia-web中执行"make install"命令,将ganglia-web的内容复制到apache的Web项目目录下,注意,还要修改被复制到Web项目目录下的ganglia-web内容中conf_default.php文件的$conf['rrdtool']变量值,使得该值为以上安装rrdtool过程中最后安装得到的rrdtool的路径,至此就完成了gweb的搭建。以上可以参照"《Monitoring with Ganglia》Chapter 2 Installing and Configuring Ganglia",
备注:在以上实践中,以root用户运行安装得到的软件,如果想以普通用户身份运行,参照《以普通用户运行Ganglia监控框架》。
参考文献:
[1]http://blog.csdn.net/dslztx/article/details/49097977
[2]https://bugs.freedesktop.org/show_bug.cgi?id=75652
[3]http://download.csdn.net/detail/dslztx/9178741
[4]http://download.csdn.net/detail/dslztx/9178745
[5]http://download.csdn.net/detail/dslztx/9178749
[6]http://download.csdn.net/detail/dslztx/9178753
0 0
- 从源码安装gmond,gmetad,gweb
- gmetad 安装
- gmetad
- gmond
- gweb的安装略微复杂
- 在线安装Ganglia3.6.0,nginx+php搭建gweb,绝对通过
- 在线安装Ganglia3.6.0,nginx+php搭建gweb,绝对通过
- 在线安装Ganglia3.6.0,nginx+php搭建gweb,绝对通过
- 从源码安装MySQL
- 从源码安装nginx
- 从源码安装automake
- 从源码编译安装GWGET
- FreeBSD从源码安装PostgreSQL
- CentOS从源码安装PostgreSQL
- Debian:从源码安装Apache
- 从github源码安装elixir
- 从github源码安装erlang
- ActivePerl从源码安装模块
- MYSQL 锁机制分析
- python中结巴分词快速入门
- 地图沿直线轨迹运动
- OC的冒泡排序
- [136]Single Number
- 从源码安装gmond,gmetad,gweb
- 第4周项目5 猴子选大王
- Hibenrate Search中基础查询解析
- 获取进程信息-C++
- UI29_UIAlertAction(UIAlertView和UIActionSheet的结合体)
- hdu(1222狼和兔子)
- Cocos2D v2.0至v3.x简洁转换指南(三)
- 搜索引擎关键词抓取 以百度为例 python
- cin、cin.get()、cin.getline()、getline()