我孤身走在路上, 石子在雾中发亮,夜很安静,荒原面对太空,星星互诉衷肠
利用SmokPing检测网络质量,判断网络故障
利用SmokPing检测网络质量,判断网络故障

利用SmokPing检测网络质量,判断网络故障

前些天在工作中,有个部门反应操作内部系统会卡顿和中断,持续时间也不会太久,这个时候不太好判断是网络的问题还是应用层的问题,看了下引用smokeping,可以多方面检测一下网络,看看问题出在哪里,计划是持续ping交换机,内部服务A,内部服务B,这样再出问题的时候就好判断是否是网络的问题。

什么是SmokePing

SmokePing 是一个开源的网络延迟监测工具,可以提供网络性能的可视化图表,监控网络延迟和丢包情况。它不仅可以实时监控网络状况,还可以保存历史数据用于分析。

SmokePing 解决的问题包括:

  1. 网络故障诊断:通过监控网络延迟和丢包,可以帮助我们识别网络问题,比如网络拥堵、设备故障等。
  2. 网络性能评估:通过分析网络延迟的长期变化,可以评估网络设备的性能,或者比较不同网络供应商的服务质量。
  3. 网络规划:通过分析网络的使用情况和性能,可以帮助我们进行网络规划,比如增加带宽、升级设备等。
  4. 服务质量保证:对于提供网络服务的公司,可以使用SmokePing来满足服务质量保证(SLA)的要求,比如监控网络的可用性和性能。

安装方面

在安装SmokePing之前,你需要确保已经安装了Apache HTTP服务器(httpd)。以下是安装步骤:

  1. 安装Apache HTTP服务器:在基于Debian的系统(如Ubuntu)中,你可以使用命令”sudo apt-get install apache2″来安装。在基于Red Hat的系统(如CentOS)中,你可以使用命令”sudo yum install httpd”来安装。
  2. 安装SmokePing:使用命令”sudo apt-get install smokeping”来安装。
  3. 配置SmokePing:编辑/etc/smokeping/config.d/目录下的配置文件。
  4. 启动SmokePing:使用命令”sudo /etc/init.d/smokeping start”来启动。
  5. 在浏览器中查看SmokePing:输入”http://your_server/smokeping”来查看。

配置文件方面

在SmokePing的配置文件中,你可以通过设置steppings参数来控制ping的周期和次数。

  1. step参数:这个参数定义了SmokePing每隔多少秒进行一次ping测试。例如,如果你想让SmokePing每隔300秒(5分钟)进行一次ping测试,你可以将step设置为300。这个参数通常在配置文件的Database部分设置。
  2. pings参数:这个参数定义了SmokePing在每次ping测试中发送多少个ping包。例如,如果你想让SmokePing在每次测试中发送20个ping包,你可以将pings设置为20。这个参数通常在配置文件的Probes部分设置。

这是一个示例配置:

*** Database ***
step     = 300

*** Probes ***
+ FPing
binary = /usr/bin/fping
pings = 20

在这个配置,SmokePing将每隔300秒进行一次ping测试,并且在每次测试中发送20个ping包。

你还可以通过修改Presentation部分来自定义显示的时间范围。例如,如果你想显示最近30分钟和60分钟的数据,你可以修改Presentation部分如下:

*** Presentation ***

+ overview

width = 600
height = 50
range = 1800,3600

在这个配置中,range参数定义了显示的时间范围,单位是秒。1800表示30分钟,3600表示60分钟。

下面是我自己的完整的一个配置,你可以根据你的需求来进行调整:

*** General ***

owner    = Super User
contact  = root@localhost
mailhost = my.mail.host
sendmail = /usr/sbin/sendmail
# NOTE: do not put the Image Cache below cgi-bin
# since all files under cgi-bin will be executed ... this is not
# good for images.
imgcache = /var/lib/smokeping/images
imgurl   = /smokeping/images
datadir  = /var/lib/smokeping/rrd
piddir   = /var/run/smokeping
cgiurl   = http://localhost/smokeping/sm.cgi
smokemail = /etc/smokeping/smokemail
tmail     = /etc/smokeping/tmail
# specify this to get syslog logging
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no

*** Alerts ***
to = root@localhost
from = root@localhost

+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times  in a row

*** Database ***

step     = 3
pings    = 3

# consfn mrhb steps total

AVERAGE  0.5   1  1008
AVERAGE  0.5  12  4320
    MIN  0.5  12  4320
    MAX  0.5  12  4320
AVERAGE  0.5 144   720
    MAX  0.5 144   720
    MIN  0.5 144   720

*** Presentation ***

template = /etc/smokeping/basepage.html

+ charts

menu = Charts
title = The most interesting destinations

++ stddev
sorter = StdDev(entries=>4)
title = Top Standard Deviation
menu = Std Deviation
format = Standard Deviation %f

++ max
sorter = Max(entries=>5)
title = Top Max Roundtrip Time
menu = by Max
format = Max Roundtrip Time %f seconds

++ loss
sorter = Loss(entries=>5)
title = Top Packet Loss
menu = Loss
format = Packets Lost %f

++ median
sorter = Median(entries=>5)
title = Top Median Roundtrip Time
menu = by Median
format = Median RTT %f seconds

+ overview 

width = 600
height = 50
range = 10h

+ detail

width = 600
height = 200
unison_tolerance = 2

"Last 30 Minutes" 30m
"Last 1 Hours"    1h
"Last 3 Hours"    3h
"Last 30 Hours"   30h
"Last 10 Days"    10d
"Last 30 Days"   30d



*** Probes ***

+ FPing

binary = /usr/sbin/fping

*** Slaves ***
secrets=/etc/smokeping/smokeping_secrets
+boomer
display_name=boomer
color=0000ff

+slave2
display_name=another
color=00ff00

*** Targets ***


probe = FPing

menu = Top
title = Network Test
remark = None</b>. \
         

+ Ping

menu = 主菜单的名字
title = 主菜单的抬头

++ 服务A

menu = 服务A的名字
title = 服务A抬头
host = 服务A的地址

++ 服务B

menu = 服务B的名字
title = 服务B的抬头
host = 服务B的地址

# 如果还有就照这个格式添加

你可以根据自己的需要调整这个频率,下面是一些配置好的截图

还可以点进去看每个节点的详情

这样下次再出现故障的时候,就知道是否网络有问题,方便定位到底是网络层还是应用层的问题

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

− 4 = 3