適用於 Linux 的 Log Analytics 虛擬機器擴充功能

概觀

Azure 監視器記錄提供跨雲端和內部部署資產的監視、警示和警示補救功能。 適用於Linux的Log Analytics虛擬機擴充功能已由 Microsoft 發佈及支援。 擴充功能會在 Azure 虛擬機上安裝 Log Analytics 代理程式,並將虛擬機註冊到現有的 Log Analytics 工作區。 本文件詳細說明適用於Linux的Log Analytics虛擬機擴充功能支援的平臺、組態和部署選項。

注意

已啟用 Azure Arc 的伺服器可讓您將 Log Analytics 代理程式 VM 擴充功能部署、移除及更新為非 Azure Windows 和 Linux 機器,簡化混合式機器的生命週期管理。 如需詳細資訊,請參閱 使用已啟用 Azure Arc 的伺服器進行 VM 擴充功能管理。

必要條件

作業系統

如需所支援Linux發行版的詳細資訊,請參閱 Azure 監視器代理程式概 觀一文。

代理程式和 VM 擴充功能版本

下表提供每個版本的Log Analytics VM擴充功能和Log Analytics代理程式套件組合的對應。 包含 Log Analytics 代理程式套件組合版本的版本資訊連結。 版本資訊包括 Bug 修正的詳細數據,以及特定代理程式版本可用的新功能。

Log Analytics Linux VM 擴充功能版本 Log Analytics 代理程式套件組合版本
1.19.0 1.19.0
1.18.1 1.18.1
1.17.2 1.17.2
1.17.1 1.17.1
1.16.0 1.16.0
1.14.23 1.14.23
1.14.20 1.14.20
1.14.19 1.14.19
1.14.16 1.14.16
1.14.13 1.14.13
1.14.11 1.14.11
1.14.9 1.14.9
1.13.40 1.13.40
1.13.35 1.13.35
1.13.33 1.13.33
1.13.27 1.13.27
1.13.15 1.13.9-0
1.12.25 1.12.15-0
1.11.15 1.11.0-9
1.10.0 1.10.0-1
1.9.1 1.9.0-0
1.8.11 1.8.1-256
1.8.0 1.8.0-256
1.7.9 1.6.1-3
1.6.42.0 1.6.0-42
1.4.60.2 1.4.4-210
1.4.59.1 1.4.3-174
1.4.58.7 14.2-125
1.4.56.5 1.4.2-124
1.4.55.4 1.4.1-123
1.4.45.3 1.4.1-45
1.4.45.2 1.4.0-45
1.3.127.5 1.3.5-127
1.3.127.7 1.3.5-127
1.3.18.7 1.3.4-15

適用於雲端的 Microsoft Defender

適用於雲端的 Microsoft Defender 會自動布建 Log Analytics 代理程式,並將其連線至 Azure 訂用帳戶中 適用於雲端的 Defender 所建立的預設 Log Analytics 工作區。 如果您使用 適用於雲端的 Microsoft Defender,請勿執行本檔中的步驟。 這麼做會覆寫已設定的工作區,並中斷與 適用於雲端的 Microsoft Defender 的連線。

網際網路連線能力

適用於Linux的Log Analytics代理程式擴充功能需要目標虛擬機連線到因特網。

擴充功能結構描述

下列 JSON 顯示 Log Analytics 代理程式擴充功能的架構。 延伸模組需要目標Log Analytics工作區的工作區標識碼和工作區密鑰;您可以在 Azure 入口網站 的 Log Analytics 工作區中找到這些值。 因為工作區金鑰應該被視為敏感數據,所以應該儲存在受保護的設定組態中。 Azure VM 擴充功能保護的設定資料會經過加密,只會在目標虛擬機器上解密。 請注意 ,workspaceIdworkspaceKey 會區分大小寫。

注意

由於容器監視解決方案即將淘汰,下列檔會使用選擇性設定 「skipDockerProviderInstall」:true。

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "OMSExtension",
  "apiVersion": "2018-06-01",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <vm-name>)]"
  ],
  "properties": {
    "publisher": "Microsoft.EnterpriseCloud.Monitoring",
    "type": "OmsAgentForLinux",
    "typeHandlerVersion": "1.16",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "workspaceId": "myWorkspaceId",
      "skipDockerProviderInstall": true
    },
    "protectedSettings": {
      "workspaceKey": "myWorkSpaceKey"
    }
  }
}

注意

上述架構假設它會放在範本的根層級。 如果您將其放在範本中的虛擬機資源內,type應該變更 和 name 屬性,如下所述

屬性值

名稱 值 / 範例
apiVersion 2018-06-01
publisher Microsoft.EnterpriseCloud.Monitoring
type OmsAgentForLinux
typeHandlerVersion 1.16
workspaceId (例如) 6f680a37-00c6-41c7-a93f-1437e3462574
workspaceKey (例如) z4bU3p1/GrnWpQkky4gdabWXAhbWSTz70hm4m2Xt92XI+rSRgE8qVvRhsGo9TXffbrTahyrwv35W0pOqQAU7uQ==

範本部署

注意

Log Analytics VM 擴充功能的某些元件也會隨附於 診斷 VM 擴充功能中。 由於此架構,如果在相同的 ARM 範本中具現化這兩個延伸模組,就可能會發生衝突。 若要避免這些安裝時間衝突,請使用 dependsOn 指示詞 來確保擴充功能會循序安裝。 可以依任一順序安裝延伸模組。

也可以使用 Azure Resource Manager 範本部署 Azure VM 擴充功能。 部署需要部署後設定的一或多個虛擬機,例如上線至 Azure 監視器記錄時,範本很理想。 您可以在 Azure 快速入門資源庫找到包含 Log Analytics 代理程式 VM 擴充功能的範例 Resource Manager 範本。

虛擬機器擴充功能的 JSON 設定可以巢狀方式置於虛擬機器資源內部,或放在 Resource Manager JSON 範本的根目錄或最上層。 JSON 設定的放置會影響資源名稱和類型的值。 如需詳細資訊,請參閱設定子資源的名稱和類型

下列範例假設 VM 擴充功能以巢狀方式置於虛擬機器資源內部。 在巢狀處理擴充資源時,JSON 會放在虛擬機器的 "resources": [] 物件中。

{
  "type": "extensions",
  "name": "OMSExtension",
  "apiVersion": "2018-06-01",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <vm-name>)]"
  ],
  "properties": {
    "publisher": "Microsoft.EnterpriseCloud.Monitoring",
    "type": "OmsAgentForLinux",
    "typeHandlerVersion": "1.16",
    "settings": {
      "workspaceId": "myWorkspaceId",
      "skipDockerProviderInstall": true
    },
    "protectedSettings": {
      "workspaceKey": "myWorkSpaceKey"
    }
  }
}

將擴充功能 JSON 放在範本的根目錄時,資源名稱會包含父虛擬機的參考,而類型會反映巢狀組態。

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "<parentVmResource>/OMSExtension",
  "apiVersion": "2018-06-01",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <vm-name>)]"
  ],
  "properties": {
    "publisher": "Microsoft.EnterpriseCloud.Monitoring",
    "type": "OmsAgentForLinux",
    "typeHandlerVersion": "1.16",
    "settings": {
      "workspaceId": "myWorkspaceId",
      "skipDockerProviderInstall": true
    },
    "protectedSettings": {
      "workspaceKey": "myWorkSpaceKey"
    }
  }
}

Azure CLI 部署

Azure CLI 可用來將 Log Analytics 代理程式 VM 擴充功能部署到現有的虛擬機。 將下方的 myWorkspaceKey 值取代為您的工作區密鑰,並將 myWorkspaceId 值取代為您的工作區識別碼。 您可以在 [進階 設定] 底下的 [Azure 入口網站] 的 Log Analytics 工作區中找到這些值。 將 latestVersion 值取代為 Log Analytics Linux VM 延伸模組版本的版本

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name OmsAgentForLinux \
  --publisher Microsoft.EnterpriseCloud.Monitoring \
  --protected-settings '{"workspaceKey":"myWorkspaceKey"}' \
  --settings '{"workspaceId":"myWorkspaceId","skipDockerProviderInstall": true}' \
  --version latestVersion

Azure PowerShell 部署

Azure Powershell Cmdlet 可用來將Log Analytics代理程式 VM 擴充功能部署到現有的虛擬機。 將下方的 myWorkspaceKey 值取代為您的工作區密鑰,並將 myWorkspaceId 值取代為您的工作區識別碼。 您可以在 [進階 設定] 下 Azure 入口網站 的 Log Analytics 工作區中找到這些值。 將 latestVersion 值取代為 Log Analytics Linux VM 延伸模組版本的版本

Set-AzVMExtension \
  -ResourceGroupName myResourceGroup \
  -VMName myVM \
  -ExtensionName OmsAgentForLinux \
  -ExtensionType OmsAgentForLinux \
  -Publisher Microsoft.EnterpriseCloud.Monitoring \
  -TypeHandlerVersion latestVersion \
  -ProtectedSettingString '{"workspaceKey":"myWorkspaceKey"}' \
  -SettingString '{"workspaceId":"myWorkspaceId","skipDockerProviderInstall": true}'

疑難排解與支援

疑難排解

擴充功能部署狀態的相關數據可以從 Azure 入口網站 擷取,並使用 Azure CLI 或 Azure Powershell。 若要查看指定 VM 的擴充功能部署狀態,如果您使用 Azure CLI,請執行下列命令。

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

擴充功能執行輸出會記錄至下列檔案︰

/var/log/azure/Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux/extension.log

若要擷取安裝在 VM 上的 OMS 擴充功能版本,如果您使用 Azure CLI,請執行下列命令。

az vm extension show --resource-group myResourceGroup --vm-name myVM --instance-view

若要擷取安裝在 VM 上的 OMS 擴充功能版本,如果您使用 Azure PowerShell,請執行下列命令。

Get-AzVMExtension -ResourceGroupName my_resource_group  -VMName my_vm_name -Name OmsAgentForLinux -Status

錯誤碼及其意義

錯誤碼 意義 可能的動作
9 提前啟用呼叫 將 Azure Linux 代理程式 更新為最新的可用版本。
10 VM 已連線到 Log Analytics 工作區 若要將 VM 連線至擴充架構中指定的工作區,請在公用設定中將 stopOnMultiple 連線 ions 設定為 false,或移除此屬性。 此 VM 會針對所連線的每個工作區收取一次費用。
11 提供給延伸模組的設定無效 請遵循上述範例來設定部署所需的所有屬性值。
17 Log Analytics 套件安裝失敗
18 OMSConfig 套件安裝失敗。 查看根失敗的命令輸出。
19 OMI 套件安裝失敗
20 SCX 套件安裝失敗
33 產生 omsconfig 的中繼設定時發生錯誤。 提出 GitHub 問題 ,其中包含來自輸出的詳細數據。
51 VM 作業系統不支援此擴充功能
52 此延伸模組因缺少相依性或許可權而失敗 如需遺漏哪些相依性或許可權的詳細資訊,請查看輸出和記錄。
53 此延伸模組因遺失或設定參數錯誤而失敗 如需發生錯誤的詳細資訊,請查看輸出和記錄。 此外,請檢查工作區標識碼的正確性,並確認計算機已連線到因特網。
55 無法連線到 Azure 監視器服務或遺失的必要套件,或已鎖定 dpkg 套件管理員 檢查系統是否有因特網存取,或已提供有效的 HTTP Proxy。 此外,請檢查工作區標識符的正確性,並確認已安裝 curl 和 tar 公用程式。

如需其他疑難解答資訊,請參閱 Log Analytics-Agent-for-Linux 疑難解答指南

支援

如果您在本文中有任何需要協助的地方,您可以連絡 MSDN Azure 和 Stack Overflow 論壇上的 Azure 專家。 或者,您可以提出 Azure 支援事件。 請移至 Azure 支援網站,然後選取 [取得支援]。 如需使用 Azure 支援的資訊,請參閱 Microsoft Azure 支援常見問題集