什么是 Smokeping ?
SmokePing
是一款监控网络状态和稳定性的开源软件(它是 RRDTool
的作者开发的),通过它可以监控如延时,丢包率,是否 BGP
多线等网络状况;smokeping
会向目标设备和系统发送各种类型的测试数据包,测量、记录,并通过图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况;
可以用于监控群晖主机的网络状态,也可以用于监控多台 vps
的运行状态,支持通过邮件报警。
安装 在群晖上以 Docker 方式安装。
在注册表中搜索 smokeping
,选择第一个 linuxserver/smokeping
,版本选择 latest
。
卷 在 docker
文件夹中,创建一个新文件夹,并将其命名为 smokeping
,并在 smokeping
中建两个子目录,分别命名为 config
和 data
。
文件夹
装载路径
备注
/docker/smokeping/data
/data
数据库和应用数据目录
/docker/smokeping/config
/config
配置文件目录
端口 端口不能冲突
环境
可变
值
TZ
设置为 Asia/Shanghai
PGID
<gid>
设为 1000
PUID
<uid>
设为 1000
运行 在浏览器中输入 http://群晖IP:8580
,就能看到主界面了
配置文件 配置文件在 /docker/smokeping/config
目录中,知道了用途可以方便后面的修改
文件
用途
Alerts
报警设置
Database
采样频率设置
General
常规设置
httpd.conf
Apache 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
配置生效需要重启容器
除了密码都在下面👇
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Debug =YES root =wbsu2003@88 .commailhub =smtp.88 .com:465 AuthUser =wbsu2003@88 .comAuthPass =88 邮箱设置的专用密码UseSTARTTLS =NO UseTLS =YES rewriteDomain =88 .comhostname =linuxserver-smokeping1FromLineOverride =YES
老苏用的是 88
邮箱,相关参数可以在 设置
中找到
设置完成后,可以通过 『终端机』 进入容器内进行 Email
发送调试,命令行下输入 ssmtp -v wbsu2003@hotmail.com
,再依次输入:
1 2 3 4 5 To: wbsu2003@hotmail.com From: wbsu2003@88.com Subject: alert <回车2次> test123 <ctrl+D>
去收件箱查看邮件
第二步、编辑 Alerts
修改红框部分
to
:接收报警的邮箱,也可以是自定义脚本;
from
:发送报警信息的邮箱,也就是上一步在 ssmtp.conf
中设置的邮箱;
下面是报警触发的条件
设的比较低是想更容易触发报警,实际应用延时可以设在 200ms
1 2 3 4 5 6 7 8 9 10 11 12 13 *** Alerts *** to = wbsu2003@hotmail.comfrom = wbsu2003@88 .com +rttdetect type = rttpattern = <20 ,<20 ,<20 ,<20 ,<20 ,>20 ,>20 ,>20 comment = 连续3 次延时20 以上+lossdetect type = losspattern = ==0 %,==0 %,==0 %,==0 %,==0 %,>0 %,>0 %,>0 %comment = 突然有丢包
Targets Internet Sites
基本上是我们正常无法访问的站点,所以需要进行修改,不然会没有数据
编辑 smokeping/config/Targets
文件
编辑之前请先做好备份
格式一目了然,采用了是分层结构,用+表示,例如第一层“+”,第二层“++”一次类推可以增加也可以修改
下面👇这段来自 https://wzfou.com/smokeping/ ,但根据我们前面设置的 Probes
和 Alerts
进行了微调
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 + 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/