您的位置:首页 > 运维架构

监控之道 — 产品生死存亡之道

tiexueyangbiao 2020-11-18 23:05 225 查看 https://blog.51cto.com/1500695

背景

在当下互联网蓬勃发展的势头之下,可以说一个产品的生死是由用户决定,因为用户口碑的传递就像互联网产品一般也是病毒式、爆发式的传播。那么保证一个产品所有调整都能随时迎合用户的体验将是任何产品生存的唯一道路,而铺平这条道路的基石就是监控。

监控之道是一条艰辛之道,因为监控系统的搭建需要不断的精益求精。对于监控点的选择需要不断的提炼,监控系统的框架通用性、实效性以及对定制化需求的支撑程度都直接决定了一套监控系统的好坏。监控的系统的采集数据从时效上大致为两类:1、实时监控数据;2、上报统计数据。这两类数据根据其时效性分别具有不同的用途,下面将分别进行介绍。

实时监控数据

实时监控数据。这类数据一般多为服务监控数据。该类数据主要反映的是服务的实时状况。这个需要提供一套完备的监控数据实时采集系统,以及业务方可定制监控点的策略。业务方定制监控点,一般我们俗称为埋点。就是在我们比较关注的服务关键指标上加上监控点。这些关键指标点一般包括这几类:
请求总量:通过这个量一方面可以分析用户对该产品的一个使用习惯,分析流量,另一方面可以得出最佳的运维时间点和得出服务是否需要扩容的数据依据。将请求总量通过渠道或者平台等不同维度进行划分,通过这个可以得出不同通道对整个服务的影响。后续可以利用该数据指标作为试新或者AB test的流量划分依据。

超时量:通过这个数据可以反映出服务的容量是否满足现阶段的需求,是否需要扩容。同时也可以反映在类似秒杀情况下服务对突发流量的承载能力,为临时服务扩容的数量提供数据依据。

成功返回量:这个数据不用多说,必要的监控点,反馈出当前的服务质量。

服务各个错误的发生量:服务的总请求量减去服务的成功量,中间的差值就是失败的量。那么问题来了,你的服务哪出问题了。这个从代码上是无法直观分析的,服务的每个阶段都有可能出问题,这就需要我们在每个退出服务的地方加上不同的监控点。这样就可以统计处不同错误的发生量,再结合代码看为什么这个错误比较多,这样才能有的放矢地对服务的成功率进行改造。

服务的存储使用量:这个指标也不用多说,如果服务提供的是存储服务的话,那么需要标识出来目前存储了多少条数据,占用了多少存储空间。如果是缓存服务最好标识出缓存的命中量,没有命中的量。可以通过这个分析缓存的的有效利用率,以及缓存服务是否需要提供扩容。

除了上述根据业务进行定制的监控之外,还需要对服务运行的物理机器的一些通用指标进行监控。这些指标包括CPU利用率、磁盘使用率、IO调用频次等关键指标。通过对这些数据的监控,可以帮助开发人员对一些服务异常抖动情况进行分析。尤其是在由服务混跑的物理机器上尤其容易出现这种问题。
当一个工作量很大的定时作业启动时,直接吃光CPU,导致机器上其他服务的成功率下降。另外一些最简单也是最容易忽略的错误,也可以依赖这些数据对问题进行快速定位。比如磁盘已满导致日志文件写入不了,然后整个服务进程卡死在日志写入上,这种错误要是没有这些监控帮助分析可能会一时间联想不到这个问题而导致问题处理时间过长。另外有了这些监控也可以有效的帮助运维提升工作效率。

上报统计数据

上报统计数据,这类数据主要包括了用户操作数据的上报,客户端crash日志,用户请求服务的记录等。这类数据主要反馈了产品的策略和客户端的稳定性。

用户操作数据: 这类数据主要是记录了用户对APP的操作行为。通过这些行为可以分析出用户的操作链。直接可以直接反馈出用户对APP上的那些功能使用频率比较高,新用户对于引导理解能力等等。

对于高频功能我们需要减少用户操作的步骤数,尽可能提高APP的可用性。比如支付宝最常用的两个功能一个是扫码支付,一个是付码,所以这两个功能一打开APP就可以使用,对于用户来说操作成本只有一步,十分便捷。

而对于新手指引来说,这个监控更重要。可以通过分析用户的操作行为,能得出用户在新手指引的每一步的停留时间以及中断在哪一步。如果多数用户在其中某一步停留时间比较常,那么说明我们的新手指引让用户产生疑惑了,用户开始思考这个步凑的含义,这是需要我们改造的。如果用户在某一步中断了,那么这就是用户的流失点,这是APP的致命点,需要我们能尽快进行改造。否则等到产品被用户抛弃时悔之晚矣。

用户请求参数:通过对用户请求参数的抓取分析,可以分析出用户的使用习惯以及高频场景。能为后续产品运营提供数据支持。

推荐阅读:

精心整理 | 2017下半年文章目录
CAP 定理的含义
Python学习思维导图(附下载地址)
2018年五、六月技术文章目录(附全部文章目录)
图说TCP之滑动窗口和拥塞窗口

专注服务器后台技术栈知识总结分享

欢迎关注交流共同进步

码农有道 coding

码农有道,为您提供通俗易懂的技术文章,让技术变的更简单!

标签: