smokeping部署

  服务部署
smokeping是一款用来监控网络性能状况的监控软件,在数据中心网络性能监测方面有很大的使用价值。官网关于smokeping的介绍如下:
    
    SmokePing keeps track of your network latency:
    Best of breed latency visualisation.
    Interactive graph explorer.
    Wide range of latency measurement plugins.
    Master/Slave System for distributed measurement.
    Highly configurable alerting system.
    Live Latency Charts with the most ‘interesting’ graphs.
    Free and OpenSource Software written in Perl written by Tobi Oetiker, the creator of MRTG and RRDtool
下面介绍smokeping的基本搭建:
0x01 安装其他源
0x02 安装rrdtool与相关依赖库
 yum  -y  install  perl  perl-Net-Telnet  perl-Net-DNS  perl-LDAP  perl-libwww-perl  perl-RadiusPerl  perl-IO-Socket-SSL  perl-Socket6  perl-CGI-SpeedyCGI  perl-FCGI  perl-CGI-SpeedCGI  perl-Time-HiRes  perl-ExtUtils-MakeMaker  perl-RRD-Simple  rrdtool  rrdtool-perl  curl  fping echoping  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  mod_fastcgi
0x03 下载与安装smokeping
    tar zxvf smokeping-2.6.10.tar.gz
    cd smokeping-2.6.10
    ./configure –prefix=/usr/local/smokeping
    ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty (安装Perl module)
    ./configure –prefix=/usr/local/smokeping
    /usr/bin/gmake install
0x04 smokeping相关配置
1)  创建cache、data、var目录、log
    cd /usr/local/smokeping
    mkdir cache data var
    touch /var/log/smokeping.log
2) 授权
    chown apache:apache cache data var
    chown apache:apache /var/log/smokeping.log
3) 配置文件修改
    cd /usr/local/smokeping/htdocs/
    mv smokeping.fcgi.dist smokeping.fcgi
    cd /usr/local/smokeping/etc
    mv config.dist config
    vim config
修改ip或域名:
修改检测时间:
    *** Database ***
    step = 300
    300改为60
修改中文显示:
    *** Presentation ***
    charset = utf-8
4)修改密码文件权限
    chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist
5)修改apache配置,增加权限控制
    vim /etc/httpd/conf/httpd.conf
添加如下
    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
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    AuthName “Smokeping”
    AuthType Basic
    AuthUserFile /usr/local/smokeping/htdocs/htpasswd
    Require valid-user
    DirectoryIndex smokeping.fcgi
    </Directory>
然后进入cd /usr/local/smokeping/htdocs目录
设置登录账户与密码
    htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin
设置登录账户为admin,密码在后面输入,然后重启httpd就可以实现密码验证登录
6)设置开机启动
    echo “/usr/local/smokeping/bin/smokeping –logfile=/var/log/smokeping.log 2>&1 &” >> /etc/rc.local
7) 同步系统时间
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
8) 启动服务
    /etc/init.d/httpd start /usr/local/smokeping/bin/smokeping –logfile=/var/log/smokeping.log 2>&1 & 或 /usr/local/smokeping/bin/smokeping &
9) 修改监控内容
+是第一层,++是第二层,后者继承前者,举例如下
    + jiance
    menu= xx机房
    ++ xx-1
    menu = ip
    title = somename
    alerts = someloss
    slaves = boomer slave2
    host = ip
0x05 smokeping的主从分布式部署方案

替代单一监测点的不足,master/slave的主从模式,一个master可以管理多个slave,多个slave可针对不同的监测点进行网络性能监测。而且slave配置较为简单,slave从master上获取自己的配置信息,检测数据以及web呈现都汇总在master上,slave只负责从master获取的配置信息进行数据检测。smokeping的数据采集是被动式采集,主从之间的通信验证采用类似rsync的密码验证方式,启动服务的用户不必具备root权限,安全性较好。且smokeping占用内存很小,对系统要求不高。

配置要点:
在master的config里修改
    *** Slaves ***
    secrets=/usr/local/smokeping/etc/smokeping_secrets.dist  #密码文件
    +slave1  #”slave1″需要设置为slave主机的hostname,并且写在”slavesecrets.con”文件里面
    display_name=slave1
另外,master上面启动”smokeping”进程和apache进程的用户必须要一致。因为rrd文件是由”smokeping”进程创建的,而数据的update却是由”smokeping.cgi”进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情况。
 
smokeping官网链接:http://oss.oetiker.ch/smokeping/