24小时黑客接单的网站

黑客业务,怎么找黑客,联系黑客,黑客服务,免费黑客服务QQ

监控告警满飞天,运维在家睡到自然醒...

图片来自包图网

本文阐述了 Netflix 的系统监控实践:自研 Telltale, 运行和监控成功Netflix 100 多个生产应用程序的运行状态。

难忘的经历

我相信很多操作和维护人员都有过这样的经历:监控系统的指标超过阈值,触发报警。你在半夜被紧急召唤。

半睁着眼睛,你满脸疑惑:“系统真的有问题吗,还是只需要调整报警?上次有人调整我们的报警阈值是什么时候?上下游服务有问题吗?”

鉴于这是一个非常重要的应用报警,你必须从床上爬起来,快速打开电脑,浏览监控仪表盘来跟踪问题的来源。

忙了很长一段时间,你还没有确认警告来自系统,但你也意识到,当你从大量数据中寻找线索时,时间正在流逝。您必须尽快定位警告的原因,并祈祷系统能够稳定运行。

对于我们的用户来说,稳定的 Netflix 服务很重要。当你坐下来看《养虎为患》时,你一定希望它能顺利播放。

多年来,我们从经常在深夜被召唤的工程师那里了解到了应用程序监控的痛点:

                   
  • 过多的告警
  •                
  • 滚动浏览的仪表盘太多了
  •                
  • 太多的配置
  •                
  • 过多的维护

Telltale

我们的流媒体团队需要一个新的监控系统,让团队成员快速诊断和修复问题;因为在系统报警的紧急情况下,每一秒都很重要!

我们的 Node 团队 需要一个仅需一小撮人就能运维大型集群的系统。因此,我们构建了 Telltale。

Telltale 监控时间轴

Telltale 的特点如下:

收集监控数据源,创建整体监控视图:Telltale 收集各种监控数据源,创建应用程序运行状态的整体监控视图。

多维度判断应用程序的健康状况:Telltale 不需要根据单个指标频繁调整报警阈值,就可以通过多个维度来判断应用程序的健康状况。

及时报警:因为我们知道应用程序在什么情况下正常,当应用程序有异常趋势时,可以及时通知应用程序的所有者。

显示关键数据:指标是了解应用程序运行状态的关键。但很多时候,你有太多的指标、图表和监控仪表盘。Telltale 只显示应用程序和上下游服务的有用数据。

用颜色来区分问题的严重程度:我们用不同的颜色来表示问题的严重程度(除了选择颜色,还可以让 Telltale 显示不同的数字),使运维人员一眼就能判断应用程序的运行状态。

高亮提示:我们还会对一些监控事件进行高亮提示,比如局部区域的网络流量疏散及就近的 服务部署,这些信息对于全面了解服务的健康情况至关重要,尤其是在真正发生系统故障的情况下。

这是我们的 Telltale 监控。它已成功运行并提供监控服务Netflix 100 多个生产应用程序的运行状态。

健康评估模型应用程序

微服务不是孤立存在和运行的。它需要特定的依赖,与其他服务进行数据交互,甚至位于不同的 AWS 区域。

上面的调用图是比较简单的图,涉及到很多服务,实际的调用链可能会更深更复杂。

应用程序是系统生态的一部分,其运行状态可能受到相关属性变化的微弱影响,也可能受到区域内某些事件的影响。

canary 的启动可能会对应用程序产生一定的影响。在一定程度上,上下游服务的部署也会产生一定的影响。

Telltale 利用多维数据源构建不断自我优化的模型来监控应用程序的健康状况:

                   
  • Atlas 时序指标
  •                
  • 区域网络流量疏散
  •                
  • Mantis 实时流数据
  •                
  • 基础设施变更事件
  •                
  • Canary 部署使用
  •                
  • 上下游服务的运行状况
  •                
  • 表征 QoE 相关指标
  •                
  • 报警平台发出的报警

不同的数据源对应用程序健康有不同的影响。例如,与错误率的增加相比,响应时间的增加对应用程序的影响要小得多。

有许多错误代码,但一些特定的错误代码比其他错误代码有更大的影响。在服务下游部署 canary 可能不如上游部署有效。

区域网络流量转移意味着一个区域的网络流量降至零,而另一个区域的网络流量将加倍。

您可以感受到不同指标对监控的影响。监控指标的具体含义决定了如何科学有效地使用它进行监控。

构建应用程序健康状况视图时,Telltale 考虑所有这些因素。应用程序健康评估模型是 Telltale 的核心。

智能监控

每个服务运维人员都知道调整报警阈值的难度。如果阈值设置得太低,您将收到大量虚假报警。

过度补偿和放宽报警阈值会导致重要的异常警告。最终的结果是对报警缺乏信任。Telltale 可以帮助您避免不断调整相关配置的繁琐工作。

为应用程序所有者提供准确、严格的使应用程序所有者更容易设置和配置过程。

这些数据源应用于程序配置中,以实现最常见的服务类型配置。

Telltale 可以自动跟踪服务之间的依赖关系,在应用程序健康评估模型中构建拓扑。

通过数据源管理和拓扑监控,配置可以保持最新状态,而无需付出巨大努力。一些需要手动练习的场景仍然支持手动配置和调整。

我们所有的监控场景都没有独立的算法。因此,我们采用了混合算法,包括统计算法、基于规则的算法和机器学习算法。

不久之后,我们 Netflix Tech Blog 发表一篇关于我们监控算法的文章。

Telltale 还有一个可用于趋势检测或内存泄漏监测的分析器。智能监控意味着我们的用户可以信任我们的监控结果。

这表明用户可以更快地定位和解决系统异常问题。

智能告警

智能监控必然会促进智能告警。当 Telltale 当检测到应用程序中的异常运行时,会发生异常事件。

团队可以选择通过 Slack、电子邮件或 PagerDuty(均由我们的内部报警系统支持)报警。

如果异常问题是由上游或下游系统引起的, Telltale 上下文感知路由将提醒服务对应的维护团队。

智能报警也意味着运维团队只会收到特定异常的通知,也就是说,报警风暴已经成为过去。

Slack 中的 Telltale 通知示例

当系统出现问题时,掌握准确的信息至关重要。我们的 Slack 报警程序还将启动包含相关事件上下文信息的线程,提供 Telltale 识别到的异常问题信息及问题产生的原因。

正确的上下文可以方便我们了解应用程序的现状,使值班操作和维护工程师能够有针对性地定位和修复问题。

异常报警事件将继续发展,并有自己的生命周期,因此及时更新事件状态非常重要。异常报警是改善还是恶化?是否应考虑新的监控信息或事件?

Telltale 在当前事件发生变化时会更新 Slack 线程。系统返回正常状态后,线程将标记为“已解决”,因此,用户一眼就能知道哪些异常事件正在处理中,哪些异常事件已经成功修复。

这些 Slack 线程不仅适用于 Telltale。该团队还可以利用它们共享其他相关事件的数据,以便进一步观察、理论分析和讨论。

异常信息数据和讨论全部集中在一个线程中,方便达成针对当前异常的共识,有利于更快提出问题的解决方案以及异常事件的事后分析。

我们致力于提高 Telltale 报警质量。一种方法是向我们的用户学习。因此,我们在 Slack反馈按钮在消息中提供。

用户可以告诉我们,以后有些情况不需要报警,或者提供一些不合理的原因。智能报警意味着用户可以信任我们的报警。

在 Slack 的 Telltale 通知中描述异常详细信息的示例

为什么我的应用服务运行不好?各种监控数据、应用程序相关知识和跨服务数据的相关性有助于 Telltale 检测分析了应用程序运行健康度下降的原因。

这些原因包括例子异常、监控和部署相关依赖异常、数据库异常或网络流量高峰。突出这些可能的原因可以帮助操作和维护人员节省大量宝贵的时间。

管理异常事件

Telltale 异常事件摘要的示例

当 Telltale 发送报警时,它还会创建一张引用异常监控信号数据的快照。随着新监控信息的到来,它将被添加到快照中。

这简化了团队的许多事后审查过程。当需要审查过去的异常问题时,“摘要应用程序事件”该功能可以从各个方面显示当前的问题,包括键指标,如总停机时间和 MTTR(平均解决时间)。

为了提高我们服务的整体可用性,我们希望帮助我们的团队了解更多异常事件的模式。

在集群视图下,集群视图下分组

部署监控

可以看出,Telltale 的应用程序健康评估模型及其智能监控功能非常强大,因此我们也将其应用于安全部署。我们从开放源码交付平台 Spinnaker 开始测试。

随着 Spinnaker 逐渐推出新版本,我们使用 Telltale 连续监控新版本运行实例的运行状态。

持续监控意味着当出现问题时,新部署可以自行停止并回滚。这意味着当部署出现问题时,影响半径小,持续时间短。

持续优化

在复杂的系统中,运行微服务非常具有挑战性。Telltale 的智能监控和报警功能可以帮助我们的操作和维护人员提高系统的可用性,降低操作和维护人员的劳动强度,减少半夜醒来的频率。

我们为 Telltale 很高兴提高这些功能。但还远未结束,我们仍在探索新算法,以提高报警的准确性。

我们将在以后的 Netflix Tech Blog 本文详细介绍了我们的工作进展。我们仍在进一步评估和改进应用程序健康评估模型。

我们相信,服务运行日志和跟踪数据将包含更有价值的信息,以便我们能够收集更有用的指标数据。我们期待着与平台上的其他团队合作,共同开发这些新功能。

引入 新的应用监控Telltale 可以享受到很好的服务体验,但是无法很好的进行扩展,所以我们绝对可以优化和提高自服务的用户界面。

我们相信,有更好的启发方法可以帮助用户找出一些影响服务健康的因素。Telltale 简化了对应用程序的监控。

作者:Andrei Ushakov

陶家龙

出处:http://7t4z2.cn/2Oa14

   
  • 评论列表:
  •  边侣涴歌
     发布于 2022-06-20 07:41:58  回复该评论
  • 源,创建应用程序运行状态的整体监控视图。多维度判断应用程序的健康状况:Telltale 不需要根据单个指标频繁调整报警阈值,就可以通过多个维度来判断应用程序的健康状况。
  •  可难猫爷
     发布于 2022-06-20 13:48:33  回复该评论
  • 维护人员节省大量宝贵的时间。管理异常事件Telltale 异常事件摘要的示例当 Telltale 发送报警时,它还会创建一张引用异常监控信号数据的快照。随着新监控信息的到来,它将被
  •  鸽吻孤央
     发布于 2022-06-20 17:14:16  回复该评论
  • 。半睁着眼睛,你满脸疑惑:“系统真的有问题吗,还是只需要调整报警?上次有人调整我们的报警阈值是什么时候?上下游服务有问题吗?”鉴于这是一个非常重要的应用报警,你必须从床上爬起来,快速打开电脑,浏览监控仪表盘来跟踪问题的来源。忙了很长一段时间,你还没有确认
  •  孤鱼桃靥
     发布于 2022-06-20 15:19:39  回复该评论
  • 提高我们服务的整体可用性,我们希望帮助我们的团队了解更多异常事件的模式。在集群视图下,集群视图下分组部署监控可以看出,Telltale 的应用程序健康评估模型及其智能监控功能非常强大,因此我们也将其应用于安全部署。我们从开放源码交
  •  拥嬉冬马
     发布于 2022-06-20 09:42:46  回复该评论
  • elltale 很高兴提高这些功能。但还远未结束,我们仍在探索新算法,以提高报警的准确性。我们将在以后的 Netflix Tech Blog 本文详细介绍了我们的工作进展。我们仍在进一步评估和改进应用程序健康评估模型。我们相信,服务运行日志和跟踪数据将包含更有价值的信息,

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.