课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据可视化是程序员在维护软件稳定和监控软件运行状况的时候一个非常实用的监控方法,而今天我们就一起来了解一下,微服务架构如何实现可视化监控。
1、日志聚合
考虑一个应用程序包含多个服务的用例。请求通常跨越多个服务实例。每个服务实例均采用标准格式生成日志文件。我们需要一个集中式的日志记录服务,该服务可以汇总每个服务实例的日志。用户可以搜索和分析日志。他们可以配置在某些消息出现在日志中时触发告警。例如,PCF就有日志聚合器,它在应用侧从PCF平台的每个组件(router、controller、diego等)收集日志。AWSCloudWatch也是这样做的。
2、性能指标
当服务组合由于引入了微服务架构而增加时,保持对事务的监控就变得尤为关键了,如此一来就可以监控这些模式,而当有问题发生时便会发送告警。
此外,需要一个度量服务来收集有关单个操作的统计信息。它应当聚合一个应用服务的指标数据,它会用来报告和告警。这里有两种用于汇总指标的模型:
推送——服务将指标推送到指标服务,例如NewRelic,AppDynamics
提取——指标服务从服务中提取指标,例如Prometheus
3、分布式链路追踪
在微服务架构里,请求通常跨越多个服务。每个服务通过跨越多个服务执行一个或多个操作来处理请求。在排障时,有一个TraceID是很有帮助的,我们可以端对端地跟踪一个请求。
解决方案便是引入一个事务ID。可以采用如下方式:
为每个外部请求分配一个的外部请求ID
将外部请求ID传递给处理该请求链路的所有服务
在所有日志消息中加入该外部请求ID
4、健康检查
实施微服务架构后,服务可能会出现启动了但是无法处理事务的情况。每个服务都需要有一个可用于检查应用程序运行状况的API端点,例如/health。该API应该检查主机的状态,与其他服务/基础设施的连接以及任何其他特定的逻辑。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。