VPS主机和服务器网络线路监控平台-SmokePing Nginx一键安装使用

Smokeping是一个开源免费的网络性能监控工具,主要用于监视网络性能,包括常规的 ping,dig,echoping,curl等,可以 监视 www 服务器性能,监视 dns 查询性能,监视 s-s-h 性能等。最重要的是Smokeping的图表非常直观。

原来用的是Smokeping+Apache搭建方法,发现这种模式下还是挺消耗CPU资源的,于是正好趁着更换服务器的空隙将SmokePing搭建在Nginx上,用的是好友的SmokePing一键安装/管理脚本,直接在CentOS 7系统一键安装,配置也是自动的。

偏爱于Apache的朋友,可以试试手动安装SmokePing,官方是建议使用Apache来搭配Smokeping的:Smokeping安装与配置-免费开源网络性能监控工具可视化主/从部署。更多的网站监控服务你或许想要:

  1. 三个免费的SSL证书在线监控和到期提醒服务-再也不用担心证书过期
  2. 利用ServerStatus自建VPS主机和服务器性能和宕机监控平台-效果美化和自定义
  3. VPS主机库存上货监控与微信\TG通知系统:VPS-Inventory-Monitoring安装与配置

一、SmokePing安装前准备

网站:

  1. https://oss.oetiker.ch/smokeping/index.en.html
  2. https://github.com/oetiker/SmokePing
  3. 脚本:https://github.com/ILLKX/smokeping-onekey
  4. 效果: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默认配置。

  1. 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目录,命令如下:

  1. acme.sh --issue -d ping.wzfou.com -w /opt/smokeping/htdocs

另外一种就是使用DNS API来验证域名,例如挖站否使用的是ClouDNS的DNS域名解析(相关:ClouDNS便宜好用的DNS解析服务-DNSSEC,主从DNS和亚太Anycast节点),直接获取API填入即可:

然后执行命令:

  1. acme.sh --issue --dns dns_cloudns -d ping.wzfou.com

3.2 修改Nginx配置

letsencrypt免费SSL证书申请成功后,接下来就是修改Nginx的SSL证书了,这里给个演示如下(记得替换你的SSL证书的key和CRT路径):

  1. server {
  2. listen 80;
  3. listen 443 ssl http2;
  4. ssl_certificate /etc/nginx/sslfile/cert.pem;
  5. ssl_certificate_key /etc/nginx/sslfile/key.pem;
  6. ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  7. 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;
  8. ssl_prefer_server_ciphers on;
  9. ssl_session_timeout 10m;
  10. ssl_session_cache builtin:1000 shared:SSL:10m;
  11. ssl_buffer_size 1400;
  12. add_header Strict-Transport-Security max-age=15768000;
  13. ssl_stapling on;
  14. ssl_stapling_verify on;
  15. if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  16. server_name ping.wzfou.comhost;
  17. location / {
  18. root /opt/smokeping/htdocs/;
  19. index index.html index.htm smokeping.fcgi;
  20. }
  21. location ~ .*\.fcgi$ {
  22. root /opt/smokeping/htdocs/;
  23. fastcgi_pass 127.0.0.1:9007;
  24. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  25. include /etc/nginx/fastcgi_params;
  26. }
  27. }

最后,完成SmokePing的SSL证书配置。

四、SmokePing脚本问题

4.1 SSL连接错误

如果在启用SmokePing客户端时提示错误:

  1. WARNING Master said 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

执行以下命令解决。

  1. sudo yum install perl-LWP-Protocol-https perl-Crypt-SSLeay

4.2 客户端无法启动

查看了一下smokeping.sh脚本,里面关于启用SmokePing客户端的命令没有考虑到Https的网站,如果你的服务端用的是Https访问,那么你需要手动修改smokeping.sh脚本,添加上Https协议即可,如下:

  1. #启动Slaves服务
  2. Slaves_Run_SmokePing(){
  3. cd /opt/smokeping/bin
  4. ./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
  5. }

4.3 脚本无法重启

SmokePing脚本在重启时可能会出现失败,我们可以先Kill进程,再执行脚本重启。

  1. pkill smokeping
  2. bash smokeping.sh

4.4 手动配置监控

SmokePing需要手动编辑配置文件:/opt/smokeping/etc/config ,然后参考官方的示例添加你想要监控的目标,以下是挖站否当前用的一个监控示例。

  1. *** Probes ***
  2. + FPing
  3. #binary = /usr/sbin/fping
  4. ++ FPing01
  5. binary = /usr/sbin/fping
  6. hostinterval = 1
  7. packetsize = 50
  8. ++ FPing02
  9. binary = /usr/sbin/fping
  10. hostinterval = 1
  11. packetsize = 50
  12. ++ FPing03
  13. binary = /usr/sbin/fping
  14. hostinterval = 1
  15. packetsize = 50
  16. ++ FPing04
  17. binary = /usr/sbin/fping
  18. hostinterval = 1
  19. packetsize = 50
  20. ++ FPing05
  21. binary = /usr/sbin/fping
  22. hostinterval = 1
  23. packetsize = 50
  24. ++ FPing06
  25. binary = /usr/sbin/fping
  26. hostinterval = 1
  27. packetsize = 50
  28. +TCPPing
  29. binary = /usr/bin/tcpping # mandatory
  30. forks = 5
  31. offset = 50%
  32. step = 180
  33. timeout = 15
  34. *** Slaves ***
  35. secrets=/opt/smokeping/etc/smokeping_secrets.dist
  36. +boomer
  37. display_name=联通云上海联通机房
  38. color=ff3333
  39. +slave2
  40. display_name=腾讯云成都电信机房
  41. color=00ff00
  42. +slave3
  43. display_name=移动云北京移动机房
  44. color=ffff00
  45. *** Targets ***
  46. probe = FPing01
  47. menu = Top
  48. title = VPS主机\服务器线路质量监控
  49. remark = <p><b>对各大VPS主机、服务器、机房线路质量与网络状况进行持续性的监控,</b><b>用统计数据帮助分析出性价比最高的VPS主机与服务器。</b></p> \
  50. <p><b>图表说明:</b></p> \
  51. <p><b>一、</b>X轴表示时间,Y轴表示Ping、DNS、Curl请求响应时长,相关参数见注释。<br> \
  52. <b>二、</b>网络丢包和延迟用不同的颜色和阴影来表示,阴影块越大说明线路越不稳定。<br> \
  53. <b>三、</b>图表中曲线上不同的颜色表示丢包数、延迟不同,点击图表并勾选范围可放大。<br> \
  54. <b>四、</b>监控统计于电信、联通、移动三家网络机房,如未注明则默认本站日本机房。</p> \
  55. <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>
  56. + kr
  57. menu= 韩国
  58. title = 韩国VPS主机\服务器线路监控统计
  59. probe = FPing01
  60. remark = <p><b>这里列出了各大VPS主机\服务器商位于韩国各地机房的网络线路质量监控统计情况。通过对比我们可以一目了然地看出不同的VPS主机服务器线路质量的差别。</b></p> \
  61. <p><b>图表说明:</b></p> \
  62. <p><b>一、</b>X轴表示时间,Y轴表示Ping、DNS、Curl请求响应时长,相关参数见注释。<br> \
  63. <b>二、</b>网络丢包和延迟用不同的颜色和阴影来表示,阴影块越大说明线路越不稳定。<br> \
  64. <b>三、</b>图表中曲线上不同的颜色表示丢包数、延迟不同,点击图表并勾选范围可放大。<br> \
  65. <b>四、</b>监控统计于电信、联通、移动三家网络机房,如未注明则默认本站日本机房。</p> \
  66. <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>
  67. #parents = owner:/kr/James location:/
  68. host =/kr/kdatacenter~slave2 /kr/LG~slave2 /kr/soar~slave2 /kr/tencent~slave2 /kr/krgcore~slave2 /kr/krlightsail~slave2
  69. ++ kdatacenter
  70. menu = kdatacenter
  71. title =韩国kdatacenter VPS主机
  72. slaves = boomer slave2 slave3
  73. remark = <p><strong>图表说明:</strong> \
  74. <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> \
  75. <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>
  76. host = 211.10.17.1
  77. ++ LG
  78. menu = 韩国的LG 主机
  79. title =韩国LG DACOM机房VPS主机
  80. slaves = boomer slave2 slave3
  81. remark = <p><strong>图表说明:</strong> \
  82. <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \
  83. <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>
  84. host = 211.233.74.23
  85. ++ soar
  86. menu = soar-clouds
  87. title =soar-clouds韩国B区VPS主机
  88. slaves = boomer slave2 slave3
  89. remark = <p><strong>图表说明:</strong> \
  90. <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> \
  91. <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>
  92. host = 103.86.46.1
  93. ++ tencent
  94. menu = 腾讯云VPS韩国
  95. title =腾讯云韩国首尔机房
  96. slaves = boomer slave2 slave3
  97. remark = <p><strong>图表说明:</strong> \
  98. <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> \
  99. <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>
  100. host = 119.28.152.28
  101. ++ krgcore
  102. menu = Gcore VPS韩
  103. title =Gcore韩国首尔机房VPS主机
  104. slaves = boomer slave2 slave3
  105. remark = <p><strong>图表说明:</strong> \
  106. <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> \
  107. <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>
  108. host = 119.28.152.28
  109. ++ krlightsail
  110. menu = Lightsail韩
  111. title =Lightsail AWS亚马逊韩国首尔VPS主机
  112. slaves = boomer slave2 slave3
  113. remark = <p><strong>图表说明:</strong> \
  114. <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> \
  115. <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>
  116. host = 52.78.63.252
  117. ++ MultiHostd
  118. menu = 汇总(电信)
  119. title = 韩国VPS主机\服务器线路质量横向对比(电信)
  120. remark = <p><strong>图表说明:</strong> \
  121. <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \
  122. <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>
  123. host =/kr/kdatacenter~slave2 /kr/LG~slave2 /kr/soar~slave2 /kr/tencent~slave2 /kr/krgcore~slave2 /kr/krlightsail~slave2
  124. ++ MultiHost
  125. menu = 汇总(联通)
  126. title = 韩国VPS主机\服务器线路质量横向对比(联通)
  127. remark = <p><strong>图表说明:</strong> \
  128. <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \
  129. <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>
  130. host =/kr/kdatacenter~boomer /kr/LG~boomer /kr/soar~boomer /kr/tencent~boomer /kr/krgcore~boomer /kr/krlightsail~boomer
  131. ++ MultiHostyd
  132. menu = 汇总(移动)
  133. title = 韩国VPS主机\服务器线路质量横向对比(移动)
  134. remark = <p><strong>图表说明:</strong> \
  135. <p><b>一、</b>X轴表示时间,Y轴表示ping的响应时长。各表格上方有参数说明。<br><b>二、</b>网络丢包和延迟用颜色和阴影来表示,阴影块越大说明线路越不稳定。<br><b>三、</b>曲线上不同的颜色表示丢包数不同,点击图表并勾选范围可放大详情。</p> \
  136. <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>
  137. 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设置密码访问。

  • 微信扫码捐赠
  • 微信扫码捐赠
  • 如果帮到了您,您可以赞助我一下!
  • 支付宝扫码捐赠
  • 支付宝扫码捐赠
  • 不论多少,我都向您表示特别的感谢!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: