使用 VM 擴充功能管理工具政策安裝及管理作業套件代理程式

您可以使用 VM 擴充功能管理工具政策,在特定區域內的一組 Compute Engine VM 上安裝及管理作業套件代理程式。舉例來說,您可以使用這些政策執行下列工作:

  • 全體安裝:在可用區中的所有 VM,或可用區中由標籤識別的一組 VM 子集中,安裝作業套件代理程式。

  • 版本管控:

    • 將作業套件代理程式更新至最新版本。
    • 將作業代理程式版本固定在特定版本。
  • 設定管理:將自訂設定套用至政策管理的所有 VM 上的作業套件代理程式。

使用 VM 擴充功能管理工具建立政策,聲明要在 VM 上安裝哪些擴充功能。Ops Agent 是其中一個可用的擴充功能。如果作業套件代理程式是透過 VM 擴充功能管理工具安裝,VM 擴充功能管理工具政策就能管理 2.58.0 以上版本的作業套件代理程式。這些政策無法管理 2.58.0 之前的作業套件代理程式版本、透過其他方式安裝的作業套件代理程式執行個體,或是任何版本的舊版 Monitoring 代理程式Logging 代理程式

您可以使用 Google Cloud 控制台 或 Google Cloud CLI (gcloud),建立及管理 VM 擴充功能政策。

事前準備

開始使用 VM Extension Manager 擴充功能政策前,請先完成下列步驟:

查看支援的作業系統

嘗試使用 VM 擴充功能管理工具政策管理作業套件代理程式前,請先確認目標作業系統與作業套件代理程式和 VM 擴充功能管理工具都相容。

作業套件代理程式支援的所有作業系統,VM 擴充功能管理工具都支援,但 SUSE Linux Enterprise Server (SLES) 和 Ubuntu 除外。如要進一步瞭解作業套件代理程式支援的作業系統,請參閱「作業系統」一文。

如果作業系統同時支援作業套件代理程式和 VM 擴充功能管理工具,請繼續閱讀本文。

啟用使用 Ops Agent 時所需的 API

如要使用 Ops Agent 寫入記錄和指標,請務必在 Google Cloud 專案中啟用 Cloud Logging API 和 Cloud Monitoring API。

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the APIs

授予使用 Ops Agent 時所需的角色

如要取得使用 Ops Agent 寫入記錄和指標所需的權限,請要求管理員在服務帳戶中授予下列 IAM 角色:

  • 如何寫入記錄: 「記錄寫入者」記錄 (roles/logging.logWriter)
  • 如要寫入指標: Monitoring 指標寫入者 (roles/monitoring.metricWriter)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

如要進一步瞭解角色和作業套件代理程式,請參閱「授權作業套件代理程式」。

授予使用 VM 擴充功能管理工具所需的角色

如要取得建立、查看、修改及刪除 VM 擴充功能政策所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備建立、查看、修改及刪除 VM 擴充功能政策所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立、查看、修改及刪除 VM 擴充功能政策,必須具備下列權限:

  • 建立擴充功能政策: compute.vmExtensionPolicies.create
  • 如要查看擴充功能政策,請按照下列步驟操作: compute.vmExtensionPolicies.list
  • 如要查看擴充功能政策的詳細資料: compute.vmExtensionPolicies.get
  • 如要修改擴充功能政策: compute.vmExtensionPolicies.update
  • 如要刪除擴充功能政策: compute.vmExtensionPolicies.delete

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

如要進一步瞭解 Compute Engine 中的 IAM 角色和權限,請參閱「Compute Engine 角色和權限」。

安裝 Google Cloud CLI

您可以使用 Google Cloud 控制台或 Google Cloud CLI (gcloud) 建立及管理 VM 擴充功能政策。如要使用 gcloud,請先按照下列步驟安裝:

  1. 如果尚未安裝,請先安裝 Google Cloud CLI

    本文所述的擴充功能政策使用 beta 指令群組。

  1. 如果您尚未安裝 gcloud CLI 的 beta 元件,請執行下列指令:

    gcloud components install beta
    

    如要檢查是否已安裝 beta 元件,請執行下列指令:

    gcloud components list
    

    如果您先前已安裝 beta 元件,請確認您使用的是最新版本:

    gcloud components update
    

解除安裝所有可觀測性代理程式

建立 VM 擴充功能管理員政策,管理 VM 上的作業套件代理程式之前,請先確認 VM 上沒有作業套件代理程式,或舊版 Monitoring 代理程式和 Logging 代理程式的執行個體。在同一部 VM 上執行作業套件代理程式和舊版代理程式,可能會導致系統擷取重複的記錄,或指標擷取作業發生衝突。

如果您使用擴充功能政策在 VM 上安裝作業套件代理程式,但該 VM 已安裝其他可觀測性代理程式,政策會安裝代理程式,但系統偵測到衝突,因此代理程式無法執行。

移除現有代理程式的方式,取決於這些代理程式的安裝方式。

建立 VM 擴充功能政策,安裝作業套件代理程式

建立 VM 擴充功能政策,在 Compute Engine 虛擬機器 (VM) 群組中自動安裝及管理作業套件代理程式。定義政策後,您就能確保特定擴充功能 (例如 Ops Agent) 會安裝在符合指定條件 (例如 VM 標籤) 的 VM 上,並維持最新狀態。

政策衝突和優先順序

VM 擴充功能管理工具會為每項新政策設定優先順序,數字越小代表優先順序越高;預設優先順序為 1000。一個 VM 可以套用多項擴充功能政策 (例如作業套件代理程式),但 VM 只能有效套用一項作業套件代理程式擴充功能政策。

VM Extension Manager 會使用優先順序,解決套用至 VM 的政策之間的衝突。如要進一步瞭解解決程序,請參閱「政策優先順序和衝突解決方式」。

在區域中的所有 VM 上安裝最新版作業套件代理程式

如要建立政策,在可用區的所有 VM 上安裝最新版作業套件代理程式,並在發布新版本時更新作業套件代理程式,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 點選「+ 建立」
  3. 在「Name」(名稱) 欄位中,輸入政策名稱。
  4. 選用:在「Description」(說明) 欄位中輸入政策的說明。
  5. 在「Priority」欄位中指定優先順序編號,解決政策之間的衝突。數字越小越優先。預設值為 1000。
  6. 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。

  7. 在「管理擴充功能」部分中,按一下「新增擴充功能」,然後執行下列操作:

    1. 從「擴充功能」清單中選取「Google Cloud's Extension for Ops Agent」。
    2. 將「版本」欄位留空。
  8. 點選「建立」

gcloud

使用下列 gcloud beta compute zone-vm-extension-policies create 指令建立政策:

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

gcloud beta compute zone-vm-extension-policies create 會採用 --version 選項。 如果省略 --version 選項,政策會安裝最新版本,並在發布新版本時更新作業套件代理程式。

將可用區中所有 VM 的作業套件代理程式固定在特定版本

如要建立政策,在可用區的所有 VM 上安裝特定版本的 Ops Agent,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 點選「+ 建立」
  3. 在「Name」(名稱) 欄位中,輸入政策名稱。
  4. 選用:在「Description」(說明) 欄位中輸入政策的說明。
  5. 在「Priority」欄位中指定優先順序編號,解決政策之間的衝突。數字越小越優先。預設值為 1000。
  6. 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。

  7. 在「管理擴充功能」部分中,按一下「新增擴充功能」,然後執行下列操作:

    1. 從「擴充功能」清單中選取「Google Cloud's Extension for Ops Agent」。
    2. 從「版本」清單中選取要安裝的版本。 使用 2.58.0 以上版本。
  8. 點選「建立」

gcloud

使用下列 gcloud beta compute zone-vm-extension-policies create 指令建立政策:

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --version=ops-agent=VERSION

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

  • VERSION:要安裝的作業套件代理程式版本。 使用 2.58.0 以上版本。

    如果省略 --version 選項,政策會安裝最新版本,並在發布新版本時更新作業套件代理程式,如安裝最新版本的範例所示。

如需 Ops Agent 版本清單,請參閱 GitHub 上的 Ops Agent版本頁面

在具有特定標籤的可用區中,於 VM 安裝作業套件代理程式

如要建立政策,在具有特定標籤的可用區中,為 VM 安裝最新版作業套件代理程式,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 點選「+ 建立」
  3. 在「Name」(名稱) 欄位中,輸入政策名稱。
  4. 選用:在「Description」(說明) 欄位中輸入政策的說明。
  5. 在「Priority」欄位中指定優先順序編號,解決政策之間的衝突。數字越小越優先。預設值為 1000。
  6. 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。

  7. 在「擴充功能」部分中,按一下「新增擴充功能」,然後執行下列操作:

    1. 從「擴充功能」清單中選取「Google Cloud's Extension for Ops Agent」。
    2. 將「版本」欄位留空。
  8. 在「Target VM instances」(目標 VM 執行個體) 區段中,選取要套用政策的 VM。如要選取具有特定標籤的 VM,請按一下「新增標籤」,然後新增鍵/值組合。

  9. 點選「建立」

gcloud

使用 --inclusion-labels 選項搭配 gcloud beta compute zone-vm-extension-policies create 指令,指定以半形逗號分隔的鍵/值組合清單:

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --inclusion-labels=KEY1=VALUE1,KEY2=VALUE2

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

  • KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的鍵/值組合清單,用於定義選取器的納入標籤。VM 必須具備選取器中指定的所有標籤 (邏輯 AND),才會納入其中。如果多次指定 --inclusion_labels 選項,政策會以任何選取器中的所有標籤為目標 (邏輯 OR)。如果省略這個選項,政策會以指定可用區中的所有 VM 為目標。

在可用區的所有 VM 中,安裝具有自訂設定的作業套件代理程式

如要建立政策,在可用區的所有 VM 上安裝最新版作業套件代理程式,並為作業套件代理程式提供自訂設定,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 點選「+ 建立」
  3. 在「Name」(名稱) 欄位中,輸入政策名稱。
  4. 選用:在「Description」(說明) 欄位中輸入政策的說明。
  5. 在「Priority」欄位中指定優先順序編號,解決政策之間的衝突。數字越小越優先。預設值為 1000。
  6. 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。

  7. 在「擴充功能」部分中,按一下「新增擴充功能」,然後執行下列操作:

    1. 從「擴充功能」清單中選取「Google Cloud's Extension for Ops Agent」。
    2. 將「版本」欄位留空。
    3. 在「設定檔內容」欄位中,輸入 Ops Agent 的 YAML 設定字串
  8. 點選「建立」

gcloud

使用 --config-from-file 選項搭配 gcloud beta compute zone-vm-extension-policies create 指令,指定設定檔:

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

  • OPS_AGENT_CONFIG_PATH:包含 Ops Agent YAML 設定字串的檔案路徑。您執行 gcloud 指令的環境中必須有這個檔案。

    作業套件代理程式的設定 YAML 可能很長。將設定放入檔案並傳遞至 gcloud CLI,比嘗試在指令列輸入格式正確的 YAML 更不容易出錯。建立政策後變更這個檔案不會更新政策,如要更新政策,請使用 gcloud beta compute zone-vm-extension-policies update 指令。

如果您在建立或更新擴充功能政策時,提供作業套件代理程式的自訂設定,政策就會部署具有自訂設定的作業套件代理程式。您不需要手動重新啟動代理程式。

設定會與擴充功能政策一併儲存,因此請勿在設定中加入密碼等機密資料。由於設定會與擴充功能政策一起儲存,因此修改設定檔不會變更代理程式的設定。您必須使用 gcloud beta compute zone-vm-extension-policies update 指令,更新政策儲存的設定。

為作業套件代理程式提供自訂設定時,VM 擴充功能管理工具會將設定複製到作業套件代理程式在目標 VM 上使用的使用者指定設定檔位置:

  • Linux:/etc/google-cloud-ops-agent/config.yaml
  • Windows:C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

如果 VM 上有 config.yaml 檔案,擴充功能政策會覆寫該檔案。

如要瞭解如何使用Google Cloud 控制台和 gcloud CLI 建立 VM 擴充功能政策,請參閱「 建立擴充功能政策來安裝 VM 擴充功能」。

透過更新 VM 擴充功能政策管理作業套件代理程式

如要變更政策管理 Ops Agent 的方式,請更新政策。 更新政策後,VM 擴充功能管理工具通常會在 1 分鐘內,將變更套用至所有適用的 VM。如果您修改納入標籤,系統可能會根據 VM 是否符合更新後的標籤,在新的 VM 上安裝作業套件代理程式,或從現有 VM 解除安裝。

以下各節說明如何管理 Ops Agent,以執行下列操作:

更新可用區中所有 VM 的固定版作業套件代理程式

如要變更可用區中所有 VM 的固定 Ops Agent 版本,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 選取要更新的政策。
  3. 按一下 [編輯]
  4. 在「管理擴充功能」部分執行下列操作:
    1. 選取「Google Cloud's Extension for Ops Agent」。
    2. 修改「版本」欄位。使用 2.58.0 以上版本。
    3. 按一下 [完成]
  5. 按一下 [儲存]

gcloud

使用 gcloud beta compute zone-vm-extension-policies update 搭配 --version 選項指令,修改已釘選的代理程式版本。

使用 gcloud 更新政策時,要求會完全取代現有政策。您省略的任何選填欄位都會還原為預設值,而不是保留修改後政策的現有值。

如要透過政策變更可用區中所有 VM 安裝的 Ops Agent 版本,請使用下列指令:

gcloud beta compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --version=ops-agent=VERSION

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

  • VERSION:要安裝的作業套件代理程式版本。 使用 2.58.0 以上版本。 如需版本清單,請參閱 GitHub 上的 Ops Agent版本頁面

    如果省略 --version 選項,政策會安裝最新版本,並在發布新版本時更新作業套件代理程式,如安裝最新版本的範例所示。

修改可用區中所有 VM 的作業套件代理程式設定

如要修改可用區中所有 VM 的 Ops Agent 設定,請執行下列操作:

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 選取要更新的政策。
  3. 按一下 [編輯]
  4. 在「管理擴充功能」部分執行下列操作:
    1. 選取「Google Cloud's Extension for Ops Agent」。
    2. 修改「設定檔內容」欄位。
    3. 按一下 [完成]
  5. 按一下 [儲存]

gcloud

使用 gcloud beta compute zone-vm-extension-policies update 搭配 --config-from-file 選項或 --config 選項,指定新設定。

使用 gcloud 更新政策時,要求會完全取代現有政策。您省略的任何選填欄位都會還原為預設值,而不是保留修改後政策的現有值。

如要透過政策變更可用區中所有 VM 上安裝的 Ops Agent 設定,請使用下列指令:

gcloud beta compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

  • OPS_AGENT_CONFIG_PATH:包含 Ops Agent YAML 設定字串的檔案路徑。您執行 gcloud 指令的環境中必須有這個檔案。

    作業套件代理程式的設定 YAML 可能很長。將設定放入檔案並將檔案傳遞至 gcloud CLI,比嘗試在指令列輸入格式正確的 YAML 更不容易出錯。

如果您在建立或更新擴充功能政策時,提供作業套件代理程式的自訂設定,政策就會部署具有自訂設定的作業套件代理程式。您不需要手動重新啟動代理程式。

設定會與擴充功能政策一併儲存,因此請勿在設定中加入密碼等機密資料。由於設定會與擴充功能政策一起儲存,因此修改設定檔不會變更代理程式的設定。您必須使用 gcloud beta compute zone-vm-extension-policies update 指令,更新政策儲存的設定。

為作業套件代理程式提供自訂設定時,VM 擴充功能管理工具會將設定複製到作業套件代理程式在目標 VM 上使用的使用者指定設定檔位置:

  • Linux:/etc/google-cloud-ops-agent/config.yaml
  • Windows:C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

如果 VM 上有 config.yaml 檔案,擴充功能政策會覆寫該檔案。

如需透過Google Cloud 控制台和 gcloud CLI 管理 VM 擴充功能政策的一般資訊,請參閱「透過更新 VM 擴充功能政策修改擴充功能」。

透過刪除 VM 擴充功能政策解除安裝作業套件代理程式

如要解除安裝作業套件代理程式,請刪除管理代理程式的 VM 擴充功能政策。如果另有一項優先順序較低的有效政策套用至 VM,且該政策也管理作業套件代理程式,則代理程式會根據優先順序較低的政策,繼續安裝在該 VM 上。

VM 擴充功能管理工具會在政策刪除後一分鐘內,從所有可存取的 VM 移除 Ops Agent。如果無法存取 VM,VM 擴充功能管理員會略過刪除代理程式的步驟。如果 VM 恢復運作,VM 擴充功能管理工具就會移除代理程式。

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 選取要刪除的政策。
  3. 按一下「Delete」(刪除)
  4. 在確認對話方塊中按一下「刪除」

gcloud

如要刪除管理 Ops Agent 的 VM 擴充功能政策,請使用 gcloud beta compute zone-vm-extension-policies delete 指令:

gcloud beta compute zone-vm-extension-policies delete POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

擷取 VM 擴充功能政策的相關資訊

您可以擷取現有 VM 擴充功能政策的下列資訊:

  • Google Cloud 專案中的所有政策清單。
  • 特定政策的設定資訊。

控制台

  1. 前往 Google Cloud 控制台的「擴充功能政策」頁面:

    前往「擴充功能政策」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

    這個頁面會列出專案中的所有 VM 擴充功能政策。
  2. 如要查看特定擴充功能政策的詳細資料,請按一下政策名稱。

gcloud

列出 VM 擴充功能政策

如要列出區域中所有 VM 擴充功能政策的相關資訊,請使用 gcloud beta compute zone-vm-extension-policies list

gcloud beta compute zone-vm-extension-policies list \
  --project=PROJECT_ID \
  --zone=ZONE \
  --page-size=PAGE_SIZE_INTEGER

在指令中替換下列變數:

描述具名 VM 擴充功能政策

如要擷取區域中具名政策的設定,請使用 gcloud beta compute zone-vm-extension-policies describe

gcloud beta compute zone-vm-extension-policies describe POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

在指令中替換下列變數:

  • POLICY_NAME:VM 擴充功能政策的名稱。
  • PROJECT_ID:專案的 ID。
  • ZONE:目標可用區,例如 us-central1-f

如要瞭解如何使用Google Cloud 控制台和 gcloud CLI 擷取 VM 擴充功能政策的相關資訊,請參閱「 查看擴充功能政策」。

驗證作業套件代理程式的安裝作業

本節將說明如何執行下列操作:

驗證 Ops Agent 安裝狀態或版本

如要判斷 Ops Agent 的狀態或版本,請使用下列任一Google Cloud 控制台頁面:

Compute Engine

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往「VM instances」(VM 執行個體) 頁面

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果

  2. 從清單中選取 VM。
  3. 按一下「可觀測性」分頁標籤。

Cloud Monitoring

  1. 前往 Google Cloud 控制台的「VM Instances」(VM 執行個體) 頁面

    前往「VM Instances」(VM 執行個體)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 選取「清單」檢視。

在 VM 上安裝作業套件代理程式並開始收集記錄和指標後,代理程式的狀態會標示為綠色勾號,顯示在「作業套件代理程式」標籤旁。

如要判斷已安裝的代理程式版本,請將滑鼠游標懸停在 Compute Engine 或 Monitoring 資訊主頁的「作業套件代理程式」標籤上。

確認 Ops Agent 正在收集遙測資料

如果已成功安裝 Ops Agent,且代理程式正常運作,就會將指標傳送至 Cloud Monitoring,並將記錄檔傳送至 Cloud Logging。

重新啟動擴充功能政策安裝的作業套件代理程式

如果作業套件代理程式是由 VM 擴充功能管理工具安裝及管理,則作業系統的系統管理服務 (Linux 上的 systemd 或 Windows 上的 Windows 服務管理工具) 不會管理作業套件代理程式。因此,Linux systemctl 指令和 Windows *-Service 指令不適用於透過擴充功能政策安裝的 Ops Agent。

如要重新啟動透過擴充功能政策安裝的作業套件代理程式,請執行下列其中一項操作:

  • 重新建立政策。

    1. 刪除政策。刪除政策會停止並解除安裝 Ops Agent。

    2. 建立新政策。新政策會安裝並啟動 Ops Agent。

  • 使用暫時性、優先順序較高的政策。如果原始政策會影響大量 VM,但您只想在少數 VM 上重新啟動 Ops Agent,請為這些 VM 新增標籤,並設定新政策來篩選標籤。

    舉例來說,如果優先順序為 1000 的政策無法在 VM 上啟動作業套件代理程式,您可以將 status=failed 等標籤新增至 VM。然後建立優先順序較高的新政策,例如 500。舉例來說,Google Cloud CLI 指令可能如下所示:

    gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
      --project=PROJECT_ID \
      --zone=ZONE \
      --extensions=ops-agent
      --inclusion-labels=status=failed \
      --priority=500 \
      --config-from-file=ops-agent=/usr/ops-agent-config.yaml
    

    在指令中替換下列變數:

    • POLICY_NAME:VM 擴充功能政策的名稱。
    • PROJECT_ID:專案的 ID。
    • ZONE:目標可用區,例如 us-central1-f

    新政策成功安裝作業套件代理程式後,請刪除政策並從 VM 移除標籤。由於原始政策仍處於啟用狀態,作業套件代理程式會繼續安裝在 VM 上。

在 VM 上啟用客體代理程式偵錯記錄

VM Extension Manager 政策會使用 Compute Engine 訪客代理程式,以 VM 擴充功能的形式管理作業套件代理程式。如要瞭解如何啟用客體代理程式的偵錯記錄,請參閱「查看客體代理程式的偵錯記錄」。

排解擴充功能政策問題

本節提供相關資訊,協助您排解使用擴充功能政策管理 Ops Agent 時遇到的問題:

如要瞭解如何排解作業代理程式問題,請參閱「排解作業代理程式問題」。

gcloud beta compute zone-vm-extension-policies 指令失敗

如果 gcloud beta compute zone-vm-extension-policies 指令失敗,回應會提供疑難排解建議。修正錯誤訊息建議的指令標記或引數錯誤。

如果指令輸出內容提及 IAM 權限不足,請參閱「授予使用 VM 擴充功能管理工具所需的角色」一文,瞭解必要角色和權限。

擴充功能政策已建立,但 Ops Agent 狀態為「未偵測到」

您已成功建立擴充功能政策,但 Ops Agent 在 VM 上顯示「未偵測到」狀態

如果發生下列任一情況,Ops Agent 可能會顯示為「未偵測到」:

  • 擴充功能政策無法安裝作業套件代理程式。
  • 已安裝的作業套件代理程式發生錯誤狀況,導致無法執行。

下列各節將說明如何診斷這些情況。

確認政策是否已安裝 Ops Agent

VM Extension Manager 政策會使用 Compute Engine 訪客代理程式,以 VM 擴充功能的形式管理作業套件代理程式。

如要判斷 Ops Agent 是否由擴充功能政策安裝,請使用下列其中一種方式,尋找訪客代理程式的記錄檔項目:

Logs Explorer

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 輸入以下查詢並點按「執行查詢」

    log_id("GCEGuestAgentManager")

Linux

在 Compute Engine VM 上執行下列指令:

journalctl -u google-guest-agent-manager

Windows

在 Compute Engine VM 上執行下列指令:

Get-Eventlog -Source google_guest_agent_manager -LogName Application

如果看到含有 Failed to install plugin "ops-agent-plugin" ... 等字串的記錄,或是查詢未傳回任何記錄,表示擴充功能政策無法安裝 Ops Agent。如要瞭解後續步驟,請參閱「擴充功能政策無法安裝作業套件代理程式」。

如果看到含有 Successfully installed plugin "ops-agent_nnnnnnnn" 等字串的記錄,表示擴充功能政策已成功安裝 Ops Agent。如要瞭解後續步驟,請參閱「系統『未偵測到』已安裝的作業套件代理程式」。

擴充功能政策無法安裝作業套件代理程式

如果出現下列任一情況,擴充功能政策可能無法生效:

  • VM 未安裝客體代理程式。如要診斷及修正這個情況,請按照下列步驟操作:

    1. 確認 VM 使用的作業系統支援 Compute Engine 訪客環境。

    2. 查看 VM 上安裝的套件,確認是否包含 google-guest-agent

    3. 如果未安裝 google-guest-agent,請安裝訪客代理程式

  • 已安裝訪客代理程式,但版本過舊。如要診斷及修正這個情況,請按照下列步驟操作:

    1. 驗證訪客環境,判斷 google-guest-agent 套件的版本。VM 擴充功能管理工具需要 20241209.01 以上版本。

    2. 如果 google-guest-agent 的版本舊於 20241209.01,請更新訪客環境

  • VM 擴充功能管理員不支援 VM 的作業系統。詳情請參閱「查看支援的作業系統」。

已安裝的 Ops Agent 狀態為「未偵測到」

如果發生下列任一情況,Ops Agent 的狀態可能會顯示為「未偵測到」:

確認作業套件代理程式設定有效

您已建立或更新擴充功能政策,為作業套件代理程式提供自訂設定,但代理程式狀態為「未偵測到」。問題可能是自訂設定有誤。使用客體代理程式偵錯記錄檔,找出設定錯誤。

啟用訪客代理程式偵錯記錄功能

如要瞭解如何啟用客體代理程式的偵錯記錄,請參閱「查看客體代理程式的偵錯記錄」。

檢查偵錯記錄

Logs Explorer

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 輸入以下查詢,然後點選「執行查詢」

    severity>=DEBUG log_id("GCEGuestAgentManager") "The agent config file is not valid"

Linux

在 Linux Compute Engine VM 上執行下列指令:

journalctl -u google-guest-agent-manager | grep "The agent config file is not valid"

Windows

在 Windows Compute Engine VM 上執行下列指令:

Get-Eventlog -Source google_guest_agent_manager -LogName Application | Where-Object {$_.Message -like "*The agent config file is not valid*"}

如果記錄包含 The agent config file is not valid 字串,表示您在建立或更新擴充功能政策時提供的作業套件代理程式自訂設定無效。

如要修正這個問題,請按照下列步驟操作:

Linux systemctl status 和 Windows Get-Service 指令無法搭配作業套件代理程式使用

您執行類似 sudo systemctl status google-cloud-ops-agent"*" 的指令,但系統未傳回任何資訊。

如果作業套件代理程式是由 VM 擴充功能管理工具安裝及管理,則作業系統的系統管理服務 (Linux 上的 systemd 或 Windows 上的 Windows 服務管理工具) 不會管理作業套件代理程式。

如要查看 VM 擴充功能管理工具管理的 Ops Agent 狀態資訊,請參閱下列內容:

Linux systemctl restart 和 Windows Restart-Service 指令無法搭配作業套件代理程式使用

您執行 sudo systemctl restart google-cloud-ops-agent 等指令,但 Ops Agent 未重新啟動。

如果作業套件代理程式是由 VM 擴充功能管理工具安裝及管理,則作業系統的系統管理服務 (Linux 上的 systemd 或 Windows 上的 Windows 服務管理工具) 不會管理作業套件代理程式。因此,您無法手動停止或啟動 Ops Agent,且下列指令不適用於 Ops Agent:

  • Linux:sudo systemctl [stop|start|restart]
  • Windows:Stop-ServiceStart-ServiceRestart-Service

如要停止或重新啟動由 VM 擴充功能管理員管理的 Ops Agent,請刪除擴充功能政策,藉此解除安裝代理程式。如要進一步瞭解如何停止或重新啟動作業套件代理程式,請參閱「重新啟動透過擴充功能政策安裝的作業套件代理程式」。

其他疑難排解資訊

如要進一步瞭解如何排解建立及使用 VM 擴充功能管理工具政策時的問題,請參閱「排解 VM 擴充功能問題」。

如要進一步瞭解如何排解作業套件代理程式問題,請參閱「排解作業套件代理程式問題」。

配額

如要瞭解可在 Google Cloud 專案中建立的擴充功能政策數量,請參閱「配額」。

定價

如要瞭解使用 VM 擴充功能管理工具的相關費用,請參閱「定價」。

若選擇安裝 Ops Agent,我們可能會針對代理程式傳送至您 Google Cloud 專案的指標、記錄檔或追蹤記錄向您收費。如需定價資訊,請參閱「Google Cloud Observability 定價」。

後續步驟