«

»

Aug 17 2015

Need For Ping

这个一直在维护的项目终于成型了。

排版依旧是很丑……没啥艺术细胞……

Github项目地址:Need For Ping

简介

项目Need For Ping的最终项目,今后所有关于Need For Ping的项目均在此项目中更新。

本项目主要用于对网络稳定性的检测,可用于对不同提供商、不同区域的虚拟主机、VPS等网络稳定性的对比。

项目采用了thinkphp作为框架编写,并使用highcharts作为图表展示。服务器端需要php、mysql服务和linux环境,客户端则几乎对浏览器没有限制。

工作原理

项目工作方式是定时ping远端主机,收集丢包率和延迟,并用图表展示。

软件截图

Need For Ping

代码组成

Bash部分

Public\shell下的shell文件负责每2分钟向目的机ping 100个包,收集延迟和丢包率,并保存到mysql数据库中

  • needforping.conf负责保存shell所需的配置参数
  • needforping.sh负责读取serverlist并调用goping
  • goping.sh负责收集延迟和丢包率,并保存到临时文件中
  • readline.sh负责将临时文件中的数据转换成为mysql数据
js部分

Public\js下的javascript文件负责数据查询入口和展示

  • getquery.js负责ajax查询入口
  • draw_LATENCY.js和draw_LOSS.js负责绘制图表框架
  • draw_charts负责图表数据绘制
  • highcharts 是开源js图表库
php部分

Application\Home\Controller下的php文件负责数据库查询

  • IndexController.class.php负责读取查询列表
  • QuerydbController.class.php负责返回查询数据
html部分

Application\Home\View\Index下的html文件负责界面展示

  • index.html负责首页展示

项目展示

临时Demo 这是一台用旧笔记本改造的linux服务器,网络的稳定性会影响展示效果。以后会提供稳定的服务器做参考

更多细节与更新,请参见Github项目地址:Need For Ping

5 comments

Skip to comment form

  1. 洛城东华

    右边新浪微博的Widget Title忘改啦~

    1. 石樱灯笼

      好眼力!

  2. 土木坛子

    支持。
    这服务本身,网上有很多类似的替代。

    1. 石樱灯笼

      网上是有很多类似功能的替代品。我做这么个玩意主要也是提供一个思路,顺便给自己练练手。
      网上多数的类似项目,都各有各的局限性,并不是万能的。我这个也只是有图形化的优点而已。但是只有icmp的ping做检测,还无法体现真实流量的情况。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据