Data Driven Ops 
@超⼤大杯摩卡星冰乐 
2014-11-08
Agenda 
• Ops/Biz Data in VIP 
• How to Debug 
• Maths-Driven Ops
Ops Data in VIP
What We have Done
What We are Doing now 
• Full Nginx Data Into HBase for searching
Metrics Layer 
• System:Linux 
• App:Java,PHP,tomcat… 
• Biz:things about Money…
数据可视化的重要性 
• 单⼀一的⼀一个数据点不说明任何意义 
• 数据的趋势才是我们需要关注的
• 皇上---------Boss 
• 太监说的事---------数据说明的问题
太监是什么?
太监是把裸露的枯燥的数据变 
成⽼老板愿意看的,能从中看出 
内容的⼯工具——数据可视化
How to Debug
⾼高性能意味着什么 
• ⼤大量服务器 
• 分布式系统 
• ⼤大量的错误
What is Maths 
• ⾼高中数学——解⽅方程,⼏几何 
• ⼤大学数学——微积分
⼀一道题 
• ⼩小明有⼀一天想测试⼀一下⾛走路快还是骑⾃自⾏行⻋车快。如果 
你是⼩小明,你怎么测试?
控制变量法
Rule: 
Changes makes issues
纵向,横向分析问题 
• 分布式集群中某个节点出了问题
横向 
• 出问题的节点和同⼀一个集群中其他节点⽐比较
纵向 
• 出问题的节点在出问题的时间点和之前有什么区别
⽐比较什么 
• Linux Metrics 
• App Metrics 
• Log⽇日志
怎么去看⽇日志 
• 出问题的时间点附近,有没有异常 
• 灵活使⽤用awk,sort,cut,uniq。。。
数学在容量规划上的⽤用 
处
• 这次⼤大促,要⽤用多⼤大的机器才能顶得住
解⼀一个⼀一元⼆二次⽅方程 
• f(x)=ax+b 
• f(1)=3 
• f(2)=4
类线性系统的容量预测 
• ⼤大促需要多少服务器,就是寻找服务器数量和流量之 
间的关系 
• 我们使⽤用线性模型进⾏行预测
为什么是线性模型
⺫⽬目标
原理 
• 最⼩小⼆二乘拟合 
• 对于线性模型,有现成公式套
⽤用途 
• 根据现有机器的运⾏行状况,去预测未来将要碰到的问 
题
智能化报警
• 当我们看到trend,⼈人类是怎么分辨是否出问题的? 
• 能不能⽤用计算机语⾔言来表⽰示? 
• 这就是报警条件 
• 如何⾃自动⽣生成报警条件
Etsy Kale 
• skyline:extendible algorithms automatically detect 
what it means for each metric to be anomalous 
• oculus:Once you’ve identified an interesting or 
anomalous metric, Oculus will find all of the other 
metrics in your systems which look similar.
Further 
• Andrew-NG在Cousera的课程——Machine Learning
回顾 
• 数据可视化重要性 
• 横向,纵向debug问题 
• 线性模型的容量规划 
• 智能报警
Q&A
Thanks all!

2014 Hpocon 姚仁捷 唯品会 - data driven ops