在自動化中部署代理程式型 Linux 混合式 Runbook 背景工作角色

警告

本文參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據此考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導

重要

Azure 自動化代理程式型的使用者混合式 Runbook 背景工作角色 (Windows 和 Linux) 將於 2024 年 8 月 31 日淘汰,且自該日期之後便不會再受到支援。 您必須在 2024 年 8 月 31 日之前,完成將現有的代理程式型使用者混合式 Runbook 背景工作角色移轉至延伸模組型背景工作角色的工作。 此外,從 2023 年 11 月 1 日開始,您就無法再建立新的代理程式型混合式背景工作角色。 深入了解

您可以使用 Azure 自動化 的使用者混合式 Runbook 背景工作角色功能,直接在 Azure 或非 Azure 計算機上執行 Runbook,包括向已啟用 Azure Arc 的伺服器註冊的伺服器。 從裝載角色的電腦或伺服器,您可以直接執行 Runbook,並針對環境中的資源來管理這些本機資源。

Linux 混合式 Runbook 背景工作角色會以特殊使用者身分執行 Runbook,以提升許可權來執行需要提高許可權的命令。 Azure 自動化會儲存並管理 Runbook,然後將其傳遞至一或多個已選擇的機器。 本文說明如何:在 Linux 計算機上安裝混合式 Runbook 背景工作角色、移除背景工作角色,以及移除混合式 Runbook 背景工作角色群組。 如需使用者混合式 Runbook 背景工作角色,請參閱在 自動化中部署擴充功能型 Windows 或 Linux 使用者混合式 Runbook 背景工作角色

在您成功部署 Runbook 背景工作角色後,請檢閱在混合式 Runbook 背景工作角色上執行 Runbook,以了解如何設定 Runbook 以將內部部署資料中心或其他雲端環境中的程序自動化。

注意

混合式背景工作角色可與下列兩個平台共存:代理程式型 (V1)擴充功能型 (V2)。 如果您在已執行代理程式型 (V1) 的混合式背景工作角色上,安裝擴充功能型 (V2),則您會在群組中看到混合式 Runbook 背景工作角色的兩個項目。 其中一個使用平台擴充功能型 (V2),而另一個則使用代理程式型 (V1)。 深入了解

必要條件

開始之前,請確定您有下列專案。

Log Analytics 工作區

混合式 Runbook 背景工作角色會根據 Azure 監視器 Log Analytics 工作區來安裝及設定角色。 您可透過 Azure Resource Manager、透過 PowerShell,或在 Azure 入口網站中建立角色。

如果您沒有 Azure Monitor Log Analytics 工作區,在建立工作區之前,請檢閱 Azure 監視器記錄設計指引

Log Analytics 代理程式

混合式 Runbook 背景工作角色需要 支援 Linux 作業系統的 Log Analytics 代理程式 。 對於裝載於 Azure 外部的伺服器或機器,您可使用已啟用 Azure Arc 的伺服器來安裝 Log Analytics 代理程式。 代理程式會與執行需要根權限命令的特定服務帳戶一併安裝。 如需詳細資訊,請參閱服務帳戶

支援的 Linux 作業系統

混合式 Runbook 背景工作角色功能支援下列散發套件。 所有作業系統皆假設為 x64。 所有作業系統皆不支援 x86。

  • Amazon Linux 2012.09 到 2015.09

  • CentOS Linux 5、6、7 和 8

  • Oracle Linux 6、7 和 8

  • Red Hat Enterprise Linux Server 5、6、7 和 8

  • Debian GNU/Linux 6、7 和 8

  • SUSE Linux Enterprise Server 12、15 和 15.1 (SUSE 未發行版本號碼為 13 或 14)

  • Ubuntu

    Linux OS 名稱
    20.04 LTS 焦點 Fossa
    18.04 LTS 仿生海狸
    16.04 LTS Xenial Xerus
    14.04 LTS Trusty Tahr

注意

混合式背景工作角色會遵循OS廠商的支援時程表。

重要

啟用更新管理功能之前,其相依於系統混合式 Runbook 背景工作角色,請確認它在這裡支援的散發套件。

最低需求

Linux 系統和使用者混合式 Runbook 背景工作角色的最低需求如下:

  • 雙核心
  • 4 GB 的 RAM
  • 連接埠 443 (輸出)
必要套件 說明 最低版本
Glibc GNU C 程式庫 2.5-12
Openssl OpenSSL 程式庫 1.0 (支援 TLS 1.1 和 1.2)
Curl cURL 網路用戶端 7.15.5
Python-ctypes Python 的外部函數庫 需要 Python 2.x 或 Python 3.x
PAM 插入式驗證模組
選用套件 說明 最低版本
PowerShell Core 若要執行 PowerShell Runbook,必須安裝 PowerShell Core。 請參閱 在Linux 上安裝PowerShell Core以瞭解如何安裝。 6.0.0

將機器新增至混合式 Runbook 背景工作角色群組

您可將背景工作角色機器新增至其中一個自動化帳戶中的混合式 Runbook 背景工作角色群組。 對於裝載由「更新管理」所管理系統混合式 Runbook 背景工作角色的機器,您可將這些機器新增至混合式 Runbook 背景工作角色群組。 但針對更新管理和混合式 Runbook 背景工作角色群組成員資格,您必須使用相同的自動化帳戶。

注意

Azure 自動化的更新管理會自動在已啟用「更新管理」的 Azure 或非 Azure 機器上安裝系統混合式 Runbook 背景工作角色。 不過,此背景工作角色不會向自動化帳戶中的任何混合式 Runbook 背景工作角色群組進行註冊。 若要在這些機器上執行 Runbook,您必須將這些機器新增至混合式 Runbook 背景工作角色群組。 請遵循安裝Linux混合式 Runbook 背景工作角色一節底下的步驟 4,將它新增至群組。

支援的 Linux 強化

尚不支援下列專案:

  • CIS

支援的 Runbook 類型

Linux 混合式 Runbook 背景工作角色在 Azure 自動化 中支援一組有限的 Runbook 類型,如下表所述。

Runbook 類型 支援
Python 3 (預覽) 是,僅適用於這些散發版本:SUSE LES 15、RHEL 8 和 CentOS 8
Python 2 是,針對不需要 Python 31 的任何散發版本
PowerShell 2
PowerShell 工作流程 No
圖形化 No
圖形化 PowerShell 工作流程 No

1請參閱 支援的Linux作業系統

2PowerShell Runbook 需要將 PowerShell Core 安裝在 Linux 電腦上。 請參閱 在Linux 上安裝PowerShell Core以瞭解如何安裝。

網路組態

如需混合式 Runbook 背景工作角色的網路需求,請參閱設定網路

安裝 Linux 混合式 Runbook 背景工作角色

有兩種方法可以部署混合式 Runbook 背景工作角色。 您可以從 Azure 入口網站 中的 Runbook 資源庫匯入和執行 Runbook,也可以手動執行一系列的 PowerShell 命令。

匯入程序會在透過 Azure 入口網站從 GitHub 匯入 Runbook中詳細說明。 要匯入的 Runbook 名稱為 Create Automation Linux HybridWorker

該 Runbook 會使用下列參數。

參數 狀態 描述
Location 必要 Log Analytics 工作區的位置。
ResourceGroupName 必要 自動化帳戶的資源群組。
AccountName 必要 將在其中混合式 Runbook 背景工作角色的自動化帳戶名稱。
CreateLA 必要 如果為 true,請使用 WorkspaceName 值來建立 Log Analytics 工作區。 如果為 false,WorkspaceName 的值必須參考現有的工作區。
LAlocation 選擇性 將在其中建立 Log Analytics 工作區的位置,或它已存在的位置。
WorkspaceName 選擇性 要建立或使用的Log Analytics工作區名稱。
CreateVM 必要 如果為 true,請使用 VMName 的值作為新 VM 的名稱。 如果為 false,請使用 VMName 尋找並登錄現有的 VM。
VMName 選擇性 根據 CreateVM 的值,建立或登錄的虛擬機器名稱。
VMImage 選擇性 要建立的 VM 映像名稱。
VMlocation 選擇性 建立或登錄的 VM 位置。 如果未指定此位置,則會使用 LAlocation 的值。
RegisterHW 必要 如果為 true,請登錄 VM 作為混合式背景工作角色。
WorkerGroupName 必要 混合式背景工作角色群組的名稱。

手動執行 PowerShell 命令

若要安裝和設定 Linux 混合式 Runbook 背景工作角色,請執行下列步驟。

  1. 在提升許可權的 PowerShell 命令提示字元中或在 Azure 入口網站 的 Cloud Shell 中執行下列命令,在 Log Analytics 工作區中啟用 Azure 自動化 解決方案:

    Set-AzOperationalInsightsIntelligencePack -ResourceGroupName <resourceGroupName> -WorkspaceName <workspaceName> -IntelligencePackName "AzureAutomation" -Enabled $true
    
  2. 將 Log Analytics 代理程式部署至目標機器。

    • 針對 Azure VM,使用適用於 Linux 的虛擬機擴充功能來安裝適用於 LinuxLog Analytics 代理程式。 擴充功能會在 Azure 虛擬機器上安裝 Log Analytics 代理程式,並且在現有的 Log Analytics 工作區中註冊虛擬機器。 您可以使用 Azure Resource Manager 範本、Azure CLI 或 Azure 原則 來指派部署適用於 LinuxWindows VM 內建原則定義的 Log Analytics 代理程式。 安裝代理程式之後,您就可以將機器新增至自動化帳戶中的混合式 Runbook 背景工作角色群組。

    • 對於非 Azure 機器,您可使用已啟用的 Azure Arc 伺服器來安裝 Log Analytics 代理程式。 已啟用 Azure Arc 的伺服器會使用下列方法支援部署 Log Analytics 代理程式:

      • 使用 VM 擴充功能架構。

        針對已啟用 Azure Arc 啟用的伺服器,這項功能可讓您將 Log Analytics 代理程式 VM 擴充功能部署至非 Azure Windows 和/或 Linux 伺服器。 您可以在混合式機器,或在已啟用 Azure Arc 的伺服器所管理的伺服器上,使用下列方法來管理 VM 擴充功能:

      • 使用 Azure 原則。

        透過此方法,您可以使用 Azure 原則將 Log Analytics 代理程式部署至 Linux 或 Microsoft Azure Arc 機器內建原則定義來稽核 (如果啟用 Arc 的伺服器已安裝 Log Analytics 代理程式的話)。 如果未安裝代理程式,便會使用補救工作自動部署代理程式。 如果您打算使用適用於 VM 的 Azure 監視器來監視機器,請改用啟用 Azure Monitor for VM 方案來安裝及設定 Log Analytics 代理程式。

      建議您使用 Azure 原則來安裝適用於 Windows 或 Linux 的 Log Analytics 代理程式。

    注意

    對於支援混合式 Runbook 背景工作角色的機器,若要使用 Desired State Configuration (DSC) 來管理其設定,您必須將伺服器新增為 DSC 節點。

    注意

    具有 對應 sudo 許可權的 nxautomation 帳戶 必須存在於 Linux 混合式背景工作角色安裝期間。 如果您嘗試安裝背景工作角色,且帳戶不存在或沒有適當的許可權,則安裝會失敗。

  3. 確認代理程式正在向工作區報告。

    適用於Linux的Log Analytics代理程式會將機器連線到 Azure 監視器 Log Analytics 工作區。 當您將代理程式安裝在您的機器上並將其連線到工作區時,將會自動下載「混合式 Runbook 背景工作角色」所需的元件。

    幾分鐘後,當代理程式已成功連線到 Log Analytics 工作區時,您可以執行下列查詢,以驗證其是否正在將活動訊號資料傳送至工作區。

    Heartbeat
    | where Category == "Direct Agent"
    | where TimeGenerated > ago(30m)
    

    在搜尋結果中,您應該會看到機器的活動訊號記錄,其中指出其已連線且正在向服務報告。 根據預設,每個代理程式會將活動訊號記錄轉送至其獲指派的工作區。

  4. 執行下列命令,將機器新增至混合式 Runbook 背景工作角色群組,並指定 、、 -g-e參數-w-k的值。

    您可以從自動化帳戶中的 [金鑰] 頁面取得參數-k-e所需的資訊。 從頁面左側的 [帳戶設定] 區段底下選取 [金鑰]

    [管理金鑰] 頁面

    • 針對 -e 參數,複製 URL 的值。

    • 針對 -k 參數,複製 PRIMARY ACCESS KEY 的值。

    • -g針對 參數,指定新 Linux Hybrid Runbook 背景工作角色應加入的混合式 Runbook 背景工作角色群組名稱。 如果自動化帳戶中已經有此群組,即會將目前機器新增至其中。 如果此群組不存在,則會使用該名稱建立。

    • -w針對 參數,指定 Log Analytics 工作區識別碼。

    sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/onboarding.py --register -w <logAnalyticsworkspaceId> -k <automationSharedKey> -g <hybridGroupName> -e <automationEndpoint>
    
  5. 在腳本完成之後確認部署。 從自動化帳戶中 [混合式 Runbook 背景工作角色] 頁面的 [使用者混合式 Runbook 背景工作角色群組] 索引標籤下,將顯示新或現有群組和成員數目。 如果這是現有群組,成員數目就會遞增。 您可以從頁面上的清單中選取群組,從左側功能表中選擇 [混合式背景工作角色]。 在 [混合式背景工作角色] 頁面,您可查看列出群組的每個成員。

    注意

    如果您針對 Azure VM 使用適用於 Linux 的 Log Analytics 虛擬機擴充功能,建議您將 設定autoUpgradeMinorVersionfalse為 作為自動升級版本,可能會導致混合式 Runbook 背景工作角色發生問題。 若要瞭解如何手動升級擴充功能,請參閱 Azure CLI 部署

關閉簽章驗證

根據預設,Linux 混合式 Runbook 背景工作角色需要簽章驗證。 如果您對背景工作角色執行未簽署的 Runbook,您會看到 Signature validation failed 錯誤。 若要關閉簽章驗證,請以 root 身分執行下列命令。 將第二個參數取代為您的Log Analytics工作區標識碼。

sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/require_runbook_signature.py --false <logAnalyticsworkspaceId>

移除混合式 Runbook 背景工作角色

在代理程式型 Linux 混合式背景工作角色上以 root 身分執行下列命令:

  1.    sudo bash
    
  2.    rm -r /home/nxautomation
    
  3. 流程自動化下,選取混合式背景工作角色群組,然後選取混合式背景工作角色群組,以前往混合式背景工作角色群組頁面。

  4. 在 [混合式背景工作角色群組] 底下,選取 [混合式背景工作角色]。

  5. 在您要從混合式背景工作角色群組刪除的電腦旁,選取核取方塊。

  6. 選取 [刪除],以移除代理程式型 Linux 混合式背景工作角色。

    注意

    • 此指令碼不會從機器移除適用於 Linux 的 Log Analytics 代理程式。 它只會移除混合式 Runbook 背景工作角色的功能和設定。
    • 停用自動化帳戶中的 Private Link 之後,可能需要最多 60 分鐘的時間才能移除混合式 Runbook 背景工作角色。
    • 移除混合式背景工作角色之後,機器上的混合式背景工作角色驗證憑證有效期為 45 分鐘。

移除混合式背景工作角色群組

若要移除 Linux 機器的混合式 Runbook 背景工作角色群組,您可以使用與 Windows 混合式背景工作角色群組相同的步驟。 請參閱 移除混合式背景工作角色群組

管理混合式背景工作角色群組和混合式背景工作角色的角色權限

您可建立自動 Azure 自動化角色,並將下列權限授與混合式背景工作角色群組和混合式背景工作角色。 若要深入瞭解如何建立 Azure 自動化自訂角色,請參閱 Azure 自訂角色

動作 說明
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read 讀取混合式 Runbook 背景工作角色群組。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/write 建立混合式 Runbook 背景工作角色群組。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/delete 刪除混合式 Runbook 背景工作角色群組。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/read 讀取混合式 Runbbok 背景工作角色。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/delete 刪除混合式 Runbook 背景工作角色。

檢查混合式背景工作角色的版本

若要檢查代理程式型 Linux 混合式 Runbook 背景工作角色的版本,請移至下列路徑:

   sudo cat /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION

檔案 VERSION 具有混合式 Runbook 背景工作角色的版本號碼。

下一步