厉害了我的Qunar!看我工程师写轮眼!

640?wx_fmt=jpeg


有那么一天晚上,你接听到一个报警电话,你有点隐隐的不安。 “怎么突然报警了?代码我都一个月没动过了?”

640?wx_fmt=jpeg“怎么办?” 默默地666? 不!那不符合价值观! TC 报警接踵而来,时不我待。 打开 Qtalk 问同事——改了啥?没有? 拉进来个 QA——有发布吗?没有?? 啊!友军问我是不是服务呲了,好吧,把他也拉进来吧,额……一下又进来 DEV,QA,PM 三人组。 这时,Noc 找上了门,好吧,报个故障先。 问题好奇怪啊,日志看不出问题,是不是机器有问题?还是网络有问题? @noc 机器有问题吗?网络有问题吗? 你猜对了,OPS 入群了。宿主正常、网络正常、解析正常,OPS 没做变更 我勒个去,到底哪出问题了。群里的人越来越多… (幸好我们的 Qtalk 对大群的支持一流)

640?wx_fmt=jpegnoc 在问影响范围有多大?又有人报故障了,跟你们有关系吗? 鬼知道!我哪知道谁在依赖我的服务! “我曾经改了一个 Qconfig 配置,应该没关系吧?” “擦,什么时候改的?!改的啥?!” ………… 破案了。一个配置引发的群体事件。耗时10分钟。

是的,都是我瞎编的,聪明如你处理故障怎么会如此笨拙。

不过,试想在你正在熟睡中被报警惊醒;如果你还只是个新人,遇到一个莫名问题会不会很紧张?会不会不知所措?甚至淡淡的惶恐? 人类最古老最强烈的恐惧,便是对未知的恐惧。随着人类对信息获取的多样、直接、准确,人类社会终于从蒙昧和焦虑中走了出来,沐浴在自由阳光中,如此喜乐、幸福。 同样,对于工程师来说,处理故障时最大的困惑也是对各种信息、时间掌握的不够及时、准确、也就无法利用他们经过长期逻辑训练的大脑来串联出整个故障时间线,定位问题、解决问题。 在 Qunar 的世界中,充斥了各种报警:TC 报警、业务报警、主机报警;无时无刻在发生着各种事情:发布、部署、Nginx 变更、Dns 变更、Qconfig 修改;也无时无刻的在出现各种错误。在不影响你负责的应用时你不会也无需关心他们的存在,但是当你的应用出现问题的时候是不是很想第一时间知道这些事件对你的应用有没有关联? 当你刚接手应用或者这个应用已经运行了很久,你是不是也会忘却它依赖了哪些服务?又有哪些服务依赖了它? “这台机器能回收吗? “ “好像没人用了,不过先别回收,可能有应用再用” 你跟 OPS 有过这样的对话吗?鬼知道哪些应用依赖我了。

640?wx_fmt=jpeg

现在,你不用再为信息不透明不周全而苦恼了!只需在你的浏览器中输入以下地址:http://event.corp.qunar.com 你的应用健康状况,事件关联,尽在掌握! 下面,待我给众位看官细细道来:

640?wx_fmt=jpeg

首先映入眼帘的是健康看板。这里展示的是你所负责的,有健康隐患应用。 我们姑且简单的将其按照严重从重到轻划分为:危险、异常、注意三个等级。各位一定要问了:“你是凭什么把我的应用诊断为危险的?我的应用跑的很正常啊。”不错,你的应用现在可能的确能提供正常服务,但是天有不测风云,应用也有旦夕祸福,前一分钟欢快的跑着,后一分钟就 crush 了,这种事情将一直伴随我在我们的职业生涯中。 言归正传,目前我们采用的分析指标来自公司权威的两个监控系统发出的报警,分别是 TC 的 Cerberus 和 OPS 的 Watcher,包括业务报警和机器报警,我们利用我司大数据中心提供的数据服务进行指标采集和数据分析,分析维度包括报警时长、频率、重要程度,同时关联应用的业务特性、资源使用情况等,经过一系类规则匹配和算法计算(想知道内幕吗?欢迎参与我们的数据分析规则/算法开发工作中来)计算出应用当前的健康程度。同时,我们也会将相关时段内公司级别的变更、故障罗列出来,供您参考。

640?wx_fmt=jpeg当你发现了应该有健康隐患的应用出现了,是不是很好奇它到底怎么了?不要压抑自己,去点它!哇!你看到了什么?是不是很奇妙!

640?wx_fmt=jpeg是的,我们贴心的为您提供了应用的关联拓扑关系,不用我多做介绍了吧,还有比图画更直观的吗?看看谁调用了你的应用,你的应用又调用了什么其他服务?http 调用还是 dubbo 调用?每分钟调用次数是多少?一目了然吧?是不是很惊讶你的服务如此重要,要是挂了是不是整个 Qunar 就一起挂了?你的去哪儿的未来!

640?wx_fmt=jpeg

好了,在往下看,是与你系统可能有关的各个事件,他们有的可能直接与你的应用相关,有的可能关系不大,就看你能不能从里边分析出蛛丝马迹了。你!才是你开发出的应用的王!我们为您提供各种信息作为参考,你才是做出决策的人,请相信自己! 好了,目前就这么多了。我知道你要吐槽了: 我司十余年的历史积淀才接入这么区区几个系统的事件! 只有 http 和 dubbo 调用关系,数据库调用呢,qmq/kafka 的生产/消费关系呢?我们自己开发的 rpc 调用你们怎么显示? 是的,我承认我是一直青蛙,坐在井底,并不知道你们还有很多设计的无与伦比的精妙系统在维系着我司正常工作,请大声的告诉我们!我们来接入,让更多的应用知道还有人默默地关心着他们。 请把你掌握的各种调用关系告诉我们,我们来丰富应用的拓扑图,让应用不在孤单。 朋友们,我们的系统刚刚起步,很多不足和问题,希望大家都来帮助我们、鞭策我们,一起建设出一个信息共享的、透明的、准确的Qunar 事件监控系统。 下面是不分排名先后的感谢: 感谢 OPS 提供了宝贵的运维经验,他们是 Qunar 重要的非物质资产。 感谢大数据中心提供的数据服务,有了他们冰冷的数据才能发挥出无限的能量。 感谢 TC、CM 等平台事业部各部门的大力支持,提供了各种公共事件的接入。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值