David O'Brien(Xirus):指标!指标!指标!第1部分

David O'Brien最近开设了自己的公司Xirus(https://xirus.com.au),专注于Microsoft Azure Stack云产品。它们旨在在数据中心,边界位置,远程办公室和云中协调创建和启动混合应用程序。

David教给个人和公司与Microsoft Azure和Azure DevOps(以前称为VSTS)有关的所有知识,并且仍从事实践咨询和基础编码。他已连续5年获得Microsoft MVP奖(Microsoft最有价值专家),最近还获得了MVP Azure奖。作为墨尔本Microsoft Cloud和Datacentre Meetup的联合组织者,O'Brien定期在国际会议上发表演讲,将他对环游世界的兴趣与与社区共享IT故事的热情结合在一起。 David的博客位于david-obrien.net,他还发布了他的在线Pluralsight培训。

该演讲讨论了度量标准对于理解环境中发生的事情以及应用程序如何工作的重要性。 Microsoft Azure提供了一种强大而简单的方法来显示各种工作负载的指标,并且该讲座讲述了如何使用它们。

在星期日的凌晨3点,在睡眠期间,您突然醒来并显示一条短信:“超临界应用程序不再响应”。到底是怎么回事? “刹车”的原因和原因是什么?在本讲座中,您将了解Microsoft Azure为客户提供的收集日志的服务,尤其是针对您的云工作负载的指标。 David将告诉您在云平台上工作时应该关注哪些指标以及如何获取它们。您将了解开源工具和构建仪表板,结果,您将获得足够的知识来创建自己的仪表板。

而且,如果您在凌晨3点再次唤醒有关关键应用程序崩溃的消息,则可以迅速找出原因。

下午好,今天我们将讨论指标。我叫David O'Brien,是澳大利亚小型咨询公司Xirus的联合创始人兼所有者。再次感谢您来到这里与我共度时光。那我们为什么在这里?谈谈指标,或更确切地说,我将向您介绍指标,在您做任何事情之前,我们先从理论开始。



我将告诉您什么是指标,可以使用它们做什么,需要注意什么,如何在Azure中收集和启用指标收集以及什么是指标可视化。我将向您展示这些事物在Microsoft云中的外观以及如何与该云一起使用。

在开始之前,我将请您举起使用Microsoft Azure的人的双手。谁在使用AWS?我看到一些。 Google呢? ALI Cloud?一个人!精细。那么什么是指标?美国国家标准技术研究院的官方定义是这样的:“度量标准是一种测量标准,用于描述测量属性的条件和规则,并有助于理解测量结果。”这是什么意思?

例如,考虑更改虚拟机磁盘可用空间的指标。例如,给我们数字90,该数字表示百分比,即可用磁盘空间量为90%。我注意到,阅读度量标准定义的描述不是很有趣,该度量标准以pdf格式占据40页。

但是,该度量标准并未说明如何获得测量结果,它仅显示了该结果。我们如何处理指标?

首先,我们测量某物的价值,然后使用测量结果。



例如,我们了解了可用磁盘空间量,现在我们可以使用它,使用此内存等。在获得度量结果之后,我们必须对其进行解释。例如,该度量标准得出的结果为90。我们需要知道该数字的含义:可用空间量或使用的磁盘空间量(以百分比或GB为单位),网络延迟等于90 ms,依此类推,也就是说,我们需要解释该度量标准值的含义。为了使指标完全有意义,在解释一个指标值之后,我们需要确保收集多个值。这非常重要,因为许多人并不了解收集指标的必要性。 Microsoft使得获取指标非常容易,但是您必须确保已收集它们。这些指标仅存储41天,在第42天消失。因此,根据外部或内部设备的属性,您必须注意如何保存超过41天的度量标准-以日志,杂志等形式。因此,在收集之后,应将它们放置在某个位置,以便在必要时可以收集有关度量结果变化的所有统计信息。通过将它们放置在此处,您可以开始与它们有效地合作。

只有在收到度量标准值,解释它们并收集它们之后,您才能创建SLA-服务水平协议。该SLA可能对您的客户而言并不是特别重要,对于您的同事,经理,提供系统并关注其功能的人员而言,这一SLA更为重要。度量标准可以测量票证的数量-例如,您每天获得5张票证,在这种情况下,它显示了对用户请求的响应速度和故障排除的速度。度量标准不仅应表明您的站点在20毫秒内加载或20毫秒的响应速度,而且还不只是一个技术指标。

因此,我们进行对话的目的是向您详细介绍指标的本质。该指标用于查看它,您可以完整了解过程。



一旦获得指标,我们就可以保证系统99%的工作状态,因为这不仅仅是查看表示系统正在运行的日志文件。保证99%的可用性意味着,例如,在99%的情况下,API的正常响应速度为30毫秒。这正是您的用户,同事和经理所感兴趣的。我们的许多客户跟踪Web服务器的日志,而他们没有注意到其中的任何错误,并认为一切正常。例如,他们看到200 mb / s的网络速度指示器,并认为:“好,一切都很好!”。但是,要达到这200个指标,用户需要30毫秒的响应速度,而这恰恰是未测量且未收集在日志文件中的指标。同时,用户对网站加载速度非常缓慢感到惊讶,因为如果没有正确的指标,他们不知道这种行为的原因。

但是,由于我们拥有可以保证100%正常运行时间的SLA,因此客户开始表示愤慨,因为实际上该站点很难使用。因此,要创建目标SLA,您需要查看由收集的指标创建的流程的全貌。这是我与一些提供商进行持续辩论的主题,这些提供商在创建SLA时不理解“正常运行时间”一词的含义,并且在大多数情况下不向其客户解释其API的工作原理。

如果创建了服务(例如,为第三方使用的API),则应了解接收到的度量39.5的含义-回答,成功回答,以20毫秒或5毫秒的速度响应。是您必须使他们的SLA适应您自己的SLA和指标。

了解了所有这些内容之后,您就可以开始创建一个智能仪表板了。告诉我,有人使用过Grafana的交互式可视化应用程序吗?精细!我是这个开源软件的忠实拥护者,因为它是免费的且易于使用。



如果您没有使用过Grafana,我将告诉您如何使用它。谁出生于80-90年代,可能还记得关怀的CareBears幼崽?我不知道这些熊在俄罗斯有多受欢迎,但就指标而言,我们应该是相同的“爱心熊”。就像我说的那样,您需要整个系统的详细信息,它不应该只涉及在虚拟机上运行的API,网站或服务。



您必须组织最全面反映整个系统操作的那些指标的集合。你们中的大多数人都是软件开发人员,因此您的生活在不断变化,以适应产品的新要求,就像您担心编码过程一样,您应该注意度量。您需要知道度量标准如何影响您编写的每一行代码。例如,下周您将成立一家新的营销公司,并期望大量用户访问您的网站。要分析此事件,您将需要指标,并且可能需要整个面板来跟踪这些人的活动。您将需要指标来确定营销公司的成功程度和实际运作方式。例如,它们会帮助您,开发有效的CRM-客户关系管理系统。

因此,让我们开始使用我们的Azure云服务。因为存在Azure Monitor,所以在其中查找和组织度量标准的集合非常容易。该监视器集中了系统的配置管理。您要在系统上应用的每个Azure元素均启用了许多默认指标。这是一个免费的应用程序,可以直接“开箱即用”地工作,不需要任何初步设置,您无需编写任何东西并将其“拧紧”到系统中。我们将通过查看以下演示来验证这一点。



此外,可以将这些度量标准发送到第三方应用程序,例如Splunk日志存储和分析系统,基于SumoLogic云的日志管理应用程序,ELK日志处理工具,IBM Radar。的确,有一些细微的差异取决于您使用的资源-虚拟机,网络服务,Azure SQL数据库,也就是说,度量标准的使用因工作环境的功能而异。我不会说这些分歧是严重的,但是不幸的是,它们仍然存在,应该考虑到这一点。指标的包含和传输可以通过几种方式进行:通过门户网站,CLI / Power Shell或使用ARM模板。



在开始第一个演示之前,我将回答您的问题。如果没有问题,让我们开始吧。屏幕显示“ Azure监视器”页面的外观。你们中有人可以说这台显示器不工作吗?



因此,现在一切正常,您将看到监视服务的外观。我可以说这是用于日常工作的出色且非常简单的工具。使用它,您可以监视应用程序,网络和基础结构。最近,监视界面得到了改进,如果以前的服务位于不同的位置,那么现在,有关服务的所有信息都将合并到监视器主页上。

指标表是Home \ Monitor \ Metrics路径上的一个选项卡,您可以查看所有可用指标并选择必要的指标。但是,如果需要启用度量标准收集,则需要使用Home \ Monitor \ Diagnostic settings目录路径,并选中Enabled / Disabledmetrics复选框。默认情况下,几乎所有指标都处于启用状态,但是如果您需要启用其他功能,则需要将诊断状态从“禁用”更改为“启用”。



为此,请在所选指标的行上单击,然后在打开的标签上启用诊断模式。如果要分析选定的指标,则在单击“打开诊断”链接后,在出现的窗口中选中“发送到日志分析”复选框。



Log Analytics有点像Splunk,但价格便宜。通过此服务,您可以收集所有指标,日志和所需的所有内容,并将它们放置在Log Analytics工作区中。该服务使用一种特殊的KQL查询处理语言-Kusto Quarry语言,我们将在下一个演示中考虑其工作。现在,我会注意到,借助它的帮助,您可以制定有关指标,日志,术语,趋势,模式等的查询。并创建仪表板。

因此,我们标记了发送到日志分析复选框和日志面板复选框:DataPlaneRequests,MongoRequests和QueryRuntimeStatistics,以及下面在METRIC面板中的Requests复选框。然后,我们指定一个名称并保存设置。在命令行上,这是两行代码。顺便说一句,Azure Cloud外壳在某种意义上类似于Google,它也允许您在Web浏览器中使用命令行。 AWS没有同类产品,因此从这种意义上来说,Azure更加方便。

例如,我可以通过Web界面运行演示,而无需在笔记本电脑上使用任何代码。为此,我必须使用我的Azure帐户进行身份验证。然后,您可以使用例如terrafone(如果已经使用过的话),等待与服务的连接并获得Microsoft默认使用的Linux工作环境。



接下来,我使用内置到Azure Cloud Shell中的Bash。一个非常有用的东西是浏览器中内置的IDE,这是VS Code的轻量级版本。接下来,我可以进入我的错误指标模板,对其进行更改并根据需要进行自定义。



通过在此模板中设置指标收集,您可以使用它为整个基础架构创建指标。应用指标,收集并保存指标后,我们需要对其进行可视化。



Azure Monitor仅处理指标,而没有提供总体了解系统状态的机会。您可能会使用在Azure外部运行的许多其他应用程序。因此,如果您需要监视所有过程,在一处可视化所有收集的指标,则Azure Monitor将无法正常工作。

为解决此问题,Microsoft提供了Power BI工具-一种用于业务分析的综合软件,其中包括可视化各种数据。这是一个相当昂贵的产品,其成本取决于所需的功能集。默认情况下,它为您提供48种类型的已处理数据,并且与Azure SQL数据仓库,Azure Data Lake存储,Azure机器学习服务和Azure Databricks相关联。使用可伸缩性,您可以每30分钟接收一次新数据。这可能足以满足您的需求,或者如果您需要实时监视可视化还不够。在这种情况下,建议使用我在Grafana中提到的应用程序。此外,Microsoft文档还介绍了发送指标,使用SIEM的日志和事件表-可视化系统Splunk,SumoLogic,ELK和IBM雷达中的工具。

23:40分钟

要很快继续...


一点广告:)


感谢您与我们在一起。你喜欢我们的文章吗?想看更多有趣的资料吗?通过下订单或向您的朋友推荐给开发人员的基于云的VPS,最低价格为4.99美元这是我们为您发明的入门级服务器 独特类似物:关于VPS(KVM)E5-2697 v3(6核)的全部真相10GB DDR4 480GB SSD 1Gbps从$ 19还是如何划分服务器?(RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

阿姆斯特丹的Equinix Tier IV数据中心的戴尔R730xd便宜2倍吗?在荷兰,我们有2台Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100电视戴尔R420-2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB-$ 99起!阅读有关如何构建基础设施大厦的信息。使用Dell R730xd E5-2650 v4服务器花费一欧元9000欧元的c类?

All Articles