Smokeping允许你监测多台服务器。 Smokeping使用RRDtool来存储数据,另外,其可基于RRDtool输出生成相应的统计图表。 Smokeping由两个部分组成。一个运行在后台、定期收集数据的服务。一个以图表形式展示数据的Web界面。
这个wiki页面包括安装smokeping后台服务和Web界面的基本步骤。
1、安装lamp环境和rrdtool图形处理及其他所需依赖库:
yum install -y perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-Time-HiRes perl-ExtUtils-MakeMaker rrdtool rrdtool-perl curl httpd httpd-devel gcc make wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel perl-Sys-Syslog podofo
2、解压、编译安装fping
wget http://fping.org/dist/fping-3.10.tar.gz
tar xf fping-3.10.tar.gz
cd fping-3.10
./configure
make && make install
3、解压、编译安装echoping
tar xf echoping-6.0.2.tar.gz
cd echoping-6.0.2
./configure
make && make install
4、解压、编译安装smokeping
tar xf smokeping-2.6.9.tar.gz
cd smokeping-2.6.9
./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty
./configure --prefix=/usr/local/smokeping
/usr/bin/gmake install
安装过程中有可能会报以下错误:
Can't locate Sys/Syslog.pm in @INC (@INC contains: /opt/smokeping/thirdparty/lib/perl5/x86_64-linux-thread-multi /opt/smokeping/thirdparty/lib/perl5 ../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ../lib/Smokeping.pm line 16.
BEGIN failed--compilation aborted at ../lib/Smokeping.pm line 16.
Compilation failed in require.
BEGIN failed--compilation aborted.
gmake[1]: *** [Smokeping_probes_EchoPingSmtp.pod] Error 2
rm Smokeping_probes_EchoPingSmtp.pod
gmake[1]: Leaving directory `/opt/software/smokeping/smokeping-2.6.9/doc'
gmake: *** [install-recursive] Error 1
smokeping_config.pod around line 81: alternative text 'the master/slave mode' contains non-escaped | or /
POD document had syntax errors at /usr/bin/pod2man line 69.
gmake[1]: *** [smokeping_config.5] Error 255
解决依赖:
yum -y install perl-Sys-Syslog
yum install -y podofo
5、配置smokeping参数
#1、创建cache var data 三个目录和smokeping.log日志文件
cd /usr/local/smokeping/
mkdir cache data var
touch /var/log/smokeping.log
#2、刚刚创建的文件和目录授予apache权限,这里将整个smokeping都赋权
chown -R apache:apache /usr/local/smokeping/
chown apache:apache /var/log/smokeping.log
cd /usr/local/smokeping/htdocs
mv smokeping.fcgi.dist smokeping.fcgi
cd /usr/local/smokeping/etc
mv config.dist config
修改config中的参数。
vim config
cgiurl = http://some.url/smokeping.cgi 把some.url 改成本地IP或者域名
*** Database ***
#step = 300
step = 60 #此处建议改为 60 , 一分钟采集一次数据
6、完成之后修改验证密码文件权限
chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist
7、修改apache配置
vim /etc/httpd/conf/httpd.conf
# 在DocumentRoot “/var/www/html” 这一行下添加如下代码:
Alias /cache "/usr/local/smokeping/cache/"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
<Directory "/usr/local/smokeping">
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny
Allow from all
AuthName "Smokeping"
AuthType Basic
AuthUserFile /usr/local/smokeping/htdocs/htpasswd
Require valid-user
DirectoryIndex smokeping.fcgi
</Directory>
#重启httpd,和smokeping服务
systemctl restart httpd
/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log
8、为了安全起见,我们设置一下web访问的用户名和密码
cd /usr/local/smokeping/htdocs
htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin #然后根据提示数据密码
到此,smokeping已经安装完毕。