环境:Centos6.5_x86_64
1. 关闭selinux和iptables
#setenforce 0
#vim /etc/sysconfig/selinux
将SELINUX改为disabled
#/etc/ini.d/iptables stop
2. 安装环境包
a) # yum –y groupinstall “Developmenttools”
b) yum -y install libxml2-devellibpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairocairo-devel libart_lgpl libart_lgpl-devel perl perl-Net-Telnet perl-Net-DNSperl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6perl-CGI-SpeedyCGI rrdtool-perl
其中glib、perl-RadiusPerl、perl-CGI-SpeedyCGI需要手动安装
c) 安装glib
l 下载glib压缩包:glib-2.34.2.tar.xz
#tar -xf glib-2.34.2.tar.xz
#cd glib-2.34.2
#./configure
#make &&make install
此时可能会报错,缺少zlib和libffi的开发包(devel),yum安装一下即可,重新编译glib即可。
d) 安装RadiusPerl
l 下载RadiusPerl压缩包:RadiusPerl-0.22.tar.gz
#tar –xvf RadiusPerl-0.22.tar.gz
#cdAuthen-Radius-0.22/
查看此目录下的INSTALL文件,里面有介绍安装方法
#perlMakefile.PL
如果提示错误如缺少HexDump,可以在http://search.cpan.org/搜索到相关的perl编写的软件包,进而下载编译即可
#make
#make test //测试一下,如果提示ok表示成功
#make install
e) 安装CGI-SpeedyCGI
l 下载CGI-SpeedyCGI软件包:CGI-SpeedyCGI-2.22.tar.gz
#tar xf CGI-SpeedyCGI-2.22.tar.gz
#cd CGI-SpeedyCGI-2.22/
查看此目录下的README文件同样会有安装方法
l 安装
#perlMakefile.PL
此时会提示错误,需要下载安装mod_speedycgi和perl-CGI-SpeedyCGI的rpm包
可以在ftp://195.220.108.108上下载
#lftp195.220.108.108
进入/linux/epel/6/x86_64目录,下载mod_speedycgi和perl-CGI-SpeedyCGI的rpm包
彼此的版本要对应。本环境下用的是perl-CGI-SpeedyCGI-2.22-8.el6.x86_64.rpm
和mod_speedycgi-2.22-8.el6.x86_64.rpm
由于此环境是centos6-x86_64系统,因此进入/linux/epel/6目录
#rpm –ivh perl-CGI-SpeedyCGI-2.22-8.el6.x86_64.rpm
#rpm –ivh mod_speedycgi-2.22-8.el6.x86_64.rpm
#perlMakefile.PL
#make
#make test //提示ok表示成功
#make install
3. 下载安装rrdtool
下载rrdtool压缩包:rrdtool.tar.gz
#tar xf rrdtool.tar.gz
#cdrrdtool-1.4.8/
#./configure –prefix=/usr/local/rrdtool
#make &&make install
默认rrdtool画出的图不支持中文,可以使用下面的方法
#cdrrdtool-1.4.8/
#sed -i's/setlocale(LC_NUMERIC, "C")/setlocale(LC_ALL,"zh_CN.gb2312")/g' src/rrd_graph.c
#yum -ygroupinstall "Chinese Support"
#wgethttp://mirror.centos.org/centos/6/os/x86_64/Packages/wqy-zenhei-fonts-common-0.9.45-3.el6.noarch.rpm
# rpm -ivhwqy-zenhei-fonts-common-0.9.45-3.el6.noarch.rpm
然后,重新编译安装rrdtool
4. 安装smokeping依赖的软件
Smokeping官网上都有提供smokeping依赖的软件包的下载资源
a) 安装cgilib
# tar xfcgilib-0.5.tar.gz
#cd cgilib-0.5/
#make
# cp libcgi.a/usr/local/lib
# cp cgi.h/usr/include
b) 安装fping
#tar xf fping-3.10.tar.gz
#cd fping-3.10/
#./configure
#make
#make check
#make install
#whereis fping //查看fping命令的路径
c) 安装echoping
#tar xf echoping-5.2.0.tar.gz
#cd echoping-5.2.0/
#./configure
#make
#make test
遇到测试不成功信息,按ctrl+c回到命令行,这是由于去烧popt支持,安装popt还需要gettext支持。因此首先安装gettext
l 安装gettext
#tar xf gettext-0.18.tar.gz
#cd gettext-0.18/
#./configure
#make &&make install
l 安装popt
# tar xfpopt-1.14.tar.gz
# cd popt-1.14/
#./configure
#make &&make install
l 安装echoping
#cdechoping-5.2.0/
#./configure
#make &&make install
5. 安装smokeping
#tar xf smokeping-2.6.9.tar.gz
#mv smokeping-2.6.9smokeping
#cd smokeping
#./configure –prefix=/usr/local/smokeping
编译时会报错提示缺少很多的扩展程序,会提示执行下面的操作
#./setup/build-perl-modules.sh/usr/local/smokeping/thirdparty
重新编译
#./configure –prefix=/usr/local/smokeping
#gmake install
此处有可能会报错往往是由于之前的环境没有安装好,缺少相关的软件和模块,按照错误提示进行相应的软件或模块的安装,然后重新编译即可
6. 配置smokeping
a) 修改bin目录下的smokeping文件
# cd/usr/local/smokeping/bin
#vim smokeping
修改use lib qw();为use libqw(/usr/local/rrdtool/lib/perl);
b) 重命名htdocs目录下的smokeping.fcgi.dist为smokeping.fcgi
# cd/usr/local/smokeping/htdocs
#mvsmokeping.fcgi.dist smokeping.fcgi
c) 修改etc目录下的config文件
# cd/usr/local/smokeping/etc
#cp config.distconfig
#vim config
配置文件很容易看懂,按需修改即可。
其中,需要把fping命令的二进制路径修改为实际路径:
binary = /usr/local/sbin/fping
step = 300 表示的是数据刷新时间,默认是300s,可自行修改
监控主机是分层结构的,用+号表示
例如+第一层 ++第二层 +++第三层,可根据实际情况修改。
设备名中不能有”.”和”-“存在
如果不做主从服务器,可以把其中的slaves项目中的内容删除。
另外,etc/examples目录下面又很多分类的配置文件实例,可以直接copy过来,修改其中内容即可。
d) 创建存放那个数据文件的目录并修改权限
#cd/usr/local/smokeping
#mkdir data varcache
#chmod –R 777./data ./var ./cache
#chmod 600/usr/local/smokeping/etc/smokeping_secrets.dist
e) 修改smokeping的目录为apache运行用户的属主和属组
直接修改属主和属组为apache即可
#chown –Rapache.apache /usr/local/smokeping
f) 创建smokeping的log文件
#touch/var/log/smokeping.log
#chownapache.apache /var/log/smokeping.log
g) 修改http配置文件
#vim/etc/httpd/conf/httpd.conf
在最后添加下面内容:
Alias /smokeping"/usr/local/smokeping/htdocs/smokeping.fcgi"
Alias /cache"/usr/local/smokeping/cache"
Alias /cropper"/usr/local/smokeping/htdocs/cropper/"
<Directory/usr/local/smokeping>
AllowOverride None
AddHandler cgi-script cgi fcgi
Options ExecCGI
Order allow,deny
Allow from all
DirectoryIndex smokeping.cgi
</Directory>
7. 启动smokeping
#perl/usr/local/smokeping/bin/smokeping –logfile=/var/log/smokeping.log
Ps:可以建立smokeping的启动脚本,方便启动,可以从网上搜索。
8. 设置开机启动httpd服务
#/etc/init.d/httpdstart
#chkconfig httpdon
如果建立了smokeping的脚本,也可以设置为开机启动服务
#chkconfigsmokeping on
9. 开启iptables
#/etc/init.d/iptables start
# iptables -A INPUT -p tcp -m state --state NEW -m tcp--dport 80 -j ACCEPT //开放80端口
#/etc/init.d/iptables save|restart
Ps:暂时未发现如何设置selinux使它与smokeping服务并存
至此安装配置完成,访问http://IP/smokeping 即可