微服务监控、日志记录与部署:工具与实践指南
1. 监控的必要性与挑战
微服务是真正的分布式系统,其技术和部署拓扑结构复杂。若缺乏适当的监控,运维团队在管理大规模微服务系统时可能会陷入困境。而且,微服务会根据负载动态改变其拓扑结构,这就需要一个合适的监控服务。
- 监控的定义 :监控通常可定义为收集一些指标、预定义的服务级别协议(SLA)、聚合、验证以及遵循预设的基线值。当出现服务级别违规时,监控工具必须生成警报并发送给管理员。
- 监控挑战 :
- 数据分散 :统计数据和指标分布在许多服务、多个实例以及多台机器或容器中。
- 多语言环境 :多语言环境增加了难度,单一的监控工具无法满足所有必要的监控选项。
- 拓扑多变 :微服务的部署拓扑结构差异巨大,可扩展性、自动配置、断路器等多个参数会按需改变架构,这使得监控预配置的服务器、实例或其他监控参数变得不可能。
2. 何时发出警报
在决定是否发出警报时,一般原则是:如果某件事不会阻止客户使用系统并增加收益,那么就不值得在凌晨3点叫醒管理员。以下是一些具体情况的分析:
|情况|是否警报|原因|
|----|----|----|
|服务宕机|部分情况需要|如果是单体应用,服务宕机是巨大打击,但在微服务中,若只有单个服务实例宕机,通常不会影响整体,用户再次请求服务时功能可恢复;若多个服务宕机,则需警报。|
|内存泄漏|部分情况需要|内存泄漏难以发现,良好的微服务
微服务监控与日志实践指南
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



