Smokeping是一个开源免费的网络性能监控工具,主要用于监视网络性能,包括常规的 ping,dig,echoping,curl等,可以 监视 www 服务器性能,监视 dns 查询性能,监视 s-s-h 性能等。最重要的是Smokeping的图表非常直观。 原来用的是Smokeping+Apache搭建方法,发现这种模式下还是挺消耗CPU资源的,于是正好趁着更换服务器的空隙将SmokePing搭建在Nginx上,用的是好友的SmokePing一键安装/管理脚本,直接在CentOS 7系统一键安装,配置也是自动的。
偏爱于Apache的朋友,可以试试手动安装SmokePing,官方是建议使用Apache来搭配Smokeping的:Smokeping安装与配置-免费开源网络性能监控工具可视化主/从部署。更多的网站监控服务你或许想要:
- 三个免费的SSL证书在线监控和到期提醒服务-再也不用担心证书过期
- 利用ServerStatus自建VPS主机和服务器性能和宕机监控平台-效果美化和自定义
- VPS主机库存上货监控与微信\TG通知系统:VPS-Inventory-Monitoring安装与配置
PS:更新记录。
1、有找网页内容变化实时监控和通知脚本工具的朋友可以试试这个:利用WebMonitor实时监控网页变化-支持手机微信,邮箱,TG等通知提醒。2022.8.20
一、SmokePing安装前准备
网站:
- https://oss.oetiker.ch/smokeping/index.en.html
- https://github.com/oetiker/SmokePing
- 脚本:https://github.com/ILLKX/smokeping-onekey
- 效果:https://ping.wzfou.com/
1.1 一台VPS主机
VPS主机内存不要求太高,1GB足够用了,主要是CPU要求高一点,因为后期在处理数据时需要占用不少的CPU资源。关于VPS主机可以在这里选购:VPS主机排行榜单。
1.2 安装CentOS 7系统
SmokePing一键安装/管理脚本目前仅支持CentOS 7系统,其它的系统的请自行修改。
二、SmokePing一键安装
SmokePing一键安装/管理脚本集成SmokePing三种版本(Master/Slaves/单机版)安装、启动、停止、重启等基本操作,方便用户操作。可自动更换阿里云国内源(可选) ,支持中文显示 ,覆盖安装提醒。脚本未设置开机启动 ,Master端/单机版会自动安装Nginx并修改Nginx默认配置。
wget -N --no-check-certificate https://raw.githubusercontent.com/ILLKX/smokeping-onekey/master/smokeping.sh && bash smokeping.sh
执行以上命令你就可以选择是否一键安装了。
SmokePing可先安装服务端,然后再安装客户端。
SmokePing安装完成,打开你的域名就可以看到效果了。(在安装过程中会让你填写服务端地址,请填写域名即可。)
程序安装目录:
Nginx配置:/etc/nginx/ /etc/nginx/conf/ smokeping安装目录:/opt/smokeping/ smokeping配置文件:/opt/smokeping/etc/config fcgi文件:/opt/smokeping/htdocs/smokeping.fcgi spawn-fcgi、Nginx、supervisor采用yum安装
三、SmokePing配置SSL
3.1 申请免费证书
SmokePing一键安装/管理脚本没有集成SSL证书管理功能,不过我们可以自己给SmokePing配置免费SSL证书。这里我们以安装letsencrypt免费SSL证书为例。
先按照教程配置好acme.sh:简单三步给网站申请安装letsencrypt免费SSL证书-acme.sh自动续期。在签发证书时有两种方式,一种是指定好web目录,命令如下:
acme.sh --issue -d ping.wzfou.com -w /opt/smokeping/htdocs
另外一种就是使用DNS API来验证域名,例如挖站否使用的是ClouDNS的DNS域名解析(相关:ClouDNS便宜好用的DNS解析服务-DNSSEC,主从DNS和亚太Anycast节点),直接获取API填入即可:
然后执行命令:
acme.sh --issue --dns dns_cloudns -d ping.wzfou.com
3.2 修改Nginx配置
letsencrypt免费SSL证书申请成功后,接下来就是修改Nginx的SSL证书了,这里给个演示如下(记得替换你的SSL证书的key和CRT路径):
server { listen 80; listen 443 ssl http2; ssl_certificate /etc/nginx/sslfile/cert.pem; ssl_certificate_key /etc/nginx/sslfile/key.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; if ($ssl_protocol = "") { return 301 https://$host$request_uri; } server_name ping.wzfou.comhost; location / { root /opt/smokeping/htdocs/; index index.html index.htm smokeping.fcgi; } location ~ .*\.fcgi$ { root /opt/smokeping/htdocs/; fastcgi_pass 127.0.0.1:9007; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } }
最后,完成SmokePing的SSL证书配置。
四、SmokePing脚本问题
4.1 SSL连接错误
如果在启用SmokePing客户端时提示错误:
WARNING Master said 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)
执行以下命令解决。
sudo yum install perl-LWP-Protocol-https perl-Crypt-SSLeay
4.2 客户端无法启动
查看了一下smokeping.sh脚本,里面关于启用SmokePing客户端的命令没有考虑到Https的网站,如果你的服务端用的是Https访问,那么你需要手动修改smokeping.sh脚本,添加上Https协议即可,如下:
#启动Slaves服务 Slaves_Run_SmokePing(){ cd /opt/smokeping/bin ./smokeping --master-url=https://$server_name/smokeping.fcgi --cache-dir=/opt/smokeping/htdocs/cache --shared-secret=/opt/smokeping/etc/smokeping_secrets.dist --slave-name=$slaves_name --logfile=/opt/smokeping/slave.log }
4.3 脚本无法重启
SmokePing脚本在重启时可能会出现失败,我们可以先Kill进程,再执行脚本重启。
pkill smokeping bash smokeping.sh
4.4 手动配置监控
SmokePing需要手动编辑配置文件:/opt/smokeping/etc/config ,然后参考官方的示例添加你想要监控的目标,以下是挖站否当前用的一个监控示例。
*** Probes *** + FPing #binary = /usr/sbin/fping ++ FPing01 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 ++ FPing02 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 ++ FPing03 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 ++ FPing04 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 ++ FPing05 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 ++ FPing06 binary = /usr/sbin/fping hostinterval = 1 packetsize = 50 +TCPPing binary = /usr/bin/tcpping # mandatory forks = 5 offset = 50% step = 180 timeout = 15 *** Slaves *** secrets=/opt/smokeping/etc/smokeping_secrets.dist +boomer display_name=联通云上海联通机房 color=ff3333 +slave2 display_name=腾讯云成都电信机房 color=00ff00 +slave3 display_name=移动云北京移动机房 color=ffff00 *** Targets *** probe = FPing01 menu = Top title = VPS主机\服务器线路质量监控 remark = <p><b>对各大VPS主机、服务器、机房线路质量与网络状况进行持续性的监控,</b><b>用统计数据帮助分析出性价比最高的VPS主机与服务器。</b></p> \ <p><b>图表说明:</b></p> \ <p><b>一、</b>X轴表示时间,Y轴表示Ping、DNS、Curl请求响应时长,相关参数见注释。<br> \ <b>二、</b>网络丢包和延迟用不同的颜色和阴影来表示,阴影块越大说明线路越不稳定。<br> \ <b>三、</b>图表中曲线上不同的颜色表示丢包数、延迟不同,点击图表并勾选范围可放大。<br> \ <b>四、</b>监控统计于电信、联通、移动三家网络机房,如未注明则默认本站日本机房。</p> \ <p>邮箱: iwzfou@gmail.com;QQ:798558110;Q群:140917087。<br>各大VPS主机性能评测排行见:<a href="https://wzfou.com/vps-bangdan/" target="_blank">https://wzfou.com/vps-bangdan/</a></p> + kr menu= 韩国 title = 韩国VPS主机\服务器线路监控统计 probe = FPing01 remark = <p><b>这里列出了各大VPS主机\服务器商位于韩国各地机房的网络线路质量监控统计情况。通过对比我们可以一目了然地看出不同的VPS主机服务器线路质量的差别。</b></p> \ <p><b>图表说明:</b></p> \ <p><b>一、</b>X轴表示时间,Y轴表示Ping、DNS、Curl请求响应时长,相关参数见注释。<br> \ <b>二、</b>网络丢包和延迟用不同的颜色和阴影来表示,阴影块越大说明线路越不稳定。<br> \ <b>三、</b>图表中曲线上不同的颜色表示丢包数、延迟不同,点击图表并勾选范围可放大。<br> \ <b>四、</b>监控统计于电信、联通、移动三家网络机房,如未注明则默认本站日本机房。</p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> #parents = owner:/kr/James location:/ host =/kr/kdatacenter~slave2 /kr/LG~slave2 /kr/soar~slave2 /kr/tencent~slave2 /kr/krgcore~slave2 /kr/krlightsail~slave2 ++ kdatacenter menu = kdatacenter title =韩国kdatacenter VPS主机 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。<br><br>kdatacenter VPS评测报告:<a href="https://wzfou.com/kdatacenter/" target="_blank"> Kdatacenter韩国VPS主机性能与速度评测-SK机房速度快但是不好用</a></p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 211.10.17.1 ++ LG menu = 韩国的LG 主机 title =韩国LG DACOM机房VPS主机 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 211.233.74.23 ++ soar menu = soar-clouds title =soar-clouds韩国B区VPS主机 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。<br><br>soar-clouds VPS评测报告:<a href="https://wzfou.com/soar-clouds/" target="_blank"> SoarClouds韩国日本香港台湾VPS主机性能速度测评-流量按量付费</a></p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 103.86.46.1 ++ tencent menu = 腾讯云VPS韩国 title =腾讯云韩国首尔机房 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。<br><br>腾讯云 VPS评测报告:<a href="https://wzfou.com/tencent-kr-pingce/" target="_blank"> 腾讯云韩国VPS主机性能与速度评测-韩国VPS主机直连速度快价格贵</a></p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 119.28.152.28 ++ krgcore menu = Gcore VPS韩 title =Gcore韩国首尔机房VPS主机 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。<br><br>Gcore韩国VPS评测报告:<a href="https://wzfou.com/gcore-pingce/" target="_blank"> Gcore韩国VPS性能与速度测评-俄罗斯美国日本新加坡VPS主机测评</a></p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 119.28.152.28 ++ krlightsail menu = Lightsail韩 title =Lightsail AWS亚马逊韩国首尔VPS主机 slaves = boomer slave2 slave3 remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。<br><br>Gcore韩国VPS评测报告:<a href="https://wzfou.com/gcore/" target="_blank"> Gcore VPS俄罗斯伯力,韩国首尔VPS主机性能与速度评测-电信联通直连价格便宜</a></p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host = 52.78.63.252 ++ MultiHostd menu = 汇总(电信) title = 韩国VPS主机\服务器线路质量横向对比(电信) remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host =/kr/kdatacenter~slave2 /kr/LG~slave2 /kr/soar~slave2 /kr/tencent~slave2 /kr/krgcore~slave2 /kr/krlightsail~slave2 ++ MultiHost menu = 汇总(联通) title = 韩国VPS主机\服务器线路质量横向对比(联通) remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host =/kr/kdatacenter~boomer /kr/LG~boomer /kr/soar~boomer /kr/tencent~boomer /kr/krgcore~boomer /kr/krlightsail~boomer ++ MultiHostyd menu = 汇总(移动) title = 韩国VPS主机\服务器线路质量横向对比(移动) remark = <p><strong>图表说明:</strong> \ <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \ <p><strong>参数说明:RTT</strong>即往返延时;<strong>Median RTT</strong>即RTT中位数(本监控共发出10个包,此数值即第5个包的RTT)。<strong>AV MD</strong>平均中位数;<strong>AV LS</strong>平均丢包率;<br><strong>AV SD</strong>每一轮多个测量的平均标准偏差;<strong>AM / AS</strong>平均中位数和平均标准差的比值;<strong>packet loss</strong>丢包率。</p> host =/kr/kdatacenter~slave3 /kr/LG~slave3 /kr/soar~slave3 /kr/tencent~slave3 /kr/krgcore~slave3 /kr/krlightsail~slave3
效果如下图:(点击放大)
五、总结
SmokePing一键安装搭配Nginx真的是非常好用,免去了新手朋友令人头疼的服务器配置过程,SmokePing一键安装完成后直接启用即可,每次修改配置后记得重启SmokePing否则会502错误。 SmokePing除了可以监控Ping响应时长变化,还可以监控DNS域名解析、网页加载速度等,如果不想要让其它人看到SmokePing监控的图表结果,你也可以为SmokePing设置密码访问。