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(微软最有价值专家)奖,最近又荣获 Azure MVP 奖。 作为墨尔本 Microsoft 云和数据中心聚会的联合组织者,O'Brien 定期在国际会议上发表演讲,将他对环游世界的兴趣与与社区分享 IT 故事的热情结合起来。 David 的博客位于 大卫奥布莱恩网,他还在 Pluralsight 上发布了他的在线培训。

该演讲讨论了指标对于了解环境中发生的情况以及应用程序的执行情况的重要性。 Microsoft Azure 拥有一种强大而简单的方法来显示各种工作负载的指标,本讲座将解释如何使用它们。

周日凌晨 3 点,当你正在睡觉时,你突然被一条短信吵醒:“超临界应用程序不再响应。” 这是怎么回事? “刹车”在哪里、原因是什么? 在本次演讲中,您将了解 Microsoft Azure 为客户提供的用于收集日志的服务,特别是来自云工作负载的指标。 David 将告诉您在云平台上工作时应该对哪些指标感兴趣以及如何获取这些指标。 您将了解开源工具和仪表板构建,并最终获得足够的知识来创建自己的仪表板。

如果您在凌晨 3 点再次被关键应用程序崩溃的消息吵醒,您可以快速找出其原因。

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

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

我将告诉您什么是指标、可以用它们做什么、需要注意什么、如何在 Azure 中收集和启用指标收集以及什么是指标可视化。 我将向您展示这些东西在 Microsoft 云中的样子以及如何使用此云。

在开始之前,我将请 Microsoft Azure 的用户举手。 谁使用 AWS? 我看到很少。 谷歌呢? 阿里云? 一个人! 伟大的。 那么什么是指标呢? 美国国家标准与技术研究所的官方定义是:“度量是一种测量标准,描述测量属性的条件和规则,并用于理解测量结果。” 这是什么意思?

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

然而,该指标并没有说明测量结果是如何获得的,它仅显示了这个结果。 我们用指标做什么?

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

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

例如,我们找到了可用磁盘空间的大小,现在我们可以使用它,使用该内存等。 一旦我们收到度量结果,我们必须对其进行解释。 例如,该指标返回的结果为 90。我们需要知道这个数字的含义:可用空间量或已用磁盘空间量(以百分比或 GB 为单位)、网络延迟等于 90 毫秒等等,即,我们需要解释一下度量值的含义。 为了使指标有意义,在解释单个指标值后,我们需要确保收集多个值。 这非常重要,因为许多人没有意识到收集指标的必要性。 Microsoft 使收集指标变得非常容易,但您需要确保收集这些指标。 这些指标仅存储 41 天,并在第 42 天消失。 因此,根据您的外部或内部设备的属性,您应该注意如何保存超过 41 天的指标 - 以日志、日志等形式。 因此,收集后,您应该将它们放在某个位置,以便您可以在必要时提取指标结果变化的所有统计信息。 一旦你把它们放在那里,你就可以开始有效地使用它们。

只有在获得指标、解释并收集它们之后,您才能创建 SLA - 服务级别协议。 该 SLA 对于您的客户可能不太重要;对于您的同事、经理、维护系统并关心其功能的人员来说更重要。 该指标可以衡量工单数量——例如,您每天收到 5 个工单,在这种情况下它显示了对用户请求的响应速度以及故障排除的速度。 指标不应该只是说你的网站加载时间为 20 毫秒或响应速度为 20 毫秒,指标不仅仅是一个技术指标。

因此,我们对话的任务是向您详细介绍指标的本质。 该指标的作用是让您通过查看它可以全面了解流程。

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

一旦我们有了指标,我们就可以 99% 地保证系统正在工作,因为它不仅仅是查看表明系统正在工作的日志文件。 99% 的正常运行时间保证意味着,例如,99% 的时间 API 以 30 毫秒的正常速度响应。 这正是您的用户、同事和经理感兴趣的地方。 我们的许多客户都会监控网络服务器日志,但他们没有注意到其中有任何错误,并认为一切都很好。 例如,他们看到 200 Mb/s 的网络速度并想:“好吧,一切都很棒!” 但要达到这200,用户需要30毫秒的响应速度,而这恰恰是没有测量​​、没有收集在日志文件中的指标。 与此同时,用户对网站加载速度非常缓慢感到惊讶,因为没有必要的指标,他们不知道这种行为的原因。

但由于我们有 100% 正常运行时间的 SLA,客户开始抱怨,因为该网站实际上很难使用。 因此,要创建客观的 SLA,有必要查看由收集的指标创建的流程的全貌。 这是我与一些提供商持续存在的问题,他们在创建 SLA 时不知道“正常运行时间”一词的含义,并且在大多数情况下不会向客户解释其 API 的工作原理。

如果您创建了一项服务,例如为第三方创建的 API,您应该了解结果指标 39,5 的含义 - 响应、成功响应、以 20 毫秒速度或 5 毫秒速度响应。 您可以根据自己的 SLA 和指标调整他们的 SLA。

一旦你弄清楚了这一切,你就可以开始创建一个令人惊叹的仪表板了。 告诉我,有人已经使用过 Grafana 交互式可视化应用程序吗? 伟大的! 我是这个开源的忠实粉丝,因为这个东西是免费且易于使用的。

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

如果您还没有使用过 Grafana,我会告诉您如何使用它。 80、90后可能还记得CareBears吧? 我不知道这些熊在俄罗斯有多受欢迎,但就指标而言,我们应该是同样的“爱心熊”。 正如我所说,您需要全面了解整个系统的工作原理,而不仅仅是您的 API、网站或虚拟机中运行的服务。

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

您必须组织那些最全面反映整个系统运行情况的指标的集合。 你们中的大多数人都是软件开发人员,因此您的生活在不断变化,适应新的产品需求,就像您关心编码流程一样,您应该关心指标。 您需要知道该指标与您编写的每一行代码有何关系。 例如,下周您将开始一项新的营销活动,并预计会有大量用户访问您的网站。 要分析此事件,您将需要指标,并且可能需要整个仪表板来跟踪这些人的活动。 您将需要指标来了解您的营销活动有多成功以及其实际效果如何。 例如,他们将帮助您开发有效的 CRM(客户关系管理系统)。

那么让我们开始使用我们的 Azure 云服务。 查找和组织指标收集非常容易,因为它具有 Azure Monitor。 该监视器集中您的系统配置管理。 默认情况下,要应用于系统的每个 Azure 元素都启用了许多指标。 这是一个免费的应用程序,开箱即用,不需要任何初步设置;您不需要在系统中写入或“拧紧”任何内容。 我们将通过查看以下演示来验证这一点。

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

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

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

在开始第一个演示之前,我将回答您可能提出的任何问题。 如果没有问题,我们就开始吧。 该屏幕显示 Azure Monitor 页面的外观。 你们谁能说这个显示器不工作吗?

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

现在一切都好了,你可以看到监控服务是什么样子了。 我可以说,对于日常工作来说,这是一个出色且非常简单的工具。 它可用于监控应用程序、网络和基础设施。 最近,监控界面得到了改进,以前的服务分布在不同的地方,现在所有服务的信息都集中在监控的主页上。

指标表是 HomeMonitorMetrics 路径上的一个选项卡,您可以转到该选项卡来查看所有可用指标并选择您需要的指标。 但如果您需要启用指标收集,则需要使用 HomeMonitorDiagnostic 设置目录路径并选中启用/禁用指标复选框。 默认情况下,几乎所有指标均已启用,但如果您需要启用其他功能,则需要将诊断状态从“禁用”更改为“启用”。

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

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

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

Log Analytics 与 Splunk 有点相似,但成本较低。 此服务允许您收集所有指标、日志和您需要的所有其他内容,并将它们放置在 Log Analytics 工作区中。 该服务使用特殊的 KQL 查询处理语言 - Kusto Quarry Language,我们将在下一个演示中看看它的工作。 现在,我要指出的是,在它的帮助下,您可以创建有关指标、日志、术语、趋势、模式等的查询。 并创建仪表板。

因此,我们选中 Send to Log Analytics 复选框和 LOG 面板复选框:DataPlaneRequests、MongoRequests 和 QueryRuntimeStatistics,以及下方 METRIC 面板上的请求复选框。 然后我们指定一个名称并保存设置。 在命令行上,这代表两行代码。 顺便说一句,从这个意义上说,Azure Cloud shell 类似于 Google,它也允许您在 Web 浏览器中使用命令行。 AWS 没有这样的东西,所以从这个意义上说 Azure 更方便。

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

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

接下来,我使用内置于 Azure Cloud Shell 中的 Bash。 一个非常有用的东西就是浏览器内置的IDE,是VS Code的轻量级版本。 接下来,我可以进入我的错误指标模板,对其进行编辑并自定义它以满足我的需求。

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

在此模板中设置指标收集后,​​您可以使用它为整个基础架构创建指标。 一旦我们应用了指标、收集并存储了它们,我们就需要将它们可视化。

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

Azure Monitor 仅处理指标,不提供系统运行状况的总体情况。 您可能有许多其他应用程序在 Azure 环境之外运行。 因此,如果您需要监视所有进程,将所有收集到的指标可视化在一个位置,那么 Azure Monitor 不适合此目的。

为了解决这个问题,微软提供了 Power BI 工具,这是一款用于业务分析的综合软件,包括各种数据的可视化。 这是一个相当昂贵的产品,其成本取决于您需要的功能集。 默认情况下,它提供 48 种要处理的数据,并链接到 Azure SQL 数据仓库、Azure Data Lake Storage、Azure 机器学习服务和 Azure Databricks。 利用可扩展性,您可以每 30 分钟接收一次新数据。 如果您需要实时监控可视化,这可能足以满足您的需求,也可能不足以满足您的需求。 在这种情况下,建议使用我提到的 Grafana 等应用程序。 此外,Microsoft 文档描述了使用 SIEM 工具将指标、日志和事件表发送到可视化系统 Splunk、SumoLogic、ELK 和 IBM 雷达的能力。

23:40分钟

很快就会继续...

一些广告🙂

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的内容? 通过下订单或推荐给朋友来支持我们, 面向开发人员的云 VPS,4.99 美元起, 我们为您发明的入门级服务器的独特模拟: VPS (KVM) E5-2697 v3(6 核)10​​4GB DDR480 1GB SSD 19Gbps XNUMX 美元或如何共享服务器的全部真相? (适用于 RAID1 和 RAID10,最多 24 个内核和最多 40GB DDR4)。

Dell R730xd 在阿姆斯特丹的 Equinix Tier IV 数据中心便宜 2 倍? 只有这里 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 电视低至 199 美元 在荷兰! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 美元起! 阅读 如何建设基础设施公司同级使用价值730欧元的Dell R5xd E2650-4 v9000服务器一分钱?

来源: habr.com

添加评论