smokeping是一款监控网络稳定的开源软件,通过它可以监控到本地到各地的网络状况,如延时,丢包,并通过rrdtool制图方式,图形化地展示网络的延时。
以前配置个smokeping很麻烦,现在有了docker,部署都不是事了。
为了持久化创建一个目录
mkdir -p /data/smokeping
防火墙或者安全组开放11111端口
docker create --name=smokeping -e TZ=Asia/Chongqing -p 11111:80 --restart unless-stopped -v /data/smokeping/data:/data -v /data/smokeping/config:/config linuxserver/smokeping
docker start smokeping
访问 http://ip:11111
修改监控频率
docker exec -it smokeping /bin/bash
cd config
vi Database
step = 60 监控频率每隔60秒
pings = 60 每60秒向目标设备发送60个探测数据包
修改完需要删掉旧的rrd文件
find /data -name "*.rrd"|xargs rm -f
示例
vim /data/smokeping/config/Targets
+ Project
menu = project name
title = project name
++ Pangxiaoya
menu = 麻小
title = longxia.com 建议TITLE跟主机一样,MENU可以是中文,TITLE不建议中文
host = longxia.com
+ Monitor-node
menu = Monitor-node
title = Monitor-node
++ aliyun-huadong-1
menu = 阿里云华东1
title = aliyun-huadong-1
host = 1.1.1.1
++ aliyun-huanan-1
menu = 阿里云华南1
title = aliyun-huanan-1
host = 2.2.2.2
单位
μs要读作微秒,ns读作纳秒,ms读作毫秒,进率:
1s=1000ms
1ms=1000μs
1μs=1000ns
一些指标解读
1、rtt (Round-TripTime)
这个值就是数据包在源和监控点一个来回所需要用的时间,是判断网络运行状况的一个重要的参数。在网络中实时、准确测量大量的TCP设备和系统rtt参数也是网络管理的重要环节之一。smokeping就是向目标设备发送数据包,进行记录、展示rtt。
2、media rtt (中间数)
它是中间数并不是平均值。Smokeping 有多种类型的探针,探针在默认的设置下,每 300 秒向目标设备发送 20 测探测数据包。假如这 20个数据包都返回的话,它就记录下了 20 个 rtt,那么media rtt 就是第十个包的 RTT;如果有5 个包丢失的话,那么media rtt 就是第八个返回的包的 rtt 值。
avg (rtt的平均值):它是每一个测试回合中所有的rtt算术平均值。
max、min、now不解释
sd:standard deviation of the median中间数的标准偏差
am/s : ratio of average median vs standarddeviation平均中值和标准偏差的比值
3、packetloss (丢包率)
通过ping包进行测试的进行测算。通过loss color进行展示。
4、probe:60 ICMP Echo Pings every 60s
我们设置的是每60秒向目标设备发送60个探测数据包
5、此图解释:
浅蓝色表示20个包丢掉1个,绿色表示0丢包。绿色或蓝色线标示的是中间数的值(media rtt),其他数值则在中间数周围以灰色展示。灰度范围越小越好,起伏太大说明网络不稳定。那此图中一段灰度块比较集中,就表示那个时间段网络不太稳定。