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

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):指标!指标!指标!第1部分

由于幻灯片会太大,因此我更喜欢演示。考虑如何可视化监视,并从“监视指标”选项卡开始。正如我提到的,这很容易。您需要做的就是在“资源组”下拉菜单中指定使用的资源,并在“资源类型”菜单中指定资源类型。在我们的案例中,我选择了所有72种类型的指标。



幸运的是,大多数云服务都在虚拟机上运行,​​我也这样做。默认情况下,Microsoft在此虚拟机上向我们显示主机指标。特别是,我们可以看到过去24小时以15分钟的测量间隔通过此VM的流量。您会看到我们为该指标提供了一个很棒的仪表板。这不是一个非常高级的指标,除了查看以兆字节为单位的传出流量外,我们无法对其进行任何处理。这里的工具包括:添加有关限制的新规则的能力以及将该指标附加到仪表板的能力。
使用虚拟机的人应该知道什么是Telegraf,这在RESORCE行中指示。这是用Go语言编写的开源TING插件,旨在从安装它的系统中收集指标或数据。 Telegraf将收集的指标传递到InfluxDB数据库。该跨平台插件可在Windows和Linux上使用。



就像我说的那样,默认情况下,Microsoft Azure Monitor使用虚拟机的虚拟机监控程序指标,这在METRIC NAMESPACE行上显示。在AWS中也是如此。由于我从未使用过GSP云平台,因此我无话可说。因此,我选择Telegraf作为资源,并指示他将该指标传输到Sum监视器。



我可以转到“ METRIC”列表,然后选择显示的更多指标。例如,现在我选择了usage_steal指标(使用拦截)。有谁知道它是什么?



你们中有多少人和邻居一起住在一个公寓里,他们喜欢大声地听音乐?好的,usage_steal是一个指标,显示了云邻居如何影响您的操作系统。许多人忘记了他们在公共云环境中运行其应用程序。在GCP,AWS和Azure中,提供商都将您置于共享基础架构上。您与其他用户共享基础架构-虚拟机,应用程序,API。这并不意味着他们有权访问您的数据,但是它们会影响您的应用程序,因此您应该意识到这一点。如果您不知道这种影响,那么您的应用程序可能会在工作中遇到一些困难。如果您不收集usage_steal指标,您将不会知道您的应用程序可能会受到外部影响。假设您启动程序后,一切正常,没有错误,但是突然发生了一些事情,应用程序崩溃了。这种情况经常发生,并且取决于您使用的虚拟机类型以及提供商在每个主机上放置的相同类型的虚拟机数量。您的程序可能会受到此基础结构的不利影响。

防止这种情况发生的唯一方法有两种:第一种是等待一切独立完成,第二种是将虚拟机部署在另一个虚拟机管理程序的主机上。但是,要做出决定,您必须通过收集适当的指标来意识到这一点。如您所见,使用usage_steal指标时,监视器未显示任何活动,这可能是因为我没有运行大量应用程序。

因此,我们可以通过在其上放置选定指标的监视器来创建自己的仪表板。该面板可以与其他用户共享,我通常建议我的客户创建这样的面板,并将其放置在办公室的大屏幕上,以便所有员工都可以看到。



每天早上,上班后,任何人都可以看着这样的屏幕,了解系统发生了什么。例如,您可以看到已经修复了500个HTTP连接错误,而没有等待客户端通知您,而是找出了发生这些错误的原因并解决了您网站的问题。

更高级的监视功能是收集百分位数。例如,仅了解CPU的平均性能可能不够,因为不同的应用程序对处理器的负载不同。



百分位数使您了解全球正在发生的事情。假设99个百分位数为200毫秒。这意味着您所有请求中有99%的响应时间最长为200毫秒,这也意味着1%的客户收到的响应延迟超过200毫秒。

根据您的SLA的内容,请记住我们一开始所说的内容,您应该考虑这一事实。实际上,大多数情况下,您会注意平均值,而不是考虑百分位数。平均值本身“隐藏”了这种偏差。

考虑一下我们如何获得这些价值。事实是Azure Monitor不计算任何内容。您可以获取最大值或最小值的平均值,但如果需要通过计算获得更多高级指标,则应使用对数分析。日志分析使用KQL语言,这是Azure“开箱即用”的一项非常有用的功能。



如果查看此度量标准,则可以看到资源提供程序是Microsoft.SQL,它本身称为“ dtu_consumption_percent”,并且参与了百分位数的创建。这可能不适用于您的工作流程,但是您应该知道Log Analytics模块提供了此功能。因此,如果需要更高级的指标计算,则可以使用分析。没错,您必须为此付费。默认情况下,该工具允许您每月免费处理多达5 GB的数据,但是,我知道每分钟使用5 GB的客户端。因此,每月5 GB可能还不够。

在屏幕上,您会看到一个指标,显示我当前正在使用20 MB。由于这是一个演示环境,因此获得的数据量非常小。正如我所说,Logs Analytic可以立即使用,每月免费处理多达5 GB的数据,并将其存储41天。有必要为超出这些数量而付费,但是,以我的经验,此服务仍比Splunk或Sumo等类似的第三方产品便宜。

让我们继续来看Grafana,它具有Azure Monitor的插件。它于几周前在0.2版中发布。借助此插件,您可以将Grafana用于指标。我更喜欢在App Services上部署Grafana,因为可以在此处使用容器。这使我可以在笔记本电脑上运行应用程序。为此,我运行以下命令行:



之后,我可以快速测试某些内容或向客户展示一些内容。
在Azure环境中部署Grafana也需要一行内容,我将其分为4部分,以便可以在一个屏幕上看到它。



Azure具有所谓的“容器结构”,例如AWS,相当于类似的Google结构。这是一个可以在多个容器中分布的容器映像。我重点介绍的团队与Azure Monitor同时启动了Grafana。在监视器环境中部署Grafana大约需要30秒。



我可以通过基础结构代码执行相同的操作:



详细信息可以在我的Twitter上找到,稍后我将与我联系。扩展名为.yaml的文件指示如何使用容器映像以及如何使用它。这里有很多代码行,我需要向下滚动窗口才能看到它。该文件由Grafana部署在Azure平台上。





因此,我在笔记本电脑上转到Grafana,并显示我创建的仪表板。我仍然无法做的一件事就是将Telegraf指标传递给Grafana。不幸的是,这些在虚拟机中运行的有用指标尚未在Grafana中显示。 Microsoft正在解决此问题,我们可能会在Telegraf和Grafana的新版本中看到结果。目前,我们可以使用Telegraf在Metric行的下拉菜单中默认提供的管理程序指标。在虚拟机上,可以创建Grafana缺少的各种自定义指标,然后将它们粘贴到此应用程序中。如果可以将自定义指标放置在Azure指标套件中,则可以完成此操作。





客户经常问我应该使用什么? Grafana可以直观地显示各种过程的指标,而Azure允许您执行更复杂的指标计算。在后一种情况下,您可以“开箱即用”获得大量指标,但是Azure仅显示Azure指标。因此,选择取决于您执行的任务。您可以为您的网站,数据库,可部署的应用程序创建指标,将它们集成到Grafana中并创建一个庞大的信息面板。不幸的是,您将无法使用Azure做到这一点,并且我认为Microsoft不会打算将Azure的功能扩展到这样的程度。

但是,我建议您开始专门使用Azure创建仪表板,因为今天使用少量应用程序,您就已经可以使用Azure指标,这比什么都不做要好。

因此,我们对Azure Monitor指标的了解即将结束,我想介绍一下自己。我的名字叫David O'Brien,我的Microsoft MVP身份意味着我花了大量时间谈论Azure和使用此服务的培训。



我有自己的公司,我们在世界各地组织培训课程,讨论各种Microsoft产品,包括云服务。您可以在Twitter上看到我的联系人,在那里我通过博客非常活跃。您无需拍摄这张幻灯片,只需记住Xirus网站的地址即可。您可以提出您的问题!

问题:指标非常重要,但是您能对日志管理说些什么?

答:原则上,在Azure中管理日志类似于管理指标。您还可以将它们放置在存储库中,然后将它们发送到Log Analytics,然后使用此应用程序以与度量相同的方式处理日志。您可以收集日志并将其存储在机器外部,将其放置在容器中,然后将它们集中放置在正确的位置。

问题:这可以自动还是以编程方式完成?

答:以任何方式。让我们回到Azure Cloud Shell-您可以看到,在“指标”部分中,有一项服务可以将指标显示为日志。例如,我可以创建一个错误模板并告诉该服务:“请在此处发布这些日志”。在此演示过程中,我向您展示了使用Azure的简单选项,但是,在实际条件下,请使用这些模板。您可以通过CLI命令行界面或任何其他方便的方式使用此方法。如果您不想编写模板和JSON,则可以使用开放引擎编写HTTL模板,Microsoft允许这样做。



没有更多问题?感谢您与我共度时光!


一点广告:)


感谢您与我们在一起。你喜欢我们的文章吗?想看更多有趣的资料吗?通过下订单或向您的朋友推荐给开发人员的基于云的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