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

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

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

 

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

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

检查

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

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

若状态为 Provisioning succeeded,则说

 

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

 

问题排查

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

  • Linux

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

# waAgent -daemon
2017/07/19 12:19:19.184938 INFO Azure Linux Agent Version:2.2.13
2017/07/19 12:19:19.189233 INFO OS: centos 7.3.1611
2017/07/19 12:19:19.194076 INFO Python: 2.7.5
2017/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.ProvisionGuestAgenttrue,说明 VM 已启用 VM Agent。剩余步骤即可跳过。 如果 $vm.VM.ProvisionGuestAgentfalse,说明尚未启用 VM Agent。执行以下命令启用:

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

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

 

关于Windows下如何进行排查的步骤,可以点击这里进行查看。

posted @ 2017-08-29 16:44  Cbits  阅读(332)  评论(0编辑  收藏  举报