设为首页 收藏本站
查看: 2117|回复: 0

[经验分享] smokeping安装手册

[复制链接]

尚未签到

发表于 2015-9-9 08:10:23 | 显示全部楼层 |阅读模式
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 &#8211;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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-111183-1-1.html 上篇帖子: smokeping:installation and configuration 下篇帖子: smokeping安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表