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安装与配置
一、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设置密码访问。
评论前必须登录!
注册