Azure 虚拟机诊断设置问题排查

Azure 为用户提供了可以自己配置的性能监控功能:Azure 诊断扩展。但是在具体配置中,经常会遇到各种各样的问题。不了解监控的工作机制常常给排查带来一定难度。这里我们整理了关于 Azure 虚拟机监控的工作原理,以及在出现问题时的大致排查步骤,希望对读者和用户有所帮助。

以下是 Azure 诊断的简易原理图。简单来说,我们通过在门户中启用诊断,将配置信息发送给虚拟机中运行的 VM 代理。VM 代理收到请求后,进行 Azure 诊断扩展的安装和配置。然后,Azure 诊断根据配置文件,收集虚拟机中的性能数据等,并将其上传到存储账户对应的表中。最后,门户通过 Microsoft.insights 这个资源提供程序,从对应的存储账户中获取数据,并展现出来。Azure 警告可以根据这些监控数据进行告警设置,触发后续行动等。这个过程中的每个环节,每个应用和服务,缺一不可,才能保证监控能正常工作。

现在大家了解了基本的过程,那么在遇到性能数据无法显示的问题时,大概的思路也就很清楚了。

检查诊断扩展是否安装成功

检查诊断配置文件是否正确

检查存储账号是否有性能数据

检查订阅是否注册了 Microsoft.insights

检查诊断扩展是否安装成功

检查

最简单的检查方法,就是在门户中查看扩展状态。

虚拟机中的 Extensions 边栏里列出了该虚拟机安装的所有扩展。诊断扩展在 Linux 系统中为 LinuxDiagnostic; 在 Windows 系统中为 IaaSDiagnostic。

若状态为Provisioning succeeded,则说明扩展安全成功。若是其他状态如Not Available或者Failed,则说明安装可能有问题。这时就需要排查安装问题。

问题排查

由于 Azure 对虚拟机的管理都是通过 VM Agent 来完成的。因此,安装不成功的大多数原因都在于 VM Agent 工作不正常。那么如何检查呢?

Linux

以 root 身份运行下面命令,查看 VM Agent 的版本,系统版本,Python 版本和运行状态。

复制

# waAgent -daemon2017/07/19 12:19:19.184938 INFO Azure Linux Agent Version:2.2.132017/07/19 12:19:19.189233 INFO OS: centos 7.3.16112017/07/19 12:19:19.194076 INFO Python: 2.7.52017/07/19 12:19:19.198558 INFO Daemon is already running: 808

检查代理版本和状态

默认情况下,系统会自动更新版本到最新版。请参考WALinuxAgent查看是否是最新的版本。在排查问题过程中,建议首先尝试将 VM Agent 升级到最新版本后再继续操作。参考文档进行 VM Agent 的安装和升级。

若当时虚拟机中 VM Agent 服务处于停止状态,以 root 身份执行下面命令进行启动:

# waAgent -start

如果是经典模式虚拟机,您还需要检查虚拟机是否启用了 VM Agent。如果未更新 Azure 虚拟机的配置文件,即使安装成功,Azure 也无法判断您是否安装了 VM Agent,因此也不会使用该 Agent 进行扩展管理。

以下步骤需要在 AzurePowershell 中执行。首先判断 VM 是否已经设置了启用 VM Agent:

复制

$vm= Get-AzureVM -ServiceName$serviceName-Name$vmname“$vm.VM.ProvisionGuestAgent”

如果$vm.VM.ProvisionGuestAgent为true,说明 VM 已启用 VM Agent。剩余步骤即可跳过。 如果$vm.VM.ProvisionGuestAgent为false,说明尚未启用 VM Agent。执行以下命令启用:

复制

$vm= Get-AzureVM -serviceName$serviceName-Name$vmname$vm.VM.ProvisionGuestAgent=$TRUEUpdate-AzureVM -Name$name-VM$vm.VM-ServiceName$svc

在 VM Agent 工作正常的情况下,诊断扩展依旧安装不成功,则需要通过日志来排查问题。/var/log/waAgent.log是 VM Agent 的日志输出,日志中会记录所有的虚拟机通过 VM Agent 与 Azure 平台的交互。

Windows

查看 VM Agent 是否安装。

C:\WindowsAzure\Packages是否有 WaAppAgent 这个应用程序。若没有安装,请参考VM Agent 和扩展程序VM Agent 和扩展程序 - 第 2 部分进行安装和配置。

经典虚拟机需要同时检查 VM Agent 是否在虚拟机中启用,具体参见 Linux 部分问题排查)。

任务管理器中查看 WindowsAzureGuestAgent 是否运行。

若没有截图中的进程,说明 VM Agent 可能没有运行。点击C:\WindowsAzure\Packages中的应用程序WaAppAgent进行启动。

同时避免重启后 VM Agent 不会自动启动,在服务管理中查看该服务是否设置为自动启动。

若运行不正常,请提供以下日志以供排查:

复制

C:\WindowsAzure\LogsC:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\\*

关于 Windows VM agent 的更多信息,请参考Azure 虚拟机代理概述VM Agent 和扩展程序

检查诊断配置文件是否正确

通过门户配置的诊断扩展,平台会首先验证用户的输入,再给 VM Agent 发送标准的配置,因此扩展配置一般不会有问题。但有些用户可能希望使用 PowerShell 脚本来启用扩展,这样可以自定义一些需要保存的日志文件,或者添加删除某些性能指标;在这种情况下,若配置文件设置不当,很可能造成扩展安装成功,但工作不正常的情况。

通过查看扩展日志来找到原因:

Linux 中日志位于/var/log/azure/Microsoft.OSTCExtensions.LinuxDiagnostic//下面,extension.log 记录了所有的配置变更,以及错误信息。根据错误信息进行配置文件的修正,一般能解决大多数问题:如性能指标写的不对;存储账号密、SAS 配置错误等。

Windows 中日志位于C:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\Status中。

如果在更新了 VM agent 版本,重启 Waagent 服务,甚至重启了虚拟机的情况下,安装扩展仍然出现问题,或者扩展仍然无法正常工作,请将下面日志打包提供:

复制

Linux:/var/log/waagent.log/var/log/azure/Microsoft.OSTCExtensions.LinuxDiagnostic//*/var/lib/waagent/*.xmlWindows:C:\WindowsAzure\LogsC:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\\*

检查存储账号是否有性能数据

若诊断扩展运行正常,则对应的存储账号中将会存在对应的存放性能数据的表。且表中会有虚拟机的性能数据存在。

使用 Microsoft Azure Storage Explorer 连接到存储账户,展开 Tables 检查表。用于存放性能数据的表以 WADMetrics 开头。根据存放的性能数据的时间频度,后跟 PT1M 或者 PT1H,分别代表过去一分钟和过去一小时。该表每 10 天会新建一个,因此,P10D 代表存最最多存放 10 天的数据。最后是表的版本和最新数据的时间段。如 WADMetricsPT1HP10DV2S20170510 代表该表存放的是 2017 年 05 月 10 日之后 10 天内的每小时的统计数据。

表中的数据,一行为某个虚拟机的某个时间点的单个性能指标的统计数据。其中记录了虚拟机名,时间戳,性能指标名称,时间范围内的采样次数,最大值,最小值,平均值,以及总量。

Note

对于不同的性能指标,并不是每一列都会用到。

在排查性能视图不可见的问题时,用户首先要明确的是什么时间段的数据不可见,然后找到对应的表,查看表中是否有虚拟机的对应时刻的性能指标记录。由于表中包含数以万计的实体,您可以使用 Microsoft Azure Storage Explorer 提供的过滤功能筛选结果,但由于单次下载到内存中的数据并不多,不一定能查到所需数据;在这种情况下,建议将表导出到本地 csv 文件中进行筛选。

如果表中确实没有对应的数据,则需要再次检查配置文件确认存储账号设置是否有误,或者数据上传是否有错。如果是上传错误,在 VM agent 的日志,或者扩展日志中将会有对应的记录。

检查订阅是否注册了 Microsoft.insights

通过以上步骤的排查,但数据依旧没有显示,则最大的可能性就是负责处理性能数据显示的资源提供程序 Microsoft.insights 没有注册,导致门户无法获取和处理数据。检查方法如下:

门户中搜索 Subscription。打开后点击对应的订阅,在 Resource Providers 边栏中查看 Microsoft.insights 是否是注册的状态。若没有注册,点击注册将其注册到订阅中。再回到虚拟机页面查看性能视图。

联系技术支持

如果上述所有操作都尝试过,但还是有问题,请收集下面信息提供给技术支持团队进行个案分析。

复制

Linux:/var/log/waagent.log/var/log/azure/Microsoft.OSTCExtensions.LinuxDiagnostic//*/var/lib/waagent/*.xmlWindows:C:\WindowsAzure\LogsC:\Packages\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\\*            立即访问http://market.azure.cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容