2014 hpocon 姚仁捷 唯品会 - data driven ops
DESCRIPTION
2014 Hpocon 姚仁捷 唯品会 - data driven opsTRANSCRIPT
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!