微服务实践:服务运维
监控与告警
监控的基本目标是掌控在生成环境中的服务运行状况,在系统发生故障后及时报警,并能够通过监控信息快速定位问题。监控的另一个目标是故障预警,在故障发生之前根据设定的规则提前感知并通知维护人员,或者自动做出运维决策。
监控所涉及的指标
- 服务器资源监控:CPU、内存、磁盘IO等信息。
- 服务性能监控:最基本的是监控服务的响应时间。
- 业务监控:监控系统还可以了解业务的状况。比如,通过对消息队列的监控,可以看到当前处理的订单数量;对生成环境中A/B的测试的监控,可以知道那种特性更受用户欢迎。对业务的监控,可以让企业的决策者更好的掌握运营的状况,并在健康数据的基础上,做出更准确的业务决策。
微服务的监控策略
对于微服务架构的系统,其监控通常由四大模块组成:数据收集、数据聚合、数据存储、数据展示。
数据收集模块采集监控信息,并将监控指标发送给数据聚合模块。这里的收集指标会多种多样,如需要分别收集对服务器、数据库、服务接口、服务依赖的组件,如ElasticSearch的监控信息。其次,数据聚合模块在接受到数据时,做进一步的聚合,在这个过程中采集服务与处理器之间可以通过消息队列进行异步处理。然后,数据聚合模块将聚合后的数据分主题存入不同的指标库,将处理结果存储至数据库。考虑到指标数据的数据量及特殊性,数据库可以选择时间序列数据库。最后,数据展示模块从数据库中读取数据,并进行展示。同时它也提供丰富的指标名搜索工具。
调用链跟踪
日志聚合