博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Haystack:GitHub的异常监控工具
阅读量:5835 次
发布时间:2019-06-18

本文共 1114 字,大约阅读时间需要 3 分钟。

对于GitHub而言稳定性和性能是非常重要的,但是和其他大部分软件应用程序一样,它也会产生异常,从Git超时这种系统级的错误到JavaScript错误这种应用级的错误都会发生,这就需要一种方式能够在错误发生的时候尽快地识别它们,然后寻找最合适的团队或者个人去处理,最终实现错误的快速响应。而就是GitHub应对这一问题的钥匙。

\\

1.png

\\

Haystack是GitHub内部的一个开发了6年的异常追踪程序,它能够持续地监控所有应用程序的健康状况,同时具备异常探测功能,GitHub使用它来监控几乎所有的面向用户的特性,包括桌面应用程序。下面是Haystack的一个典型应用场景:

\\

首先,当某个工程师通过chatops部署了新程序的时候,Hubot就会向其推送一条包含异常流水(firehose)链接的消息,通过该链接工程师能够查看新程序部署之后产生的异常信息。

\\

2.png

\\

之后,Haystack会通过一些简单的规则进行异常探测,防止不当部署和典型错误行为的发生。通过获取最后一个小时异常数的直方图Haystack能够判定最后时刻的异常数是否超出了配置的(z-score)。

\\

3.png

\\

如果发现异常数有提高,Hubot就会发送一个消息通知最后一个部署程序的工程师进行处理。

\\

4.png

\\

在发送的消息中还会包含一些对应用程序当前状态的简要分析,工程师可以通过Haystack的仪表盘查看与每条分析内容相关的详细信息,进而不断追溯并定位问题出现的原因。

\\

5.png

\\

6.png

\\

最后,如果工程师能够解决问题,他们可以创建一个拉请求(Pull Request)或者问题,并将链接拖放到Haystack让其自动地创建问题与追踪信息之间的交叉引用,以便于工程师之后在这些信息之间来回跳转。另外,如果将来类似的问题再次发生,那么工程师能够通过Haystack查看之前对该问题的讨论以及解决的方法。

\\

总的来说,GitHub能够通过Haystack了解系统发生了什么事情,什么时候发生的,应该通知哪个团队,应该从哪入手解决问题。该系统从2009年开始就已经存在了,在最近几年里GitHub又对其做了大量的改进,但是由于很多改进与一些其他的内部应用程序紧密相关,所以到目前为止Haystack依然无法开源,即便如此GitHub的这种问题处理模式依然有值得借鉴和思考的地方。如果你想了解更多与Haystack相关的信息,请点击。

\\\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群)。

转载地址:http://cbycx.baihongyu.com/

你可能感兴趣的文章
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
李娜入选国际网球名人堂 成亚洲第一人
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
SpringBoot-Shiro使用
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
解决 ThinkPHP5 无法接收 客户端 Post 传递的 Json 参数
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>