zoukankan      html  css  js  c++  java
  • smokping的部署使用

    本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。

    1、安装其他源

    1

    rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

    2、安装rrdtool与依赖库

    1

    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

    3、下载与安装smokeping

    wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz

    tar zxvf smokeping-2.6.8.tar.gz

    cd smokeping-2.6.8

    ./configure --prefix=/usr/local/smokeping

    出现问题是因为需要安装perl的模块,所以运行下面内容即可

    ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty

    ./configure --prefix=/usr/local/smokeping

    /usr/bin/gmake install

    现在smokeping安装完成

    4、配置smokeping

    a.创建cache、data、var目录

    cd /usr/local/smokeping

    mkdir cache data var

    b.在创建日志

    touch /var/log/smokeping.log

    c.授权

    chown apache:apache cache data var

    chown apache:apache /var/log/smokeping.log

    d.修改配置文件

    cd /usr/local/smokeping/htdocs/

    mv smokeping.fcgi.dist smokeping.fcgi

    cd /usr/local/smokeping/etc

    mv config.dist config

    vim config

    cgiurl   = http://some.url/smokeping.cgi

    主要是修改这行,把some.url修改为你的ip或者域名

    *** Database ***

    step     = 300

    然后修改step,从300改为60,这是检测的时间。

    e.配置完成之后修改密码文件权限

    chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist

    f.修改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

    Order allow,deny

    Allow from all

    DirectoryIndex smokeping.fcgi

    </Directory>

    f.设置开机启动

    echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local

    g.启动http与smokeping

    /etc/init.d/httpd start

    /usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &

    然后访问你在config里设置的cgiurl= http://some.url/smokeping

    注意如果出现500错误就是因为你没有关闭selinux的问题,关闭了就能正常打开。

    剩下就该你自己修改你要监控的内容了

    注意+是第一层,++是第二层

    + Test

    menu= monitor

    #parents = owner:/Test/James location:/

    title=monitor all

    ++ localhost

    menu = localhost

    title =localhost

    alerts = someloss

    slaves = boomer slave2

    host = 192.168.56.102

    然后smokeping的web界面如下图

    Image

    如果各位就这样放到网上的话,是十分的不安全,所以需要加入访问控制。

    h.修改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>

    把之前修改的httpd.conf里的这一段直接覆盖就行

    然后进入cd /usr/local/smokeping/htdocs目录

    设置登录账户与密码

    htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin

    这个是设置登录账户为admin,密码在后面输入

    然后重启httpd就可以实现密码验证登录

    Image(1)

    需要注意,一定要同步好时间,可以使用cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime或者ntpdate 210.72.145.44。

    如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件

    *** Presentation ***

    charset = utf-8 //注:在这里添加

    然后在menu与titile里修改中文,重启即可

    有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。

    如果在xshel下,选择file-properities-terminal

    Image(2)

    如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个Image(3)

    debian上可以先apt-cache search wqy(文泉译), centos可以yum search wqy试试。

    然后yum install后在重启smokeping

    如果想监控本机到电信、联通、移动、教育网的网络情况监控,可以使用下面内容

    Image(4)

    + Other

    menu = 其他网络监控

    title = 其他所有网络监控列表

    ++ dianxin

    menu = 电信网络监控

    title = 电信网络监控列表

    host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh

    +++ dianxin-hlj

    menu = 黑龙江电信

    title = 黑龙江电信

    alerts = someloss

    #slaves = boomer slave2

    host = 219.150.32.132

    +++ dianxin-gd

    menu = 广东电信

    title = 广东电信

    alerts = someloss

    #slaves = boomer slave2

    host = 113.111.211.22

    +++ dianxin-gs

    menu = 甘肃电信

    title = 甘肃电信

    alerts = someloss

    #slaves = boomer slave2

    host = 202.100.64.68

    +++ dianxin-sh

    menu = 上海电信

    title = 上海电信

    alerts = someloss

    #slaves = boomer slave2

    host = 202.96.209.5

    #+++ dianxin-multi

    #menu = 多个电信网络监控列表

    #title = 多个电信网络监控列表

    #alerts = someloss

    #slaves = boomer slave2

    #host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh

    #

    ++ liantong

    menu = 联通网络监控

    title = 联通网络监控列表

    host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh

    +++ liantong-hlj

    menu = 黑龙江联通

    title = 黑龙江联通

    alerts = someloss

    #slaves = boomer slave2

    host = 202.97.224.68

    +++ liantong-gd

    menu = 广东联通

    title = 广东联通

    alerts = someloss

    #slaves = boomer slave2

    host = 221.4.66.66

    +++ liantong-gs

    menu = 甘肃联通

    title = 甘肃联通

    alerts = someloss

    #slaves = boomer slave2

    host = 221.7.34.10

    +++ liantong-sh

    menu = 上海联通

    title = 上海联通

    alerts = someloss

    #slaves = boomer slave2

    host = 210.22.70.3

    #+++ liantong-multi

    #menu = 多个联通网络监控列表

    #title = 多个联通网络监控列表

    #alerts = someloss

    #slaves = boomer slave2

    #host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh

    ++ yidong

    menu = 移动网络监控

    title = 移动网络监控列表

    host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh

    +++ yidong-hlj

    menu = 黑龙江移动

    title = 黑龙江移动

    alerts = someloss

    #slaves = boomer slave2

    host = 211.137.241.34

    +++ yidong-gd

    menu = 广东移动

    title = 广东移动

    alerts = someloss

    #slaves = boomer slave2

    host = 211.137.241.34

    +++ yidong-gs

    menu = 甘肃移动

    title = 甘肃移动

    alerts = someloss

    #slaves = boomer slave2

    host = 218.203.160.194

    +++ yidong-sh

    menu = 上海移动

    title = 上海移动

    alerts = someloss

    #slaves = boomer slave2

    host = 117.131.0.22

    #+++ yidong-multi

    #menu = 多个移动网络监控列表

    #title = 多个移动网络监控列表

    #alerts = someloss

    #slaves = boomer slave2

    #host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh

    ++ jiaoyu

    menu = 教育网络监控

    title = 教育网络监控列表

    host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn

    +++ jiaoyu-qh

    menu = 清华大学

    title = 清华大学

    alerts = someloss

    #slaves = boomer slave2

    host = 166.111.8.28

    +++ jiaoyu-sh

    menu = 上海交大

    title = 上海交大

    alerts = someloss

    #slaves = boomer slave2

    host = 202.112.26.34

    +++ jiaoyu-wh

    menu = 武汉科技大学

    title = 武汉科技大学

    alerts = someloss

    #slaves = boomer slave2

    host = 202.114.240.6

    +++ jiaoyu-hn

    menu = 华南农业大学

    title = 华南农业大学

    alerts = someloss

    #slaves = boomer slave2

    host = 202.116.160.33

    #+++ jiaoyu-multi

    #menu = 多个教育网络监控列表

    #title = 多个教育网络监控列表

    #alerts = someloss

    #slaves = boomer slave2

    #host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn

    展示效果为

    Image(5)

    Image(6)

    5、关于smokeping的master与slave配置

    slave主机会自己去检查监测点的情况(loss and rtt),并将数值提交给master主机(通过smokeping.cgi)。
    值得注意的是,slave并不需要config文件,每次slave提交完数据以后,会询问master它自己的配置文件是否有修改,如果有修改的话slave会进行更新。

    配置

    在master的config里修改

    *** Slaves ***

    secrets=/usr/local/smokeping/etc/smokeping_secrets.dist #密码文件

    +slave1#名称

    display_name=slave1

    要注意的是"slave1"这个名字需要设置为slave主机的hostname,并且写在"slavesecrets.con"文件里面,如果不想用slave主机的hostname,那么在slave主机启动smokeping服务的时候需要使用"--slave-name"来指定自己的名字。在section

    *** Targets ***

    中指定那个host需要使用哪个slave帮忙进行检测。下层会继承上层的配置,如果下层不像继承的话,可以配置"slaves ="来避免使用slave。

    具体安装与配置不介绍。

    master/slave模式中,master和slave的图片都会显示在同一个页面中,如果不希望显示master的图片,可以使用

    nomasterpoll=yes

    参数。
    另外要注意的一点是,master上面启动"smokeping"进程和apache进程的用户必须要一致。因为rrd文件是由"smokeping"进程创建的,而数据的update却是由"smokeping.cgi"进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情况,这个情况即使在slave主机上面进行debug也是看不出来的。具体的现象是在页面上面看到master的图像出现数据,但是slave的图像一直是空白的,数据显示是"nan"。

    如果大家还想细化的监控,比如按照3大运行商(电信、联通、移动)到1、2、3线城市的网络延时与丢包情况,如下图显示

    1、本机房到电信运行商的1线城市网络监控情况

    Image(7)

    2、本机房到联通运行商的1线城市网络监控情况

    Image(8)

    3、本机房到移动运行商的1线城市网络监控情况

    Image(9)

    4、本机房到电信运行商的2线城市网络监控情况

    Image(10)

    5、本机房到联通运行商的2线城市网络监控情况

    6、本机房到移动运行商的2线城市网络监控情况

    Image(12)

    7、本机房到教育网的网络监控情况

    Image(13)

    如果达到这样的监控效果,你就能很清楚的了解你当前idc机房的网络情况,从图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。

  • 相关阅读:
    ASP.NET Core API ---状态码
    ASP.NET Core ---日志
    UnitOfWork知多少 【转】
    ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor 【转】
    ASP.NET Core 2.1 源码学习之 Options[2]:IOptions 【转】
    ASP.NET Core 2.1 源码学习之 Options[1]:Configure 【转】
    深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)【转】
    sonarqube插件开发(三) 调试插件
    sonarqube插件开发(二) 开发插件
    sonarqube插件开发(一) 环境搭建
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/5073508.html
Copyright © 2011-2022 走看看