网络性能监控工具Smokeping

什么是 Smokeping ?

SmokePing 是一款监控网络状态和稳定性的开源软件(它是 RRDTool 的作者开发的),通过它可以监控如延时,丢包率,是否 BGP 多线等网络状况;smokeping 会向目标设备和系统发送各种类型的测试数据包,测量、记录,并通过图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况;

可以用于监控群晖主机的网络状态,也可以用于监控多台 vps 的运行状态,支持通过邮件报警。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 smokeping ,选择第一个 linuxserver/smokeping,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 smokeping,并在 smokeping 中建两个子目录,分别命名为 configdata

文件夹装载路径备注
/docker/smokeping/data/data数据库和应用数据目录
/docker/smokeping/config/config配置文件目录

端口

端口不能冲突

本地端口容器端口类型
858080TCP

环境

可变
TZ设置为 Asia/Shanghai
PGID<gid> 设为 1000
PUID<uid> 设为 1000

运行

在浏览器中输入 http://群晖IP:8580,就能看到主界面了

配置文件

配置文件在 /docker/smokeping/config 目录中,知道了用途可以方便后面的修改

文件用途
Alerts报警设置
Database采样频率设置
General常规设置
httpd.confApache Web 服务器设置
pathnames路径设置
Presentation模板文件
Probes探针设置
Slaves主从模式时,从机设置
ssmtp.conf邮件服务器设置
Targets监控目标设置

Database

打开 smokeping/config/Database 文件,全部采用了默认值,也就是 300 秒(5 分钟)ping 20 次

Probes

编辑 smokeping/config/Probes 文件,将 dns 中的 google.com 改为了 baidu.com,其他都是默认的

邮件报警

第一步、编辑 ssmtp.conf

配置生效需要重启容器

除了密码都在下面👇

Debug=YES
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.

root=wbsu2003@88.com

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com

mailhub=smtp.88.com:465
AuthUser=wbsu2003@88.com
AuthPass=88邮箱设置的专用密码
UseSTARTTLS=NO

UseTLS=YES

# Where will the mail seem to come from?
rewriteDomain=88.com

# The full hostname
hostname=linuxserver-smokeping1

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

老苏用的是 88 邮箱,相关参数可以在 设置 中找到

设置完成后,可以通过 『终端机』 进入容器内进行 Email 发送调试,命令行下输入 ssmtp -v wbsu2003@hotmail.com ,再依次输入:

To: wbsu2003@hotmail.com
From: wbsu2003@88.com
Subject: alert <回车2次>

test123 <ctrl+D>

去收件箱查看邮件

第二步、编辑 Alerts

修改红框部分

  • to:接收报警的邮箱,也可以是自定义脚本;
  • from:发送报警信息的邮箱,也就是上一步在 ssmtp.conf 中设置的邮箱;

下面是报警触发的条件

设的比较低是想更容易触发报警,实际应用延时可以设在 200ms

*** Alerts ***
to = wbsu2003@hotmail.com
from = wbsu2003@88.com
 
+rttdetect
type = rtt
pattern = <20,<20,<20,<20,<20,>20,>20,>20
comment = 连续3次延时20以上

+lossdetect
type = loss
pattern = ==0%,==0%,==0%,==0%,==0%,>0%,>0%,>0%
comment = 突然有丢包

Targets

Internet Sites 基本上是我们正常无法访问的站点,所以需要进行修改,不然会没有数据

编辑 smokeping/config/Targets 文件

编辑之前请先做好备份

格式一目了然,采用了是分层结构,用+表示,例如第一层“+”,第二层“++”一次类推可以增加也可以修改

下面👇这段来自 https://wzfou.com/smokeping/,但根据我们前面设置的 ProbesAlerts进行了微调

+ Other
menu = 三大网络监控
title = 监控统计
probe = FPing

++ dianxin
menu = 电信网络监控
title = 电信网络监控列表
host = /Other/dianxin/dianxin-bj /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-tj /Other/dianxin/dianxin-sc /Other/dianxin/dianxin-sh /Other/dianxin/dianxin-gz

+++ dianxin-bj
menu = 北京电信
title = 北京电信
host = 202.96.199.133
alerts = rttdetect,lossdetect
 
+++ dianxin-hlj
menu = 黑龙江电信
title = 黑龙江电信
host = 219.147.198.242
alerts = rttdetect,lossdetect
 
+++ dianxin-tj
menu = 天津电信
title = 天津电信
host = 219.150.32.132
alerts = rttdetect,lossdetect
 
+++ dianxin-sc
menu = 四川电信
title = 四川电信
host = 61.139.2.69
alerts = rttdetect,lossdetect
 
+++ dianxin-sh
menu = 上海电信
title = 上海电信
host = 116.228.111.118
alerts = rttdetect,lossdetect
 
+++ dianxin-gz
menu = 广东电信
title = 广东电信
host = 113.111.211.22
alerts = rttdetect,lossdetect
 
++ liantong
menu = 联通网络监控
title = 联通网络监控列表
host = /Other/liantong/liantong-bj /Other/liantong/liantong-hlj /Other/liantong/liantong-tj /Other/liantong/liantong-sc /Other/liantong/liantong-sh /Other/liantong/liantong-gz
 
+++ liantong-bj
menu = 北京联通
title = 北京联通
host = 61.135.169.121
alerts = rttdetect,lossdetect
 
+++ liantong-hlj
menu = 黑龙江联通
title = 黑龙江联通
host = 202.97.224.69
alerts = rttdetect,lossdetect
 
+++ liantong-tj
menu = 天津联通
title = 天津联通
host = 202.99.96.68
alerts = rttdetect,lossdetect
 
+++ liantong-sc
menu = 四川联通
title = 四川联通
host = 119.6.6.6
alerts = rttdetect,lossdetect
 
+++ liantong-sh
menu = 上海联通
title = 上海联通
host = 210.22.84.3
alerts = rttdetect,lossdetect
 
+++ liantong-gz
menu = 广东联通
title = 广东联通
host = 221.5.88.88
alerts = rttdetect,lossdetect
 
++ yidong
menu = 移动网络监控
title = 移动网络监控列表
host = /Other/yidong/yidong-bj /Other/yidong/yidong-hlj /Other/yidong/yidong-tj /Other/yidong/yidong-sc /Other/yidong/yidong-sh /Other/yidong/yidong-gz 
 
+++ yidong-bj
menu = 北京移动
title = 北京移动
host = 221.130.33.52
alerts = rttdetect,lossdetect
 
+++ yidong-hlj
menu = 黑龙江移动
title = 黑龙江移动
host = 211.137.241.35
alerts = rttdetect,lossdetect
 
+++ yidong-tj
menu = 天津移动
title = 天津移动
host = 211.137.160.5
alerts = rttdetect,lossdetect
 
+++ yidong-sc
menu = 四川移动
title = 四川移动
host = 218.201.4.3
alerts = rttdetect,lossdetect
 
+++ yidong-sh
menu = 上海移动
title = 上海移动
host = 117.131.19.23
alerts = rttdetect,lossdetect
 
+++ yidong-gz
menu = 广东移动
title = 广东移动
host = 211.136.192.6
alerts = rttdetect,lossdetect

因为有中文,要使用 utf-8 格式

配置生效需要重启容器

如果是用默认的 GB18030 编码保存,中文会乱码

而正常显示应该是这样的

随着时间的推移,逐步会产生数据

当触发了设定的延迟( rttdetect )或者丢包( lossdetect )条件时,会收到邮件提醒

而如果邮件设置有问题,会在 config 目录中生成 dead.letter 文件,用于记录触发过的报警

下载之后打开文件内容是下面👇这样的

参考文档

oetiker/SmokePing: The Active Monitoring System
地址:https://github.com/oetiker/SmokePing

SmokePing - About SmokePing
地址:https://oss.oetiker.ch/smokeping/

How to install SmokePing – sleeplessbeastie’s notes
地址:https://sleeplessbeastie.eu/2020/06/19/how-to-install-smokeping/

Smokeping安装与配置-免费开源网络性能监控工具可视化主/从部署 - 挖站否-挖掘建站的乐趣
地址:https://wzfou.com/smokeping/

ssmtp-命令行发送邮件 | Hom
地址:https://gohom.win/2016/10/07/ssmtp/

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
冒烟测试是指在软件开发中,对提交测试的软件进行预测试,以验证其基本功能是否存在严重的问题。冒烟测试主要目的是在详细深入的测试之前,暴露导致软件需要重新发布的基本功能失效等严重问题。它可以由开发人员或测试人员执行,通常在版本编译后正式提交测试之前由开发人员执行,或在开发发布版本后,测试人员在接受这个版本作为正式版本之前执行。冒烟测试可手动执行,也可在版本编制后自动化执行。它是对基本功能的初步验证,不涉及深入测试,但应覆盖所有的更改点。冒烟测试通常与可用性测试和回归测试相似,范围有重叠,但目的和执行时间不同。 冒烟测试的测试用例集需要覆盖软件的基本功能,执行冒烟测试的主要目的是快速验证软件基本功能是否有缺陷。如果冒烟测试的测试用例不能通过,则不必进行进一步的测试。冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,可以尽量消除其表面的错误,减少后期测试的工作量。冒烟测试的执行者通常是版本编译人员,通过冒烟测试,测试人员可以熟悉测试总体流程,准确制定测试时间计划,并提前做好相关设备和数据的准备。 总之,冒烟测试是一种预测试,用于快速验证软件基本功能是否存在严重问题。它可以帮助减少后期测试的负担,并确保软件在正式测试之前已经过初步验证。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [什么是Smoke Test](https://blog.csdn.net/qq_56023706/article/details/121177731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [什么是Smoke Test?](https://blog.csdn.net/m0_55887872/article/details/120869322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [zk-smoketest:zk-smoketest.py为ZooKeeper集成提供了一个简单的Smoketest客户端](https://download.csdn.net/download/weixin_42103128/19085266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值