用最简单的方式安装smokeping


      适用于宽带运营商维护和IDC机房维护
      可以检测本地网络的到上级运营商出口这段路由各个节点的稳定性      
      可以检测本地网络到各主要门户网站的延时,丢包率,稳定性
      可以检测本地网络到各地游戏服务器的延时,丢包率,稳定性

smokeping缺点:不能在前台Web页面添加要检测的节点,必须在后台smokeping的配置文件中添加

伦理片 http://www.dotdy.com/


安装前的准备:
1. 操作系统:选择centOS6.5 版, 里面的RPM包基本上都是最新的。
   注1: centOS 5.6版本在安装rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm包是会 遇到依赖性问题,要求安装rpmlib包,但centOS5.6版本中的rpmlib版本较低,无法直接安装
   注2:在安装centOS6.5时,要注意设置系统的IP地址,如下图,点击【configure network】按钮,选择【system eth0】, 点击 【IPv4Seting】,设置IP地址
  

注3: 选择安装包时,点选【Basic Server】, 要安装621个基本包
注4: 其他安装步骤,按照正常的安装流程操作即可

二. 安装过程
修改时区
\cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步时间
ntpdate time.nist.gov     
写入BIOS
hwclock -w
关闭防火墙
service iptables stop
1. 安装第三方软件源
64位系统

注:安装这个源后,接下来要安装的大量的依赖包就不会报错

sedtar zxvf smokeping-2.6.8.tar.gz
cd smokeping-2.6.8


注:perl-CGI-SpeedyCGI,perl-CGI-SpeedCGI这两个包在安装过程中会提示找不到,但没关系
注:用yum安装大量的依赖包还是很方便的,而百度上有些关于安装smokeping的文档要求使用wget下载后再用make,make install方式安装,虽然make方式不复杂,但通过make编译再安装几十个包就显得有点繁锁了。
 
 


3.下载与安装smokeping  
tar zxvf smokeping-2.6.8.tar.gz
cd smokeping-2.6.8
./configure --prefix=/usr/local/smokeping
出现问题是因为需要安装perl的模块,所以运行下面内容即可
 
如果只出现  Config::Grammar' ... Failed
解决  'Config::Grammar' ... Failed
wget http://search.cpan.org/CPAN/authors/id/D/DS/DSCHWEI/Config-Grammar-1.10.tar.gz
tar zxvf Config-Grammar-1.10.tar.gz


如果出现很多个failed,就用下面的方法
./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty  这个是为前面failed做安装  
./co nfigure --prefix=/usr/local/smokeping   
                                                             
如果还出现问题可以看下这里面的参考。http://bbs.51cto.com/thread-1106181-1.html

 
安装下yum install cpan      perl -MCPAN -e 'install CGI'           perl -MCPAN -e 'install CGI::Fast '  这个安装好了然后再执行这一步。
 
上面提示CGI 没有安装成
tar zxvf CGI.pm-3.65.tar.gz
cd CGI.pm-3.65
perl Makefile.PL
make && make install
 
然后再执行下 ./co nfigure --prefix=/usr/local/smokeping  
 
 
现在smokeping安装完成
 
4. 配置smokeping
第一种 使用nginx
 
1.安装nginx
rpm -Uvh 
yum install -y nginx

 下载Make 让他直接执行
 
2.安装基础IO 
cd /root

tar xvzf IO-All-0.46.tar.gz
cd IO-All-0.46
perl Makefile.PL       #  这里出现这个问题 把那个文件删了就行了。
 
make && make install
 
3.配置nginx的sock
创建fcgi sock 文件,配置nginx fcgi使用

-O /etc/nginx-fcgi 
 
chmod a+x /etc/nginx-fcgi
/etc/nginx-fcgi -l /var/log/nginx-fcgi.log -pid /var/run/nginx-fcgi.pid -S /var/run/nginx-fcgi.sock
chmod 777 /var/run/nginx-fcgi.sock
 
4.增加smokeping使用的data、var、和cache目录
cd /usr/local/smokeping
mkdir data var cache

cd /usr/local/smokeping/etc
mv config.dist config
 
5.上传监控节点conf文件到smokeping的etc目录
 
6.修改smokpeing配置脚本
vi config
在如下位置修改

*** Database ***
step     = 300
pings    = 20
修改为
*** Database ***
step     = 60
pings    = 20

在如下位置添加一句话
*** Presentation ***
template = /usr/local/smokeping/etc/basepage.html.dist
charset=utf-8

在第一个加号位置下将监控节点文件引入,如下例子


 
+ testnetwork
menu=测试网络状况
title= 测试网络状况
@include CT-IP.conf
@include CN-IP.conf
@include CT_IDC.conf
@include CNC-IDC.conf
保存退出
 
7.增加data、var、cache目录的软连接

8.修改nginx 配置文件
查看下nginx的版本,使用nginx -v 查看,如下例子:
 nginx -v
nginx version: nginx/1.0.15
 
修改nginx配置
vi /etc/nginx/conf.d/default.conf
--增加fcgi 指向
    location  ~ .*\.fcgi$ {
        root /usr/local/smokeping/htdocs/;
        gzip off;
        fastcgi_pass  unix:/var/run/nginx-fcgi.sock;
        fastcgi_index smokeping.fcgi;
        include fastcgi.conf;                 #1.0.x 与0.8.x 用这个
        #include fastcgi_params;            #1.4.x版本用 fastcgi_params
        #fastcgi_param   SCRIPT_FILENAME /opt/smokeping/htdocs$fastcgi_script_name; #1.4.x版本必加
    }
保存退出


第二种 使用apache
(1) 创建cache、data、var目录
cd /usr/local/smokeping
mkdir htdocs/cache data var

(2) 在创建日志
touch /var/log/smokeping.log

(3) 上传监控节点的conf文件到smokeping的etc目录下
修改smokeping目录的用户和组权限
chown apache:apache -R /usr/local/smokeping
chown apache:apache /var/log/smokeping.log

(4) 修改配置文件
cd /usr/local/smokeping/htdocs/
mv smokeping.fcgi.dist smokeping.fcgi
cd /usr/local/smokeping/etc
mv config.dist config
vi config

修改改行设置
imgcache = /usr/local/smokeping/cache
imgcache = /usr/local/smokeping/htdocs/cache

 *** Database ***
step  = 300
pings  = 60
然后修改step,从300改为60,这是检测的时间, pings 从20 改为60, 即60秒ping 60次

在如下位置添加一句话
*** Presentation ***
template = /usr/local/smokeping/etc/basepage.html.dist
charset=utf-8

在第一个加号位置下将监控节点文件引入,如下例子
+ testnetwork
menu=测试网络状况
title= 测试网络状况
@include CT-IP.conf
@include CN-IP.conf
@include CT_IDC.conf
@include CNC-IDC.conf

保存退出 

 (5) 配置完成之后修改密码文件权限
chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist

5. 修改apache的配置
vim /etc/httpd/conf/httpd.conf
在DocumentRoot "/var/www/html" 这一行之下添加如下内容:
 
Alias /cache "/usr/local/smokeping/htdocs/cache"
Alias /cropper "/usr/local/smokeping/htdocs/cropper"
Alias /smokeping "/usr/local/smokeping/htdocs"
<Directory "/usr/local/smokeping/htdocs">
  AllowOverride None
  AddHandler cgi-script .fcgi .cgi
  Options ExecCGI
  <IfModule dir_module>
     DirectoryIndex smokeping.fcgi
  </IfModule>
  Order allow,deny
  Allow from all 
</Directory>
 
6. 设置开机启动httpd, smokeping,并关闭iptables.
echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
chkconfig httpd on      #开机启动httpd进程
chkconfig iptables off  #开机不启动iptables服务
chkconfig nginx on
7. 启动http或者nginx以及smokeping
service httpd start service nginx start
/usr/local/smokeping/bin/smokeping --debug-daemon
chown apache:apache -R /usr/local/smokeping  
8. 打开检测主机的Web页面
使用httpd做web,在Web浏览器里输入     这里启动不了,看下什么原因。是不是CT-IDC.conf 没有上传到etc下面


打开这里出现500  说明配置正确防火墙看下。serenfroce 0  有没有关闭。
 

 使用nginx做web,在Web浏览器里输入   这里启动不了,看下什么原因。是不是CT-IDC.conf 没有上传到etc下面


如果遇到500错误:
Internal Server Error

--------------------------------------------------------------------------------
Apache/2.2.15 (CentOS) Server at 192.168.2.101 Port 80

说明没有关闭SElinux 选项,关闭就正常了
vi /etc/sysconfig/selinux
SELINUX=permissive
[root@localhost ~]# getenforce     #查看SElinux 的命令
Permissive                      #返回的结果是Permissive, 表示已经关闭SElinux了

9. 在Web页面增加验证用户名和密码(可选步骤)
(1)修改httpd.conf里的内容
<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>

注:上面的内容部分已经添加,这里仅添加红色字体内容即可。

(2) 设置登录账户与密码
进入cd /usr/local/smokeping/htdocs目录, 执行命令:htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin
这个是设置登录账户为admin,密码在后面输入,然后重启httpd就可以实现密码验证登录
重新登录web页面,会要求输入用户名和密码,如下图

11. 一定要同步好时间
   在ESXI4的虚拟机中,定期执行ntpdate 210.72.145.44    #或者与本地的时间服务器同步
   在vmware workstation中,安装vmware-tools, 虚拟机的时间会自动与其宿主机时间同步
   注: 如果vmware workstation中的虚拟机不安装vmware-tools,则虚拟机时间会与宿主机时间相隔整整8个小时(虚拟机时间早于宿主机时间)  
        vmware-tools的安装不在此叙述

12. 特别说明: 修改/usr/local/smokeping/etc/config 文件的配置参数,必须重启动smokeping程序
    (1)如果重启动smokeping程序失败,根据报错提示删除/usr/local/smokeping/data子文件夹的rrd文件
    (2)中文问题:如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件
    *** Presentation ***
    charset = utf-8 //注:在这里添加
    然后在menu与titile里修改中文,重启即可
    有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。
     如果在xshel下,选择file-properities-terminal
    如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个

     [root@smokeping data]# ps -ef |grep smoke   #查找smokeping进程
     root      8740     1  0 09:08 ?        00:00:00 /usr/local/smokeping/bin/smokeping [FPing]
     root     35552 35529  0 09:33 pts/2    00:00:00 grep smoke
     [root@smokeping data]# kill 8740     #杀掉smokeping进程
     [root@smokeping data]# ps -ef |grep smoke
     root     35554 35529  4 09:33 pts/2    00:00:00 grep smoke
     smokeping进程已经被杀掉
     [root@smokeping data]#screen                    #如果通过SSH远程登录到监控主机,最后执行screen,在虚拟窗口中启动smokeping
     /usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &

影音先锋电影 http://www.iskdy .com/
三. 添加需要监控的网站和节点(在/usr/local/smokeping/etc/config中添加)
      * smokeping就这点不好,添加节点不能在前台Web页面添加,一定要在后台的配置文件中添加,希望以后的版本中能改进一下  *
      * 修改/usr/local/smokeping/etc/config 后,必须重启smokeping 程序,配置才会生效  *  
      * smokeping 会根据配置文件config 在/usr/local/smokeping/data 之下添加moniter文件夹,其下包含website子文件夹 *
      * 用vmware workstation的虚拟机测试有一点好处,workstation下的虚拟网卡可以设置出入的丢包率,适合smokeping做丢包测试, 经过测试smokeping检测出的丢包率与vmware worksation虚拟网卡设置的丢包率基本相同,也就是说smokeping 能够反应网络的真实状况 *
     添加监控节点示例:注意+是第一层,++是第二层,+++ 是第三层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值