Azure实践之Azuremonitor简介及如何为北二东

各位好,今天继续来讨论关于Azure平台的技术问题,这次我们来讨论关于监控的话题,各个云平台都会为用户预留获取监控数据的接口,Azure也不例外,拿最基础用法来说,用户可以从Azure Portal中获取所需要的监控信息,比如Azure虚拟机的磁盘IO,CPU百分比,内存等,除此之外,还可以通过定义各种action,针对监控到的数据进行一系列的操作,比如发送email,调用

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了尉犁免费建站欢迎大家使用!

首先来简单介绍Azure中用来做监控的功能叫做Azure monitor, Monitor的功能非常非常强大,不光可以收集各种log,同时还可以将log对接到包括powerbi, eventhub等多个平台,之后利用平台的功能,对log进行一些展示和分析的工作。

总体来说,可以通过这张架构图来了解Azure monitor的整体架构

Azure实践之Azure monitor简介及如何为北二东

可以看到,monitor支持以下几种source,涵盖到包括应用程序、应用程序依赖的任何操作系统和服务,直到平台本身

· 应用程序监视数据:有关编写的代码的性能和功能的数据,不管平台是什么。

· 来宾 OS监视数据:有关运行应用程序的操作系统的数据。 此应用程序可以在 Azure 中运行,也可以在其他云中或本地运行。

· Azure资源监视数据:有关 Azure 资源的操作的数据。

· Azure订阅监视数据:有关 Azure 订阅操作和管理的数据,以及有关 Azure 本身运行状况和操作的数据。

· Azure租户监视数据:有关租户级 Azure 服务(例如 Azure Active Directory)操作的数据。

而Azure Monitor收集的数据主要可以分为两种类型,Metric以及Log,Metric主要指的是各种指标数据,类似于磁盘IO,CPU,network等,Log则包含各种事务日志,包括.NET, SQL,IIS等多种不同类型。

信息收集完毕后,根据对接平台的不同,则可以实现不同的功能,举例来说,如果将monitor对接到Azure Dashboard,则可以在Portal中根据需求定制不同的图表来对monitor得来的数据进行展现

Azure实践之Azure monitor简介及如何为北二东

如果对接到Power BI,则可以有更丰富的图表展现方式,可以更灵活地根据需要展示分析结果

Azure实践之Azure monitor简介及如何为北二东

这里就不详细说明了,下边首先来举例说明,如何查看VM的监控数据,查看VM监控数据非常简单,选择好VM后,可以看到右下角会出现一些图表,Azure默认就会监控一些基本的数据,比如network,CPU等,需要注意的是,这些数据属于是host level的,也就是通过宿主机获取到的监控数据,和在VM内部获取的数据实际上并不是完全一致的,比如network数据,在host和在VM内部得到的监控数据,很有可能就不一致,这是因为Azure对于host level以及VM Level network的监控数据计算方式是不一样的,具体可以后续再谈

Azure实践之Azure monitor简介及如何为北二东

Host level监控有一个很大的弊端就是,如果我们想看内存数据,host level的监控是看不到的,需要我们手动开启guest level 监控,开启方法很简单,首先点击VM,然年选择diagnostics settings,可以看到如果没有开启guest level monitoring的话,这里会看到enable guest level monitoring的选项,直接点击即可开启

Azure实践之Azure monitor简介及如何为北二东

开启之后如果想要查看内存数据,首先点击metrics,然后metric namespace这里选择virtualmachines

Azure实践之Azure monitor简介及如何为北二东

然后在metric里选择Commit byte in use,即可看到内存数据

Azure实践之Azure monitor简介及如何为北二东

在此基础上,如果想实现监控报警功能,则可以点击左侧alerts(classic),之后选择add metric alert

Azure实践之Azure monitor简介及如何为北二东

输入基本信息后,可以选择想要针对哪个metric设置报警,比如可以针对CPU的使用情况进行报警,可以选择processor time

Azure实践之Azure monitor简介及如何为北二东

Azure实践之Azure monitor简介及如何为北二东

之后再设置报警的条件,比如可以设置5分钟内,CPU使用率超过80%,则发邮件通过用户abc@abc.com,设置完成后alert即会生效

Azure实践之Azure monitor简介及如何为北二东

这是标准创建alert的流程,但是在东二和北二区,目前Portal的这个功能还未支持,通过portal创建alert会收到以下提示

Azure实践之Azure monitor简介及如何为北二东

但是这并不代表这个功能无法使用,我们可以通过powershell创建alert,比如内存5分钟内超过80%即报警,并发送邮件给abc@abc.com,则可以通过以下命令实现

$actionEmail = New-AzureRmAlertRuleEmail -CustomEmail "abc@abc.com"

Add-AzureRmMetricAlertRule -Name MemoryAlert -Location "ChinaNorth" -ResourceGroup "abc" -TargetResourceId "/subscriptions/5d666915-fc5f-4ee8-b26a-d98jkjkl22134/resourceGroups/mmm/providers/Microsoft.Compute/virtualMachines/vm01" -MetricName "\Memory\% Committed Bytes In Use" -Operator GreaterThan -Threshold 80 -WindowSize 00:05:00 -TimeAggregationOperator Average -Action $actionEmail

需要注意的是,我的VM是在北二区,但是这个powershell里的location写的却是北一,这并不是一个typo,而是之前提到的东二北二无法创建alert的workaround,所以这里的location是不能被修复的

创建完成后,当条件被触发时即可收到类似的报警

Azure实践之Azure monitor简介及如何为北二东


文章题目:Azure实践之Azuremonitor简介及如何为北二东
文章源于:http://pwwzsj.com/article/gcdgog.html