线上服务器公共词典更新时间监控


**引言:**现如今,对于互联网服务来说,尤其是对于需要几百台服务器的大型服务如搜索引擎,服务器配置文件更新是否及时及准确,极大的影响了服务的性能质量。为了避免这种问题,本文以搜索算法服务器日更新词典文件的更新时间监控为例,讲述一下笔者的监控方法。

  与笔者上一篇【Jenkins之线上全服务器配置文件对比】不同,本篇内容的关键点在于不需要配置jenkins测试机或跳转机与线上所有服务器间的免密协议。本测试主要以公共接口为出发点,只需要保证测试机与服务器间连通即可。

  假设线上有200台服务器,现要监控每台服务器多个日更新词典文件是否正常更新,笔者的做法如下:

  第一步,以数据库的形式维护需要监控的词典文件,包括文件名与路径、文件负责人等,此处做了前端页面以方便维护及查看,如下:

  第二步,在装有mysql的测试机上写公共查询接口,该接口根据服务器名称查询该服务器所属的类别(算法服务器)需要监控的词典名称及路径(如上图),以便提供给线上服务器的脚本来调用,接口如下:

   第三步,通过内部工具等方法将查询及入库脚本放到所有的线上服务器上,该脚本负责调用第二步的接口,查询该线上服务器需要监控的词典的更新时间并入库(入库接口同样写成公共的)。

   第四步,在测试服务器上写定时执行的监控脚本,该脚本从上一步的服务器词典更新时间表中查找当日没有更新的词典及其服务器列表,发送报警邮件或者页面展示某服务器上某词典的更新频次。

发送邮件:

页面展示:

是不是很方便?这只是词典更新时间的监控,其他包括词典大小、词典一致性等监控也可以如法炮制。

本篇文章到这里就结束了,希望带给大家更多的启发。


Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!


陪伴是最长情的告白

每日为你推送最in的测试技术

识别二维码

关注我们