metric driven (5) – draw metrics

掌握metric基本技术生成metric原始数据后,接下来考虑的问题是:如何绘图和绘制哪些基本的图。

实际上现在一些metric方案,已经不需要考虑这个问题了,例如Metricbeat的方案,导出数据到elastic search后,所有的图形可以一次性执行一个命令(./metricbeat setup –dashboards)来绘制完,不仅包含主机层面的图,也包含常见的流行服务(redis/apache/nginx)的图像:

再如使用circonus,每个收集到的数据都可以预览,也可以直接使用“quick graph”功能立即绘制存储。

但是假设使用的metric展示系统不能自动绘制,或者自动绘制的不满足需求,这仍然需要考虑绘制的问题,首先要自问的是,不管是什么应用,我们都需要绘制哪些图?

一 系统层面

(1)CPU

(2)Load

(3)IO

(4)Disk

(5)Network

(6)Memory

其中系统层面,还可以将jvm这层纳入到这层里面,例如使用绘制出jmx观察到的所有的jvm的一些关键信息。

二 应用层面

(1) TPS:了解当前的TPS,并判断是否超过系统最大可承载的TPS.

(2)ResponseTime: 获取response time的数据分布,然后排除较长时间的原因,决策是否合并,假设有需要,做合适优化。

(3)Success Ratio :找出所有失败的case,并逐一排查原因,消灭bug或者不合理的地方。

(4)Total Count:有个总体的认识,知道每种api的调用次数和用量分布。

三 用户层面

(1)谁用的最多?

(2)用的最多的业务是什么?

(3)业务的趋势是什么?

除了上面提到的一些基本图表外,我们还可以绘制更多“有趣”图表做更多的事情:

(1) 绘制metric看:load balance是否均衡

X为主机名,Y为请求总数,不同颜色表示不同类型的请求。

 

 

发布者

傅, 健

程序员,Java、C++、开源爱好者. About me

发表评论

电子邮件地址不会被公开。 必填项已用*标注