smokeping安装手册

smokeping安装手册

  一、Smokeping 简介】

Smokeping rrdtool 的作者 Tobi Oetiker 的作品,所以它在图形显示方面有很大优势,也是一个很有特点的 opensource 工具:
 
多种探测方式,包括 fpingechopingdigcurl 等;
 
易用可扩展的插件;
 master/slave
的工作方式,可以在多个节点收集同一个监测点的数据;
 
很有特色的 alert 设置,不只是简单的设置一个阀值。

二、安装smokeping
    
据说安装smokeping 分为普通安装和脚本安装两种,脚本安装尚在研究中,我们这里仅介绍普通安装方法。

前提软件需求:

freetype-devel-2.1.9-1.i386.rpm

zlib-devel-1.2.1.2-1.i386.rpm

libpng-devel-1.2.7-1.i386.rpm

libart_lgpl-devel-2.3.16-3.i386.rpm

CGI-SpeedyCGI-2.22.tar.gz

libwww-perl-5.837.tar.gz

我们做的时候用的是CentOS 5.5
关闭 防火墙
#
service iptables stop
Flushing firewall rules:                                 [ OK ]
Setting chains to policy ACCEPT: filter                   [ OK ]
Unloading iptables modules:                                  [ OK ]

(一)、安装相关软件(RPM包)
smokeping
是一个用 perl 写的程序,所以不需要安装。但是他需要使用一些工具以及 perl module,还有 rrdtoolfpingechoping 等,这些都需要预先安装好。smokeping 启动的时候,也会自己去检查需要用到的程序是否能找到。

# yum install gcc         gcc是一个用于linux系统下编程的编译器.假如不安装他的话在后面做CGI-SpeedyCGI时候会出错.
# yum install  -y freetype-devel
# yum install  -y zlib-devel
# yum install  -y libpng-devel
# yum install  -y libart_lgpl-devel
# yum install  -y httpd-devel

Yum install –y perl*

除了以上的 rpm 包,还需手动安装以下的包。
rrdtool
cgilibfping-2.4b2_toechopingCGI-SpeedyCGI-2.22smokeping

rrdtool
依赖以下程序
# yum install freetype
# yum install libart_lgpl
# yum install libpng
# yum install zlib
# yum install –y freetype libart_lgpl libpng zlib

 

查看各软件包是否安装

# rpm -qa | grep freetype

freetype-devel-2.2.1-28.el5_5

freetype-2.2.1-28.el5_5

# rpm -qa | grep zlib

zlib-1.2.3-3

zlib-devel-1.2.3-3

# rpm -qa | grep libpng

libpng-1.2.10-7.1.el5_5.3

libpng-devel-1.2.10-7.1.el5_5.3

# rpm -qa | grep libart_lgpl

libart_lgpl-2.3.17-4

libart_lgpl-devel-2.3.17-4

 

(二)编译安装相关软件包(大部分软件包我都下载下来了,放在了我的FTP上面IP:211.151.88.7,用户名:wangrp,密码:1357

1、安装CGI-SpeedyCGI

tar zxvf CGI-SpeedyCGI-2.22.tar.gz

cd CGI-SpeedyCGI-2.22

perl Makefile.PL 保持默认选项即可

遇到问题选择默认选项()

# ls /etc/httpd/modules/
libphp5.so          mod_cgid.so        mod_include.so        mod_proxy.so
……
mod_cern_meta.so    mod_imap.so        mod_proxy_http.so

这个目录下没有 mod_speedycgi.so,现在需要去下载安装 mod_speedycgi.so

搜到了一个源
# wget ftp://195.220.108.108/linux/epel/5/i386/mod_speedycgi-2.22-4.el5.i386.rpm
warning: mod_speedycgi-2.22-4.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
error: Failed dependencies:
perl-CGI-SpeedyCGI = 2.22-4.el5 is needed by mod_speedycgi-2.22-4.el5.i386

# wget ftp://fr.rpmfind.net/linux/EPEL/5Server/i386/perl-CGI-SpeedyCGI-2.22-4.el5.i386.rpm
# rpm -ivh --force perl-CGI-SpeedyCGI-2.22-4.el5.i386.rpm
# rpm -ivh mod_speedycgi-2.22-4.el5.i386.rpm

make

make test

make install

 

2、安装cgilib            *//如果没有安装cgilib在编译rrdtool时会提示出错

 

tar zxvf cgilib-0.5.tar.gz

 

cd cgilib-0.5

 

对于0.5版本的cgilib源码部分需做一定的修改:

(1) cgi.c 里寻找 #include <malloc.h> ,把那行删掉

(2)修改cgitest.c116行的错误

116行的代码如下:

printf ("<h3>Cookie "Library" set</h3>\n");

应为代码出错,正确的应是

printf ("<h3>Cookie \"Library\" set</h3>\n");

 

之后

gmake

gmake install           *//采用gmake是因为cgilib版本为linux版本,用make无法安装

cp *.h /usr/include

cp libcgi* /usr/lib

 

3、安装rrdtool

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz

tar zxvf rrdtool-1.2.26.tar.gz

cd rrdtool-1.2.26

./configure --prefix=/usr/local/rrdtool

如果确认以上没问题,

----------------------------------------------------------------
Config is DONE!

With MMAP IO: yes
Build rrd_getopt: no
Static programs: no
Perl Modules: perl_piped perl_shared
Perl Binary: /usr/bin/perl
Perl Version: 5.8.8
Perl Options: PREFIX=$(DESTDIR)/usr/local/rrdtool-1.3.6 LIB=$(DESTDIR)/usr/local/rrdtool-1.3.6/lib/perl/5.8.8
Ruby Modules:
Ruby Binary: no
Ruby Options: sitedir=$(DESTDIR)/usr/local/rrdtool-1.3.6/lib/ruby
Build Tcl Bindings: no
Build Python Bindings: yes
Build rrdcgi: yes
Build librrd MT: yes
Link with libintl: yes

Libraries: -lxml2 -lcairo -lcairo -lcairo -lm -lcairo -lpng12   -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Type 'make' to compile the software and use 'make install' to
install everything to: /usr/local/rrdtool-1.3.6.

... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.

-- Tobi Oetiker <tobi@oetiker.ch>
----------------------------------------------------------------

如果执行./configure还报configure: error: Please fix the library issues listed above and try again错误的话,那就执行

# yum -y install pango*

make

make install

 

4Install Perl modules libwww-perl

tar -zxvf libwww-perl-5.837.tar.gz

cd libwww-perl-5.837

perl Makefile.PL

make; make install

 

5、安装fping2.4b2_to

tar zxvf fping-2.4b2_to.tar.tar

cd fping-2.4b2_to

./configure

make

make check

make install

完成后执行cd ..退回安装包的目录

 

6、安装echoping-5.2.0

安装之前首先需要安装一个软件包:libind-0.5.20.tar.gz,这是一个gnu的包,

Tar zxvf libind-0.5.20.tar.gz

Cd libind-0.5.20

./configure

Make

Make install

在我的FTP上也可以找到。

tar zxvf echoping-5.2.0.tar.gz

cd echoping-5.2.0

./configure

make

make test

遇到测试不成功等信息就ctrl+c回到命令行;

make install

完成后执行cd ..退回安装包的目录

 

7、安装smokeping

 

tar zxvf smokeping-2.4.2.tar.gz

mv smokeping-2.4.2 smokeping

cp –r smokeping /usr/local/smokeping   复制smokeping 目录及其子目录到/usr/local

 

8、配置smokeping

相应文件改名:

转到/usr/local/smokeping

bin下:cp smokeping.dist smokeping

etc下:cp config.dist config

       cp basepage.html.dist basepage.html同时cp/var/www

       cp smokemail.dist smokemail

       cp tmail.dist tmail

htdocs下:cp smokeping.cgi.dist smokeping.cgi

 

建立目录:

mkdir /usr/local/smokeping/cache

mkdir /usr/local/smokeping/var               //smokeping.pid

mkdir data

chmod 777 data           这里设置用户对data文件的权限         

chown apache:apache data  

 

cd /var/www

makedir /var/www/cache

chmod 777 cache

 

然后修改如下几个配置文件:

(1)cd /usr/local/smokeping/etc

cp config.dist config

vi config

sendmail = /usr/lib/sendmail

imgcache = /var/www/cache

imgurl   = ../cache

datadir = /usr/local/smokeping/data

piddir = /usr/local/smokeping/var

cgiurl   = http://192.168.10.12/cgi-bin/smokeping.cgi

smokemail = /usr/local/smokeping/etc/smokemail

tmail = /usr/local/smokeping/etc/tmail

template = /usr/local/smokeping/etc/basepage.html

 

*** Targets ***

 

probe = FPing

 

menu = Top

title = Network Latency Grapher

remark = Welcome to the SmokePing website of CERNET Company. \

         Here you will learn all about the latency of our network.

 

+ Interconnection

 

 

menu = Interconnection

title = IDC TO Operator

 

 

++ TO-21vianet

menu = TO-21vianet

title = TO-21vianet:192.168.10.253

host = 192.168.10.253

 

++ TO-CNC

menu = TO-CNC

title = TO-CNC:202.108.100.166

host = 202.108.100.166

 

++ TO-CNC1

menu = TO-CNC1

title = TO-CNC1:211.94.68.77

host = 211.94.68.77

 

++ TO-CNC2

menu = TO-CNC2

title = TO-CNC2:202.98.1.2

host = 202.98.1.2

 

***Probes***

+Fping

 

binary = /usr/local/sbin/fping

 

注释掉如下(或者删除):

#*** Slaves ***

#secrets=/usr/local/smokeping/etc/smokeping_secrets.dist

#+boomer

#display_name=boomer

#color=0000ff

+slave2

display_name=another

color=00ff00

 

(2) /usr/local/smokeping/htdocs/smokeping.cgi

#!/usr/bin/speedy

# -*-perl-*-

 

use strict;

use warnings;

 

use lib qw(/usr/local/rrdtool/lib/perl);

use lib qw(/usr/local/smokeping/lib);

 

use CGI::Carp qw(fatalsToBrowser);

 

use Smokeping 2.004002;

 

Smokeping::cgi("/usr/local/smokeping/etc/config");

 

(3) /usr/local/smokeping/bin/smokeping

#!/usr/bin/perl -w

# -*-perl-*-

 

use lib qw(/usr/local/rrdtool/lib/perl);

use lib qw(lib);

use strict;

use warnings;

use Smokeping 2.004002;

 

Smokeping::main("/usr/local/smokeping/etc/config");

 

(4) 启动smokeping

Cd /usr/local/smokeping

./bin/smokeping

 

(5) 建立启动脚本文件

参照:http://oss.oetiker.ch/smokeping/pub/contrib/smokeping-start-script

 

(6) 配置apachehttpd.conf

DocumentRoot "/var/www"

<Directory "/var/www">

#<Directory />

 #   Options FollowSymLinks

 #   AllowOverride None

#</Directory>

Option Indexes FollowSymlinks

去掉 Indexes

 

删除进程:
killall smokeping(多执行)
ps -efH |grep smokeping
启动进程:
#cd /usr/local/smokeping

./bin/smokeping

 

Service httpd restart

查看apache是否启动。

http://192.168.10.13/cgi-bin/smokeping.cgi

若出现:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

 

Please contact the server administrator, webmaster@music.tiantui.com and inform them of the time the error occurred, and anything you might have done that may have caused the error

提示错误:

System-config-securitylevel-iul

关闭防火墙与selinux(皆选择disable)

posted @ 2011-10-21 12:32  冠彭  阅读(1417)  评论(0)    收藏  举报