我们一起看一下具体的看板。
1、小程序分析首页
首页看板用于大盘投屏使用的,包括两个部分,上部分是最近 15min 的瞬时数据,大于某个经验阈值会标红显示,下部分是长期趋势,比对同比和环比,各个面板都支持下钻分析。
首页一定要清爽,列出最关心的 SLI,如 QPS/UV、慢路由请求数、异常请求数。根据时延和 ErrorCode 分布,下钻到具体的分析页面。也可以通过分析长期趋势,查看小程序整体的状态,如慢路由风险是否在增加。
2、长期趋势分析
通过首页跳转到长期趋势分析,可以查看最近 1 周/1 月/1 年的宏观趋势,这块可以结合项目上线计划,分析上线节点前后的变化,如 UV 是否有增加,慢路由是否有增多的趋势,还可继续下钻分析具体哪些路由慢了。
3、Code 异常分析
在首页可以观察异常 code 分布,下钻到具体的 code 分析页,这里模拟分析一下 code=400 量增加的场景。
整个过程其实是一个模型匹配问答的模式。
- 是否需要人工介入?假定 SLO 为 code=400 的错误率<0.5%,p = total_400_request / (total_200_request total_400_request),如 code=200 访问量是 10K,如果这时候 400 访问量达到 500 则需要人工介入排查。
- 同比环比是否具有差异性?分析当日请求判断是否具有突发性,分析一周数据判断是否具有周期性。比如每晚直播访问量就会到峰值,这个点错误率增加了可能是机器负载过高了,从而给排查提供一个方向。
- 是否具有路由差异性?是大面积无异常报错还是特定的路由异常,结合一周趋势,从而给出排查方向。
- 同理分析异常特征是否具有终端平台、微信版本、微信基础库版本、小程序版本差异性?
- 整个差异性分析的过程,其实是判断差异显著程度的过程,这里可能存在认知误区,如 iPhone 异常数比 oppo 大,很可能是 iPhone 总体访问基数大,这个时候其实是看各自长期占比趋势的。
如果判断出来特定 route_name 异常具有显著差异,可能是有突出抓取,或者业务代码异常,或者业务机器负载过高等等,这时候需要下钻分析。可下钻到”NO5.路由详情分析“,”NO6.抓取分析“。
4、慢路由风险分析