Smokeping架构组件有:rrdtool、Fping、Echoping、Curl、Perl、Perl模块、SpeedyCGI、apache等。
安装程序就不介绍了。
Perl模块:perl-libwww-perl perl-IO-Socket-SSL perl-Net-Telnet perl-Socket6 perl-Net-DNS perl-LDAP rrdtool-perl
先查看服务器的系统的版本uname -a
然后各种尝试,直到装上为止。(yum、rpm、源码编译,各种试,“总有一款适合你”)。
1、安装Smokeping
tar zxvf smokeping-xx.tar.gz
mv smokeping-x.x /usr/local/smokeping
2、修改apache配置文件/etc/httpd/conf/httpd.conf
############smokeping file is begin############
Alias /smokeping "/usr/local/smokeping/htdocs"
Alias /smokepingcache "/usr/local/smkeping/cache"
AddHandler cgi-script cgi
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
############smokeping file is end ################
3、增加Smokeping认证用户
htpasswd -c /usr/local/smokeping/etc/htpasswd.users uname
uname-指定用户名,/usr/local/smokeping/etc/htpasswd.users认证文件位置。
4、Smokeping配置
cp -a /usr/local/smokeping/bin/smokeping.dist /usr/local/smokeping/bin/smokeping#主程序
cp -a /usr/local/smokeping/htdocs/smokeping.cgi.dist /usr/local/smokeping/htdocs/smokeping.cgi#显示图形
cp -a /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config#主配置文件
5、/usr/local/smokeping/bin/smokeping#主程和/usr/local/smokeping/htdocs/smokeping.cgi#显示图形等文件配置
主程序:/usr/local/smokeping/bin/smokeping
修改rrdtool的库文件位置。
use lib qw(/usr/local/rrdtool/lib/perl/5.8.8/x86_64-linux-thread-multi);#rrdtoo 的lib 库
use lib qw(/usr/local/smokeping/lib); #Smokeping 的库文件位置
Smokeping::main("/usr/local/smokeping/etc/config"); #Smokeping 配置文件的位置
用/usr/local/smokeping/bin/smokeping命令检测。
显示图形等:/usr/local/smokeping/htdocs/smokeping.cgi
use lib qw(/usr/local/rrdtool/lib/perl/5.8.8/x86_64-linux-thread-multi); #rrdtoo 的lib 库
use lib qw(/usr/local/smokeping/lib); #Smokeping 的lib 库
Smokeping::cgi("/usr/local/smokeping/etc/config"); #Smokeping 的配置文件
用perl /usr/local/smokeping/htdocs/smokeping.cgi命令检测,可出现html代码,表示配置正常。
如果报错,根据错误提示,自己修改lib库的位置。
6、主配置/usr/local/smokeping/etc/config
imgcache = /usr/local/smokeping/cache #rrdtool 生成图片的存放地址
imgurl = http://ip/smokepingcache 注意:这里的设置和Apache 的配置要一致
datadir = /usr/local/smokeping/data #rrd 文件的存放地址
piddir = /usr/local/smokeping/var #pid 的存放地址
cgiurl = http://ip/smokeping/smokeping.cgi
问题解决:
页面、图片中文乱码:
1、可能是apache默认字符引起的乱码
AddDefaultCharset utf-8 改为off
2、通过修改目录属性
wget -S http://ip查看http头
然后再apache配置文件中
IndexOptions Charset=utf-8
3、修改/usr/local/smokeping/etc/config配置文件
*** Presentation ***
charset = utf-8 #添加后支持中文显示
4、针对图片乱码
安装fonts-chinese
修改/usr/local/smokeping/lib/Smokeping.pm
$ENV{LC_NUMERIC}='C';
if (POSIX::setlocale(&POSIX::LC_NUMERIC,"") ne "C") {
die("Resetting LC_NUMERIC failed - try removing LC_ALL from the environment");
}
为:
$ENV{LC_ALL}='zh_CN.UTF-8';
if (POSIX::setlocale(&POSIX::LC_ALL,"") ne "zh_CN.UTF-8") {
die("Resetting LC_NUMERIC failed - try removing LC_ALL from the environment");
}
修改:
my ($graphret,$xs,$ys) = RRDs::graph
($cfg->{General}{imgcache}.$dir."/${prop}_mini.png",
# '--lazy',
'--start','-'.exp2seconds($cfg->{Presentation}{overview}{range}),
'--title',$phys_tree->{title},
'--height',$cfg->{Presentation}{overview}{height},
'--width',$cfg->{Presentation}{overview}{width},
'--vertical-label', $ProbeUnit,
'--imgformat','PNG',
'--alt-autoscale-max',
'--alt-y-grid',
'--rigid',
'--lower-limit','0',
'--font','TITLE:10:/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf',
(新增这一行,指定中文字体的路径)
@G,
"COMMENT:$date\\r");
*************************************
安装遇到其他问题小结:
1、安装echoping 依赖libidn 安装libidn后还需要libidn-devel
2、rrdtool库文件的位置查看
./configure最后会显示配置信息。