5.3 平台网站业务稳定性保障
平台网站业务作为业务的基础建设、公司的门面,其稳定性保障也是至关重要
的。本章将对平台网站业务的稳定性建设工作进行介绍。
5.3.1监控预警体系建设
平台网站业务一般会存在业务高峰和低谷,但是从用户体验角度来讲对外提供服务的时间段必须是24小时正常提供服务,那么一套完整的监控预警体系就非常有必云上业务稳定性保障实践白皮书 64云上业务稳定性保障实践白皮书
要了,监控作为运维的眼睛,报警机制帮助提前干预避免重大灾难发生。
1.需要监控什么
从目的性出发,监控需要帮助及时发现业务出现了什么问题,所以至少需要从三个层面来做监控:
•运维底层资源监控,比如CPU,内存,RT,磁盘,流量等,需要底层资源一旦出现瓶颈就能及时的报警出来,快速的判断业务请求是否合理,如果合理及时进行资源扩容,如果不合理需要针对异常请求,比如攻击进行封禁,对于问题请求进行优化以保障平台网站的正常运行。
•应用层面的监控,比如安全,高可用探测,数据一致性的监控,通过应用层面的监控能够快速帮助发现应用是否存在隐患及时进行干预。
•业务层面监控,这块属于难度比较高的部分,但是对于业务发现问题又至关重要,比如接口的成功率,平均耗时,错误码,核心功能可用性探测等。
最后的一类监控可能使用的并不是非常广泛,不过也还是比较重要的,平台网站为了确保不同地域,不同网络环境用户正常使用,还需要部署拨测监控报警机制,方便能够检测不同场景的访问异常,这种监控更多的依赖拨测点的能力建设,成本相对较高,当拨测点越多覆盖范围越全面,业务收益也就越大。
2.监控怎么做
最常见的是直接依赖云上的agent采集获取对应的指标,通过云上已有的云监控能力可以按照业务需求获取需要的监控指标,依赖对应的云监控报警能力快速实现报警。另外就是开源产品Prometheus+Grafana来进行配置,大致架构图如下:
Prometheus server -- 监控系统的server端
jobs/exporters -- 采集数据的基础服务
Pushgateway -- 数据上报的一个中转服务,上边举例里说的中转服务就是指它
Alertmanager -- 预警模块
TSDB和PromQL -- 存储和查询
3.监控的目标
对于监控体系的建设,一方面主要的目标在于能够帮助业务提前发现问题,在灾难来到之前进行及时干预,另外一方面也能够让维护者调查起来有可以参考的指标,类似于大夫需要给病人做望闻问切和各种仪器检查来帮助病人确定病情一样,通过监控指标能够帮助快速的看到平台网站各个环节可能存在隐患,还有就是同样可以提供业务方一些指标参考评估业务运行模型,了解哪些因素会增加网站的访问量,对网站做更进一步的模型观测。