分享方式:


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

概觀

對於雲端和內部部署資產,Azure 監視器記錄提供監視、警示和警示補救功能。 Microsoft 已發佈並支援適用於 Linux 的 Log Analytics 虛擬機器擴充功能。 擴充功能會在 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 代理程式套件組合版本的版本資訊連結。 版本資訊包含錯誤修正和適用於指定代理程式版本的新功能詳細資料。

Log Analytics Linux VM 擴充功能版本 Log Analytics 代理程式套件組合版本
1.19.0 1.19.0
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 工作區的工作區 ID 和工作區金鑰,這些值可於 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"
    }
  }
}

注意

上述結構描述假設會將它放置於範本的根層級。 如果您將它放置於範本中的虛擬機器資源內部,那麼也應該變更 typename 屬性,如後續內容所述。

屬性值

名稱 值 / 範例
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 快速入門資源庫中有一個範例 Resource Manager 範本包含 Log Analytics 代理程式 VM 延伸模組。

虛擬機器擴充功能的 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 工作區中找到這些值。 以 Log Analytics Linux VM 擴充功能版本取代 latestVersion 值。

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 工作區中找到這些值。 以 Log Analytics Linux VM 擴充功能版本取代 latestVersion 值。

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 CLI 或 Azure PowerShell 模組,就可以從 Azure 入口網站擷取有關延伸模組部署狀態的資料。 若要查看指定 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 連線到擴充功能結構描述中所指定的工作區,請在公用設定中將 stopOnMultipleConnections 設定為 false,或是移除此屬性。 針對此 VM 所連線的每個工作區都會向此 VM 計費一次。
11 提供給擴充功能的組態無效 依照上述範例來設定部署所需的所有屬性值。
17 Log Analytics 套件安裝失敗
18 OMSConfig 套件安裝失敗。 查看命令的輸出中是否有 root 失敗。
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 支援常見問題集