SmokePing安装部署

SmokePing简介

Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况。

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安装

  • 安装

[root@linux-node1 ~]# cat /etc/redhat-release  #查看系统环境
CentOS Linux release 7.2.1511 (Core) 
[root@linux-node1 ~]# uname -r
3.10.0-327.18.2.el7.x86_64

[root@linux-node1 ~]# yum install -y perl perl-Net-Telnet perl-Net-DNS perl-LDAP 
perl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-Time-HiRes perl-CGI-SpeedyCGI perl-FCGI perl-ExtUtils-MakeMaker 
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 freetype freetype-devel    #安装所需包

[root@linux-node1 ~]# cd /usr/local/src
[root@linux-node1 src]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.11.tar.gz #下载smokeping
[root@linux-node1 src]# tar xf smokeping-2.6.11.tar.gz    #解压
[root@linux-node1 src]# cd smokeping-2.6.11
[root@linux-node1 smokeping-2.6.11]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty #远程下东东,需要点时间,需要build都ok,不然编译会报错
[root@linux-node1 smokeping-2.6.11]# ./configure --prefix=/usr/local/smokeping    #编译

Ready to install Smokeping ******************************

   Settings:

     PERL5LIB = not set
     PERL = /usr/bin/perl

   The Smokeping Makefiles use GNU make functionality.
   Continue installation with

     /usr/bin/gmake install
#出现这个提示就可以用gmake安装了
[root@linux-node1 smokeping-2.6.11]# /usr/bin/gmake install   #安装
#出现错误 Can't locate Sys/Syslog.pm in @INC (@INC contains: /usr/local/smokeing/thirdparty/lib/perl5/x86_64-linux-thread-multi /usr/local/smokeing/thirdparty/lib/perl5 ../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ../lib/Smokeping.pm line 16.
[root@linux-node1 smokeping-2.6.11]# yum -y install perl-Sys-Syslog   #缺包了,安装这个就OK
[root@linux-node1 smokeping-2.6.11]# cd /usr/local/smokeping/   #进入smokeping安装目录
[root@linux-node1 smokeping-2.6.11]# mkdir cache data var  #创建所需文件夹
[root@linux-node1 smokeping-2.6.11]# touch /var/log/smokeping.log  #创建日志文件
[root@linux-node1 smokeping-2.6.11]# chown apache.apache cache data var /var/log/smokeping.log  #修改文件属主
[root@linux-node1 smokeping]# cd htdocs
[root@linux-node1 htdocs]# mv smokeping.fcgi.dist smokeping.fcgi     #修改文件名
[root@linux-node1 htdocs]# mv /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config   #添加配置文件
[root@linux-node1 htdocs]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist    #密码配置文件只让root能访问
  • 修改smokeping配置文件

[root@linux-node1 ~]# sed -i 's#cgiurl   = http://some.url/smokeping.cgi#cgiurl   = http://192.168.56.11/smokeping.cgi#g' /usr/local/smokeping/etc/config    
[root@linux-node1 ~]# sed -i 's#300#60#g' /usr/local/smokeping/etc/config    #改为60,一分钟采集一次数据
[root@linux-node1 ~]# sed -i 's#20#60#g' /usr/local/smokeping/etc/config     #改为一分钟ping60次
[root@linux-node2 ~]# vim /usr/local/smokeping/etc/config          #添加utf-8中文字符集支持
*** Presentation ***
charset = utf-8
[root@linux-node1 ~]# egrep "cgiurl|\<60\>|utf-8" /usr/local/smokeping/etc/config   #查看修改的配置
cgiurl   = http://192.168.56.11/smokeping.cgi   
step     = 60
pings    = 60
charset = utf-8
  • 修改apache配置文件

[root@linux-node1 htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd anzhihe
New password: 
Re-type new password: 
Adding password for user anzhihe    #设置登陆密码

[root@linux-node1 htdocs]# vi + /etc/httpd/conf/httpd.conf 
#DocumentRoot "/var/www/html"                #在这行下面添加
Alias /cache "/usr/local/smokeping/cache/"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny  
Allow from all  

AuthName "Smokeping"     #登陆密码认证配置

AuthType Basic

AuthUserFile /usr/local/smokeping/htdocs/htpasswd

Require valid-user
DirectoryIndex smokeping.fcgi
  • 创建Smokeping启动脚本

[root@linux-node1 etc]# cat /etc/init.d/smokeping 
#!/bin/bash
#
# chkconfig: 2345 80 05
# Description: Smokeping init.d script
# Hacked by : How2CentOS - http://www.how2centos.com
# Get function from functions library
. /etc/init.d/functions
# Start the service Smokeping
start() {
        echo -n "Starting Smokeping: "
        /usr/local/smokeping/bin/smokeping >/dev/null 2>&1
        ### Create the lock file ###
        touch /var/lock/subsys/smokeping
        success $"Smokeping startup"
        echo
}
# Restart the service Smokeping
stop() {
        echo -n "Stopping Smokeping: "
        kill -9 `ps ax | grep "/usr/local/smokeping/bin/smokeping" | grep -v grep | awk '{ print $1 }'` >/dev/null 2>&1
        ### Now, delete the lock file ###
        rm -f /var/lock/subsys/smokeping
        success $"Smokeping shutdown"
        echo
}
### main logic ###
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status smokeping
        ;;
  restart|reload|condrestart)
        stop
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac
exit 0

[root@linux-node1 etc]# chmod 755 /etc/init.d/smokeping
  • 启动服务访问smokeping

[root@linux-node1 ~]# systemctl start httpd.service    #启动apache

[root@linux-node1 ~]# /etc/init.d/smokeping start     #启动smokeping

在浏览器输入http://192.168.56.11/smokeping,输入之前设定的密码

SmokePing安装部署

效果展示,OK! 

SmokePing安装部署SmokePing安装部署

  • 中文支持及添加监控节点

如果需要展示界面支持中文,需要安装中文编码:
[root@linux-node1 etc]# yum -y install wqy-zenhei-fonts.noarch
[root@linux-node1 etc]# vi /usr/local/smokeping/lib/Smokeping/Graphs.pm

for my $host (@hosts){
            my ($graphret,$xs,$ys) = RRDs::graph
            ("dummy",
            '--start', $tasks[0][1],
            '--end', $tasks[0][2],
            '--font TITLE:20:"WenQuanYi Zen Hei Mono"', #添加这行及可

#添加监测源的IP库,加入到config中,修改后重启smokeping才会生效
#添加监控节点示例:注意+是第一层,++是第二层,+++ 是第三层
+ Unicom

menu = 各地网络连通性监控
title = 监控统计

++ Telecom
menu = 电信网络监控
title = 电信网络监控列表
host =  /Unicom/Telecom/telecom-xian /Unicom/Telecom/telecom-shanghai /Unicom/Telecom/telecom-sichuan /Unicom/Telecom/telecom-shenzhen /Unicom/Telecom/telecom-zhejiang /Unicom/Telecom/telecom-changsha /Unicom/Telecom/telecom-wuhan /Unicom/Telecom/telecom-jiangsu /Unicom/Telecom/telecom-chongqing /Unicom/Telecom/telecom-fujian /Unicom/Telecom/telecom-neimeng /Unicom/Telecom/telecom-xinjiang /Unicom/Telecom/telecom-guizhou /Unicom/Telecom/telecom-tianjin /Unicom/Telecom/telecom-hubei /Unicom/Telecom/telecom-beijing

+++ telecom-xian
menu = 西安电信
title = 西安电信
alerts = someloss
host = 61.150.91.55

+++ telecom-shanghai
menu =  上海电信
title = 上海电信
alerts = someloss
host = 180.169.22.226

+++ telecom-sichuan
menu = 四川电信
title = 四川电信
alerts = someloss
host = 211.149.224.160

+++ telecom-shenzhen
menu = 深圳电信
title = 深圳电信
alerts = someloss
host = 183.63.53.120

+++ telecom-zhejiang
menu = 浙江电信
title = 浙江电信
alerts = someloss
host = 122.226.223.82

+++ telecom-changsha
menu = 长沙电信
title = 长沙电信
alerts = someloss
host = 124.232.150.171

+++ telecom-wuhan
menu = 武汉电信
title = 武汉电信
alerts = someloss
host = 59.173.18.243

+++ telecom-jiangsu
menu = 江苏电信
title = 江苏电信
alerts = someloss
host = 58.215.186.208

+++ telecom-chongqing
menu = 重庆电信
title = 重庆电信
alerts = someloss
host = 219.153.71.238

+++ telecom-fujian
menu = 福建电信
title = 福建电信
alerts = someloss
host = 218.6.9.4

+++ telecom-neimeng
menu = 内蒙电信
title = 内蒙电信
alerts = someloss
host = 101.53.100.113

+++ telecom-xinjiang
menu = 乌鲁木齐电信
title = 乌鲁木齐电信
alerts = someloss
host = 124.119.87.204

+++ telecom-guizhou
menu = 贵州电信
title = 贵州电信
alerts = someloss
host = 222.87.128.7

+++ telecom-tianjin
menu = 天津电信
title = 天津电信
alerts = someloss
host = 221.238.254.118

+++ telecom-hubei
menu = 十堰电信
title = 十堰电信
alerts = someloss
host = 61.183.41.197

+++ telecom-beijing
menu = 北京电信
title = 北京电信
alerts = someloss
host = 119.90.3.2

++ Mobile
menu = 移动网络监控
title = 移动网络监控列表
host =  /Unicom/Mobile/mobile-zhejiang /Unicom/Mobile/mobile-shanghai /Unicom/Mobile/mobile-tianjin /Unicom/Mobile/mobile-jinan /Unicom/Mobile/mobile-beijing /Unicom/Mobile/mobile-suzhou /Unicom/Mobile/mobile-wuhan /Unicom/Mobile/mobile-shenyang /Unicom/Mobile/mobile-quanzhou /Unicom/Mobile/mobile-xiamen

+++ mobile-zhejiang
menu = 浙江移动
title = 浙江移动
alerts = someloss
host = 211.140.143.3

+++ mobile-shanghai
menu = 上海移动
title = 上海移动
alerts = someloss
host = 117.135.137.82

+++ mobile-tianjin
menu = 天津移动
title = 天津移动
alerts = someloss
host = 117.131.207.163

+++ mobile-jinan
menu = 济南移动
title = 济南移动
alerts = someloss
host = 223.99.238.104

+++ mobile-beijing
menu = 北京移动
title = 北京移动
alerts = someloss
host = 111.13.56.26

+++ mobile-suzhou
menu = 苏州移动
title = 苏州移动
alerts = someloss
host = 112.25.230.238

+++ mobile-wuhan
menu = 武汉移动
title = 武汉移动
alerts = someloss
host = 111.47.111.229

+++ mobile-shenyang
menu = 沈阳移动
title = 沈阳移动
alerts = someloss
host = 223.100.7.69

+++ mobile-quanzhou
menu = 泉州移动
title = 泉州移动
alerts = someloss
host = 112.5.16.13

+++ mobile-xiamen
menu = 厦门移动
title = 厦门移动
alerts = someloss
host = 218.207.194.109

++ Unicom
menu = 联通网络监控
title = 联通网络监控列表
host =  /Unicom/Unicom/unicom-dalian /Unicom/Unicom/unicom-beijing /Unicom/Unicom/unicom-jinan /Unicom/Unicom/unicom-shanghai /Unicom/Unicom/unicom-henan /Unicom/Unicom/unicom-heilongjiang /Unicom/Unicom/unicom-tianjin /Unicom/Unicom/unicom-shijiazhuang /Unicom/Unicom/unicom-taiyuan

+++ unicom-dalian
menu = 大连联通
title = 大连联通
alerts = someloss
host = 218.61.8.10

+++ unicom-beijing
menu = 北京联通
title = 北京联通
alerts = someloss
host = 118.186.222.66

+++ unicom-jinan
menu = 济南联通
title = 济南联通
alerts = someloss
host = 124.133.28.7

+++ unicom-shanghai
menu = 上海联通
title = 上海联通
alerts = someloss
host = 58.246.45.89

+++ unicom-henan
menu = 河南联通
title = 河南联通
alerts = someloss
host = 125.46.54.236

+++ unicom-heilongjiang
menu = 黑龙江联通
title = 黑龙江联通
alerts = someloss
host = 125.211.202.138

+++ unicom-tianjin
menu = 天津联通
title = 天津联通
alerts = someloss
host = 60.28.24.236

+++ unicom-shijiazhuang
menu = 石家庄联通
title = 石家庄联通
alerts = someloss
host = 110.249.209.130

+++ unicom-taiyuan
menu = 太原联通
title = 太原联通
alerts = someloss
host = 221.204.238.54

参考:

    http://www.xuliangwei.com/xubusi/507.html

    http://blog.csdn.net/fairplay_li/article/details/45817095

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/528.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注