持续监控和维护


在最近的Continuous Discussions (#c9d9) video podcast,专家小组成员讨论了monitoring and DevOps

我们的专家小组成员包括:安迪·曼,Splunk的首席技术倡导者;戴纳瑞科技策略师安德烈斯·格拉布纳;CFEngine创始人马克·伯吉斯;托尔斯滕·沃克,企业管理协会常务研究主任;保罗·里德,构建/发布工程,开发和人类因素顾问;我们自己的山姆·菲尔。

在这一集里,小组成员讨论了有效监控的体系结构和先决条件、应该监控的内容以及故障排除和故障恢复的最佳实践。继续阅读他们的见解!

有效监控的架构和先决条件是什么?

Mann推荐一种系统方法:“从系统思维的角度来考虑DevOps。你开始使用这些系统来了解你在监视什么。当你考虑开发和监控时——你构建它,你运行它。因此,您必须考虑所有这些不同的系统。”

Grabner说您需要从一开始就考虑监控:“当您谈论构建新的应用程序时,您需要弄清楚您的监控策略是什么。你如何能以一种好的方式监控所有不同的运动部件和组件,以便最终使其有意义?这就是挑战所在。”

根据,了解有效监控的规模非常重要Burgess:“如果您想从中获取有用的数据,您的监控系统必须以与您的软件相似的方式进行扩展。你还需要对你所看到的东西有所选择。”

监控包括许多不同的方面,根据Reed:“我倾向于从事件和补救的角度来看待这个空间。也许监控渗透了所有这些,通过查看您如何发现事件,您可以看到您的监控缺陷可能在哪里。然后,在进行回顾时,您会问这些对话中缺少了哪些部分。”

Volk补充说,单一窗格玻璃的概念与规模同样重要:“拥有单一窗格玻璃,全面监控,并使其成为DevOps部署流程的一部分。然后从终端基础架构中抽象出应用程序。”

Wallgren说监控应该是架构的一部分。“我认为整个监控问题的有趣之处在于它的度量标准。这是我们拥有的最大的指标来源之一,因此我们需要考虑我们要监控的是什么。”

监控什么、如何监控以及为什么监控?

Wallgren谈到语义:“就应用编程接口监控而言,我们在哪里,或者应用编程接口调用是否按照它们应该的方式运行,以及就我们所得到的而言,是否在堆栈的更高层?在接下来的几年里,我们可能会开始获得更多的机器学习或其他类型的帮助,帮助我们找到需要砍掉的那片高草。”

从操作角度看,Reed看着人们:“如果你看着你的整个系统,你一直有问题,这就像,‘我们使用一个监视器,我们做应用程序监控,做基础设施监控,等等。,嗯,也许您的IT人员已经连续两年不间断地待命了。”

DevOps表示,监控需要与重组后的团队一起进行Mann。“如果我是应收账款团队或用户界面团队的一员,我希望监控我所关心的事情。您希望能够监控该服务中的所有组件,但是您需要将它们联系在一起。我认为存在低层次的组件监控,但您需要开始监控对最终客户的影响,并从整体上看待这些影响。”

Volk讨论应用程序如何使用底层基础架构监控元素为客户提供服务,以及基础架构中可能存在问题的地方:“目前缺少的是顶层业务优先级和底层解决问题的工程师之间的联系。这一切都归结到这一点,即业务层和基础架构层的结合。”

我们需要了解如何根据Burgess:“我认为关键是,我们今天构建的与20年前相比,是多种规模的系统。我们有微观规模、集群规模、云规模、服务规模和客户规模的事情发生。此外,在设计良好的架构中,这些规模往往会相互分离。我们需要找到将这些指标分开的方法,以便我们能够了解我们所衡量的规模。”

Grabner说监控工具已经成长起来:“我认为,作为一个监控市场(供应商),我们在过去几年中了解到,我们构建的新应用程序(也需要与传统应用程序进行交互)已经发生了变化,因此监控必须进行调整。”我认为我们学到的另一件事是,我们都在向更多的平台即服务迈进。我相信我们现在都在努力将这些平台作为服务和烘焙监控的一部分。”

事情出错时该怎么办

当我们遇到一个问题时,它通常会让人们陷入恐慌状态,解释道Wallgren:“这在很大程度上是一场竞走。然后,就有点不同了,因为现在人们都在压力下努力解决问题。但是,如果你在生产开始前就进行监控,那么将会有更多的人接触到这些信息。这是我们可以帮助使其工作得更好的方法之一。”

从失败中学到了什么?建议与他人分享Grabner“关键是我们要分享我们从失败中学到的东西,然后尝试找出如何通过向左移动、添加新的测试或查看管道中相同的度量轮来自动检测特定模式,从而防止失败。然后,如果我们有任何人工智能,任何生产中的机器学习,使人工智能意识到这个问题。”

Volk“如果你在不同的企业之间进行交叉关联,并从所有这些事件中学习,你会发现很多东西,你可以用来告诉你的客户,‘看,这不是一个时间机器,但它可以防止很多问题,你不能基于集体学习来预测这些问题。’”对我来说,这是一个很大的新领域。"

尽管自动化是成功的关键,但人类在监控工作中仍然发挥着至关重要的作用Burgess“通过投射想法、假设和图像,我们可以看到一些完全出乎意料的东西,就像一瞬间的顿悟,这就是我们通常可以诊断出哪些病理性错误的原因。”

Mann,为大数据辩护:“当涉及到故障排除时,我认为大数据真的开始自行其是了,因为你确实是大海捞针。您需要考虑存储的成本效益,但同样,为了保护大数据,您只有在一开始忘记收集大数据时才会错过它。”

你可能需要考虑你对监控的定义,解释道Reed:“如果您认为自己有监控功能,但又不断遇到问题,那么问题可能实际上是您作为一名工程师或一个组织对监控空间的看法。如果你真的想了解这一切,就去拿一本In Search of Certainty’ by Mark Burgess.

Watch the full episode.

阅读原始帖子here