Skip to main content
QUICK REVIEW

[论文解读] Sieve: Actionable Insights from Monitored Metrics in Microservices

Jörg Thalheim, António Rodrigues|arXiv (Cornell University)|Sep 20, 2017
Software System Performance and Reliability参考文献 48被引用 11
一句话总结

Sieve 是一个平台,通过降低指标的维度并使用格兰杰因果关系推断因果依赖,从微服务的监控指标中提取可操作的洞察。它将指标数量减少 10–100 倍,将存储和 CPU 的系统开销分别降低高达 90% 和 80%,并在无需代码注入或先验知识的情况下,实现有效的自动扩缩容和根本原因分析。

ABSTRACT

Major cloud computing operators provide powerful monitoring tools to understand the current (and prior) state of the distributed systems deployed in their infrastructure. While such tools provide a detailed monitoring mechanism at scale, they also pose a significant challenge for the application developers/operators to transform the huge space of monitored metrics into useful insights. These insights are essential to build effective management tools for improving the efficiency, resiliency, and dependability of distributed systems. This paper reports on our experience with building and deploying Sieve - a platform to derive actionable insights from monitored metrics in distributed systems. Sieve builds on two core components: a metrics reduction framework, and a metrics dependency extractor. More specifically, Sieve first reduces the dimensionality of metrics by automatically filtering out unimportant metrics by observing their signal over time. Afterwards, Sieve infers metrics dependencies between distributed components of the system using a predictive-causality model by testing for Granger Causality. We implemented Sieve as a generic platform and deployed it for two microservices-based distributed systems: OpenStack and ShareLatex. Our experience shows that (1) Sieve can reduce the number of metrics by at least an order of magnitude (10 - 100$ imes$), while preserving the statistical equivalence to the total number of monitored metrics; (2) Sieve can dramatically improve existing monitoring infrastructures by reducing the associated overheads over the entire system stack (CPU - 80%, storage - 90%, and network - 50%); (3) Lastly, Sieve can be effective to support a wide-range of workflows in distributed systems - we showcase two such workflows: orchestration of autoscaling, and Root Cause Analysis (RCA).

研究动机与目标

  • 解决将高维监控指标转化为微服务管理可操作洞察的挑战。
  • 在不损失统计相关性的情况下减少监控指标数量,从而最小化监控开销。
  • 推断分布式组件之间指标的因果关系,以支持系统管理工作流。
  • 从现有监控数据中实现无监督、通用且与应用无关的洞察推导。
  • 利用推断的指标依赖关系,支持自动扩缩容和根本原因分析等关键 DevOps 工作流。

提出的方法

  • Sieve 使用指标降维引擎,通过分析指标的时间信号强度和方差,过滤掉不重要的指标。
  • 它采用基于格兰杰因果关系的预测-因果模型,推断不同组件指标之间的因果关系。
  • 系统以无监督方式运行,无需了解指标时间序列或应用语义的先验知识。
  • 它使用工作负载生成器或生产追踪,在真实世界的微服务中验证推断的因果模型。
  • 该平台部署于 OpenStack 和 ShareLatex,展示了其在多样化系统中的可扩展性和适应性。
  • Sieve 与现有监控堆栈集成,无需代码注入或对被监控系统进行任何修改。

实验结果

研究问题

  • RQ1如何在保留统计相关性的同时,自动降低微服务中监控指标的维度?
  • RQ2仅使用时间序列数据,能否推断出分布式组件之间有意义的指标因果依赖?
  • RQ3指标降维和依赖推断在真实系统中能在多大程度上减少监控开销?
  • RQ4推断出的指标依赖关系能否有效支持自动扩缩容和根本原因分析等实际管理工作流?
  • RQ5此类系统如何在各种微服务架构中实现通用化、无监督且非侵入式的部署?

主要发现

  • Sieve 在保留与完整指标集统计等价性的同时,将监控指标数量减少至少 10 倍至 100 倍。
  • 该系统在端到端系统栈中,将 CPU 开销降低高达 80%,存储开销降低高达 90%,网络使用量降低 50%。
  • 推断出的因果模型通过识别驱动资源需求的关键指标,实现了有效的自动扩缩容。
  • 该平台通过识别最早发生偏离的指标,支持根本原因分析,从而加快故障诊断速度。
  • Sieve 的方法在不同微服务系统中具有通用性和可重用性,已在 OpenStack 和 ShareLatex 上得到验证。
  • 该系统无需代码注入或先验知识,仅依赖于观测到的指标时间序列运行。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。