isgood 发表于 2015-9-9 08:10:23

smokeping安装手册

smokeping安装手册
   一、【Smokeping 简介】
  Smokeping是 rrdtool 的作者 Tobi Oetiker 的作品,所以它在图形显示方面有很大优势,也是一个很有特点的 opensource 工具:
多种探测方式,包括 fping、echoping、dig、curl 等;
易用可扩展的插件;
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,还有 rrdtool、fping、echoping 等,这些都需要预先安装好。smokeping 启动的时候,也会自己去检查需要用到的程序是否能找到。
# yum install gccgcc是一个用于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、cgilib、fping-2.4b2_to、echoping、CGI-SpeedyCGI-2.22、smokeping
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.c中116行的错误
  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
  
  4、Install 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://211.151.88.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:211.151.88.253
  host = 211.151.88.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) 配置apache的httpd.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://211.151.88.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)
页: [1]
查看完整版本: smokeping安装手册