适用于 SAP 解决方案的 Azure VM 扩展新版本

先决条件

注意

一般支持声明:对适用于 SAP 的 Azure 扩展的支持是通过 SAP 支持渠道提供的。 如果需要有关 SAP 解决方案的 Azure VM 扩展的帮助,请向 SAP 支持部门提出支持案例

备注

在适用于 SAP 的 Azure 扩展标准版与新版本之间切换之前,请确保卸载 VM 扩展。

注意

VM 扩展有两种版本。 本文介绍适用于 SAP 的 Azure VM 扩展新版本。 有关如何安装标准版的指导,请参阅适用于 SAP 解决方案的 Azure VM 扩展标准版

  • 请务必使用 SAP 主机代理 7.21 PL 47 或更高版本。
  • 确保要启用该扩展的虚拟机能够访问 management.azure.com。

按照安装 Azure PowerShell 模块一文中所述的步骤进行操作

请经常检查 PowerShell cmdlet 的更新,通常每月都会更新。 按照这篇文章中所述的步骤进行操作。 除非 SAP 说明 1928533 或 SAP 说明 2015553 中另有规定,否则建议使用最新版本的 Azure PowerShell cmdlet。

要检查计算机上安装的 Azure PowerShell cmdlet 的版本,请运行以下 PowerShell 命令:

(Get-Module Az.Compute).Version

配置适用于 SAP 解决方案的 Azure VM 扩展

适用于 SAP 的新 VM 扩展使用分配给 VM 的托管标识来访问 VM 的监视和配置数据。 要使用 PowerShell 来安装适用于 SAP 的 新 Azure 扩展,首先必须将此类标识分配给 VM,并向该标识授予对该 VM 使用的所有资源(例如磁盘和网络接口)的访问权限。

注意

以下步骤要求拥有对资源组或单一资源(虚拟机、数据磁盘和网络接口)的“所有者”特权

  1. 请务必使用 SAP 主机代理 7.21 PL 47 或更高版本。

  2. 请务必卸载适用于 SAP 的 VM 扩展标准版。 不支持在同一虚拟机上同时安装适用于 SAP 的 VM 扩展的两个版本。

  3. 确保已安装最新版本的 Azure PowerShell cmdlet(最低为 4.3.0)。

  4. 运行以下 PowerShell cmdlet。 要获得可用环境的列表,请运行 cmdlet Get-AzEnvironment。 如果想要使用全局 Azure,则环境是 AzureCloud。 对于由世纪互联运营的 Microsoft Azure,请选择“AzureChinaCloud”

    适用于 SAP 的 VM 扩展支持配置一个代理,该扩展应使用此代理连接到外部资源,例如 Azure 资源管理器 API。 使用参数 -ProxyURI 设置代理。

    $env = Get-AzEnvironment -Name <name of the environment>
    Connect-AzAccount -Environment $env
    Set-AzContext -SubscriptionName <subscription name>
    
    Set-AzVMAEMExtension -ResourceGroupName <resource group name> -VMName <virtual machine name> -InstallNewExtension
    
  5. 重启 SAP 主机代理

    登录到启用了适用于 SAP 的 VM 扩展的虚拟机,如果已安装 SAP 主机代理,请重启该代理。 在重启 VM 扩展之前,SAP 主机代理不使用 VM 扩展。 它当前无法检测到扩展在启动后已安装。

手动配置适用于 SAP 解决方案的 Azure VM 扩展

如果要使用 Azure 资源管理器、Terraform 或其他工具部署适用于 SAP 的 VM 扩展,还可以手动部署适用于 SAP 的 VM 扩展,即不使用专用 PowerShell 或 Azure CLI 命令。

在为 SAP 部署 VM 扩展之前,请确保将用户或系统分配的托管标识分配给虚拟机。 有关详细信息,请阅读以下指南:

为虚拟机分配标识后,请授予 VM 读取资源组或与虚拟机关联的单个资源(VM、网络接口、OS 磁盘和数据磁盘)的权限。 建议使用内置的读取者角色来授予对这些资源的访问权限。 还可以通过将 VM 标识添加到已具有所需资源读取权限的 Microsoft Entra 组来授予此访问权限。 如果你使用某个已具有所需权限的用户分配的标识,则在部署适用于 SAP 的 VM 扩展时不再需要具有所有者权限。

可通过不同的方式手动部署适用于 SAP 的 VM 扩展。 请在接下来的章节中查找一些示例。

该扩展目前支持以下配置键。 在下面的示例中,显示了 msi_res_id。

  • msi_res_id:用户分配的标识的 ID,扩展应该使用它来获取有关 VM 及其资源的所需信息
  • proxy:扩展应该用来连接到 Internet 以执行特定操作(例如检索有关虚拟机及其资源的信息)的代理的 URL。

以下代码包含四个示例。 它演示如何使用系统或用户分配的标识在 Windows 和 Linux 上部署扩展。 请确保替换示例中的资源组名称、位置和 VM 名称。

# Windows VM - user assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Windows" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Windows" -TypeHandlerVersion "1.0" -Location "<___location>" -SettingString '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Windows VM - system assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Windows" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Windows" -TypeHandlerVersion "1.0" -Location "<___location>" -SettingString '{"cfg":[]}'

# Linux VM - user assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Linux" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Linux" -TypeHandlerVersion "1.0" -Location "<___location>" -SettingString '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Linux VM - system assigned identity
Set-AzVMExtension -Publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" -ExtensionType "MonitorX64Linux" -ResourceGroupName "<rg name>" -VMName "<vm name>" `
   -Name "MonitorX64Linux" -TypeHandlerVersion "1.0" -Location "<___location>" -SettingString '{"cfg":[]}'

适用于 SAP 的 VM 扩展的版本

如果要禁用 VM 扩展的自动更新,或者要部署扩展的特定版本,可以使用 Azure CLI 或 Azure PowerShell 检索可用版本。

# Windows
Get-AzVMExtensionImage -Location westeurope -PublisherName Microsoft.AzureCAT.AzureEnhancedMonitoring -Type MonitorX64Windows
# Linux
Get-AzVMExtensionImage -Location westeurope -PublisherName Microsoft.AzureCAT.AzureEnhancedMonitoring -Type MonitorX64Linux

就绪情况检查

通过此项检查,可以确认底层适用于 SAP 的 Azure 扩展是否能够提供 SAP 应用程序中显示的所有性能指标。

在 Windows VM 上运行就绪状态检查

  1. 登录到 Azure 虚拟机(不需要使用管理员帐户)。
  2. 打开 Web 浏览器并导航到 http://127.0.0.1:11812/azure4sap/metrics
  3. 浏览器应显示或下载包含虚拟机的监视数据的 XML 文件。 如果情况并非如此,请确保已安装适用于 SAP 的 Azure 扩展。
  4. 检查 XML 文件的内容。 你可以在 http://127.0.0.1:11812/azure4sap/metrics 访问该 XML文件,其中包含适用于 SAP 的所有 Azure 性能计数器(已填充)。 还包含适用于 SAP 的 Azure 扩展状态的摘要和运行状况指示符。
  5. 检查“提供程序运行状况说明”元素的值。 如果值不是 OK,请按照运行状况检查一章中的说明进行操作。

在 Linux VM 上运行就绪状态检查

  1. 使用 SSH 连接到 Azure 虚拟机。
  2. 检查以下命令的输出
    curl http://127.0.0.1:11812/azure4sap/metrics
    
    预期结果:返回一个 XML 文档,其中包含虚拟机及其磁盘和网络接口的监视信息。

如果前面的检查未成功,请运行以下额外的检查:

  1. 确保已安装并启用了 waagent。

    a. 运行 sudo ls -al /var/lib/waagent/

    预期结果:列出 waagent 目录的内容。

    b. 运行 ps -ax | grep waagent

    预期结果:显示一个类似于以下内容的条目:python /usr/sbin/waagent -daemon

  2. 确保适用于 SAP 的 Azure 扩展已安装且正常运行。

    a. 运行 sudo sh -c 'ls -al /var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-*/'

    预期结果:列出适用于 SAP 的 Azure 扩展目录的内容。

    b. 运行 ps -ax | grep AzureEnhanced

    预期结果:显示一个类似于以下内容的条目:/var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-1.0.0.82/AzureEnhancedMonitoring -monitor

  3. 如 SAP 说明 1031096 中所述安装 SAP 主机代理,并检查 saposcol 的输出。

    a. 运行 /usr/sap/hostctrl/exe/saposcol -d

    b. 运行 dump ccm

    c. 检查 Virtualization_Configuration\Enhanced Monitoring Access 度量值是否为 true

如果已安装 SAP NetWeaver ABAP 应用程序服务器,请打开事务 ST06,并检查是否已启用监视。

如果其中任一检查失败,以及有关如何重新部署扩展的详细信息,请参阅 故障排除

健康检查

如果基础结构数据未如中所述的测试那样正确传输,运行本章所述的运行状况检查,以确认 Azure 基础结构和 Azure 扩展是否针对 SAP 进行了正确配置。

  1. 确保已安装最新版本的 Azure PowerShell cmdlet(最低为 4.3.0)。

  2. 运行以下 PowerShell cmdlet。 若要获得可用环境的列表,请运行 cmdlet Get-AzEnvironment。 若要使用全局 Azure,请选择 AzureCloud 环境。 对于由世纪互联运营的 Microsoft Azure,请选择“AzureChinaCloud”。

    $env = Get-AzEnvironment -Name <name of the environment>
    Connect-AzAccount -Environment $env
    Set-AzContext -SubscriptionName <subscription name>
    Test-AzVMAEMExtension -ResourceGroupName <resource group name> -VMName <virtual machine name>
    
  3. 脚本将测试你选择的虚拟机的配置。

请确保每个健康检查的结果为 OK。 如果某些检查未显示正常,请按照配置 Azure VM 扩展以支持 SAP 解决方案中的说明运行更新 cmdlet。 重复就绪情况检查和本章中所述的检查。 如果检查仍然指示某些或所有计数器存在问题,请参阅 故障排除

后续步骤