共用方式為


適用於 SAP 解決方案的 Azure VM 延伸模組新版本

必要條件

注意

一般支援聲明:透過 SAP 支援管道提供適用於 SAP 的 Azure 延伸模組支援。 如果您需要適用於 SAP 解決方案的 Azure VM 延伸模組相關協助,請向 SAP 支援提出支援案例

注意

請務必先解除安裝 VM 延伸模組,再切換適用於 SAP 的 Azure 延伸模組的標準版本與新版本。

注意

VM 延伸模組有兩個版本。 本文涵蓋內容為適用於 SAP 的 Azure VM 延伸模組版本。 如需如何安裝標準版本的指引,請參閱 SAP 解決方案的標準版 Azure VM 延伸模組

  • 請務必使用 SAP 主機代理程式 7.21 PL 47 或後續版本。
  • 請確定已啟用延伸模組的虛擬機器可以存取 management.azure.com。

部署 Azure PowerShell Cmdlet

請遵循安裝 Azure PowerShell 模組 (英文) 一文中所述的步驟

經常檢查 PowerShell Cmdlet 的更新 (通常每個月更新一次)。 請遵循本文 (英文) 中所述的步驟。 除非 SAP Note 1928533 或 SAP Note 2015553 另外指定,否則建議使用最新版的 Azure PowerShell Cmdlet。

若要檢查電腦上安裝的 Azure PowerShell Cmdlet 版本,請執行此 PowerShell 命令︰

(Get-Module Az.Compute).Version

部署 Azure CLI

請遵循安裝 Azure CLI 一文中所述的步驟

經常檢查 Azure CLI 的更新 (通常每個月更新一次)。

若要檢查電腦上安裝的 Azure CLI 版本,請執行此命令︰

az --version

使用 PowerShell 設定適用於 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 版)。 如需詳細資訊,請參閱部署 Azure PowerShell Cmdlet

  4. 執行下列 PowerShell Cmdlet。 如需可用環境的清單,請執行 Cmdlet Get-AzEnvironment。 如果您想要使用全域 Azure,則您的環境是 AzureCloud。 對於由世紀互聯操作的 Microsoft Azure,請選取 [AzureChinaCloud]

    適用於 SAP 的 VM 延伸模組支援設定 Proxy,而延伸模組應當用於連線外部資源,例如 Azure Resource Manager API。 請使用參數 -ProxyURI 來設定 Proxy。

    $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 主機代理程式請將其重新啟動。 在重新啟動 SAP 主機代理程式之前,SAP 主機代理程式不會使用 VM 延伸模組。 它目前無法偵測延伸模組是在代理程式啟動之後才安裝。

使用 Azure CLI 設定適用於 SAP 解決方案的 Azure VM 延伸模組

適用於 SAP 的新 VM 延伸模組會使用指派給 VM 的受控識別來存取 VM 的監視和設定資料。

注意

下列步驟需要資源群組或個別資源 (虛擬機器、資料磁碟等) 的擁有者權限

  1. 請確定您使用的是 SAP 主機代理程式 7.21 PL 47 或後續版本。

  2. 請務必將適用於 SAP 的 VM 延伸模組目前版本解除安裝。 您無法在相同的 VM 上安裝兩種適用於 SAP 的 VM 延伸模組版本。

  3. 安裝最新版的 Azure CLI 2.0 (2.19.1 或後續版本)。

  4. 使用您的 Azure 帳戶進行登入:

    az login
    
  5. 安裝 Azure CLI 無代理程式例外監控 (AEM) 延伸模組。 請務必使用 0.2.2 版或後續版本。

    az extension add --name aem
    
  6. 啟用新的延伸模組:

    適用於 SAP 的 VM 延伸模組支援設定 Proxy,而延伸模組應當用於連線外部資源,例如 Azure Resource Manager API。 請使用參數 -proxy-uri 來設定 Proxy。

    az vm aem set -g <resource-group-name> -n <vm name> --install-new-extension
    
  7. 重新啟動 SAP 主機代理程式

    登入您將適用於 SAP 的 VM 延伸模組啟用的虛擬機器,若已安裝 SAP 主機代理程式請將其重新啟動。 在重新啟動 SAP 主機代理程式之前,SAP 主機代理程式不會使用 VM 延伸模組。 它目前無法偵測延伸模組是在代理程式啟動之後才安裝。

手動設定 SAP 解決方案的 Azure VM 延伸模組

如果您想要使用 Azure Resource Manager、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:延伸模組應該用來取得 VM 及其資源所需資訊的使用者指派身分識別識別碼
  • proxy:延伸模組應該用來連線到網際網路的 Proxy URL,例如擷取虛擬機器及其資源的相關資訊。

使用 Azure PowerShell 手動部署

下列程式碼包含四個範例。 它示範如何使用系統或使用者指派的身分識別,在 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":[]}'

使用 Azure CLI 手動部署

下列程式碼包含四個範例。 它示範如何使用系統或使用者指派的身分識別,在 Windows 和 Linux 上部署延伸模組。 請務必取代範例中的資源群組名稱、位置及 VM 名稱。

# Windows VM - user assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Windows" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Windows" --settings '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Windows VM - system assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Windows" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Windows" --settings '{"cfg":[]}'
   
# Linux VM - user assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Linux" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Linux" --settings '{"cfg":[{"key":"msi_res_id","value":"<user assigned resource id>"}]}'

# Linux VM - system assigned identity
az vm extension set --publisher "Microsoft.AzureCAT.AzureEnhancedMonitoring" --name "MonitorX64Linux" --resource-group "<rg name>" --vm-name "<vm name>" \
   --extension-instance-name "MonitorX64Linux" --settings '{"cfg":[]}'

使用 Terraform 手動部署

下列資訊清單包含四個範例。 它示範如何使用系統或使用者指派的身分識別,在 Windows 和 Linux 上部署延伸模組。 請務必取代範例中 VM 的識別碼和使用者指派身分識別的識別碼。


# Windows VM - user assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Windows"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Windows"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
        {
            "key":"msi_res_id",
            "value":"<user assigned resource id>"
        }
    ]
}
SETTINGS
}

# Windows VM - system assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Windows"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Windows"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
    ]
}
SETTINGS
}

# Linux VM - user assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Linux"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Linux"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
        {
            "key":"msi_res_id",
            "value":"<user assigned resource id>"
        }
    ]
}
SETTINGS
}

# Linux VM - system assigned identity

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "MonitorX64Linux"
  virtual_machine_id   = "<vm id>"
  publisher            = "Microsoft.AzureCAT.AzureEnhancedMonitoring"
  type                 = "MonitorX64Linux"
  type_handler_version = "1.0"
  auto_upgrade_minor_version = true

  settings = <<SETTINGS
{
    "cfg":[
    ]
}
SETTINGS
}

適用於 SAP 的 VM 延伸模組版本

如果您想要停用 VM 延伸模組的自動更新,或想要部署特定版本的延伸模組,您可以使用 Azure CLI 或 Azure PowerShell 擷取可用的版本。

Azure PowerShell

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

Azure CLI

# Windows
az vm extension image list --location westeurope --publisher Microsoft.AzureCAT.AzureEnhancedMonitoring --name MonitorX64Windows
# Linux
az vm extension image list --location westeurope --publisher Microsoft.AzureCAT.AzureEnhancedMonitoring --name MonitorX64Linux

整備檢查

此檢查可確保基礎 Azure Extension for SAP 提供 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. 確定已安裝並執行 Azure Extension for SAP。

    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 Host Agent (如 SAP Note 1031096 所述) 並檢查 saposcol 的輸出。

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

    b. dump ccm執行

    c. 檢查 Virtualization_Configuration\Enhanced Monitoring Access 計量是否為 true

如果已安裝 SAP NetWeaver ABAP 應用程式伺服器,請開啟交易 ST06,並檢查是否已啟用監視。

如果其中有任何檢查失敗,以及如需如何重新部署延伸模組的詳細資訊,請參閱 Windows 疑難排解Linux 疑難排解

健康狀態檢查

如果未正確提供部分基礎結構資料 (如整備檢查中所述的測試所指出),則請執行本章節所述的健康情況檢查,檢查是否已正確設定 Azure 基礎結構和適用於 SAP 的 Azure 延伸模組。

使用 PowerShell 進行健康情況檢查

  1. 確定您已安裝最新版的 Azure PowerShell Cmdlet (如部署 Azure PowerShell Cmdlet 所述)。

  2. 執行下列 PowerShell Cmdlet。 如需可用環境的清單,請執行 Get-AzEnvironment Cmdlet。 若要使用公用 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. 指令碼會測試您所選虛擬機器的設定。

確定每個健康狀態檢查的結果都 [確定]。 如果某些檢查未顯示 [確定],請執行更新 Cmdlet,如使用 Azure CLI 設定 SAP 解決方案的 Azure VM 延伸模組或使用PowerShell 設定 SAP 解決方案的 Azure VM 延伸模組中所述。 重複整備檢查和本章中所述的檢查。 如果檢查仍指出部分或所有計數器有問題,請參閱針對 Linux 進行疑難排解針對 Windows 進行疑難排解

使用 Azure CLI 進行健康情況檢查

如何使用 Azure CLI 執行適用於 SAP 的 Azure VM 延伸模組健康情況檢查:

  1. 安裝 Azure CLI 2.0。 確定所使用的至少是 2.19.1 版或後續版本 (請使用最新版)。

  2. 使用您的 Azure 帳戶進行登入:

    az login
    
  3. 安裝 Azure CLI 無代理程式例外監控 (AEM) 延伸模組。 請務必使用 0.2.2 版或後續版本。

    az extension add --name aem
    
  4. 確認延伸模組的安裝:

    az vm aem verify -g <resource-group-name> -n <vm name> 
    

指令碼會測試您所選虛擬機器的組態。

確定每個健康狀態檢查的結果都 [確定]。 如果某些檢查未顯示 [確定],請執行更新 Cmdlet,如使用 Azure CLI 設定 SAP 解決方案的 Azure VM 延伸模組或使用PowerShell 設定 SAP 解決方案的 Azure VM 延伸模組中所述。 重複整備檢查和本章中所述的檢查。 如果檢查仍指出部分或所有計數器有問題,請參閱針對 Linux 進行疑難排解針對 Windows 進行疑難排解

Windows 疑難排解

完全未顯示 Azure 效能計數器

AzureEnhancedMonitoring Windows 程序會收集 Azure 中的效能計量。 如果未在 VM 中執行該程序,則不會收集任何效能計量。

適用於 SAP 的 Azure 延伸模組的安裝目錄是空的

問題

安裝目錄 C:\Packages\Plugins\Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Windows\<version> 是空的。

解決方案

未安裝此擴充功能。 判斷這是否為 Proxy 問題 (如先前所述)。 您可能需要重新開機或再次安裝 VM 延伸模組。

遺失部分 Azure 效能計數器

AzureEnhancedMonitoring Windows 程序會收集 Azure 中的效能計量。 此程序會從數個來源取得資料。 有些設定資料是在本機收集,而有些效能計量是從 Azure 監視器讀取而來。

如果使用 SAP Note 1999351 進行疑難排解但無法解決問題,請在元件 BC-OP-NT-AZR (適用於 Windows) 或元件 BC-OP-LNX-AZR (適用於 Linux 虛擬機器) 上提出 SAP 客戶支援訊息。 請將記錄檔 C:\Packages\Plugins\Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Windows\<version>\logapp.txt 附加至事件。

Linux 疑難排解

完全未顯示 Azure 效能計數器

精靈會收集 Azure 中的效能計量。 如果未執行 Daemon,則不會收集任何效能計量。

適用於 SAP 的 Azure 延伸模組的安裝目錄是空的

問題

目錄 /var/lib/waagent/ 沒有適用於 SAP 的 Azure 延伸模組子目錄。

解決方案

未安裝此擴充功能。 判斷這是否為 Proxy 問題 (如先前所述)。 您可能需要重新開機,和/或再次安裝 VM 延伸模組。

遺失部分 Azure 效能計數器

Azure 中的效能計量由精靈收集,精靈會從數個來源取得資料。 有些設定資料是在本機收集,而有些效能計量是從 Azure 監視器讀取而來。 如需完整且最新的已知問題清單,請參閱 SAP 附註 1999351,其中包含適用於 Azure Extension for SAP 的其他疑難排解資訊。 如果使用 SAP 附註 1999351 進行排解疑難並未解決問題,請再次安裝延伸模組,如設定適用於 SAP 的 Azure 延伸模組中所述。 若問題持續發生,請在元件 BC-OP-NT-AZR (Windows) 或 BC-OP-LNX-AZR (Linux 虛擬機器) 上開啟 SAP 客戶支援訊息。 請將記錄檔 /var/lib/waagent/Microsoft.AzureCAT.AzureEnhancedMonitoring.MonitorX64Linux-<version>\logapp.txt 附加至事件。

Azure 延伸模組錯誤碼

所有錯誤識別碼的格式都具有「a-#」的不重複標籤,其中「#」為數字。 可用來快速搜尋特定錯誤和可能的解決方案。

錯誤識別碼 錯誤描述 方案
a-0116 沒有驗證權杖 其他資訊:
延伸模組無法取得驗證權杖來存取 Azure 監視器中的 VM 計量。 若要傳遞 VM 計量,它需要存取 VM 資源,例如 VM 本身、所有磁碟和連結至 VM 的所有 NIC
解決方案:
請啟用 VM 受控識別,並為 VM 資源群組提供讀取者角色。 在使用安裝指令碼時,指令碼會為您執行此動作。 通常不需要手動啟用和指派 VM 受控識別。

下一步