排解 Ops Agent 的 VM 擴充功能管理工具政策問題

如要診斷管理 Ops Agent 的 VM 擴充功能管理工具政策問題,請使用本文所述的疑難排解技術。如要瞭解如何排解 Ops Agent 問題,請參閱「排解 Ops Agent 問題」。

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

gcloud compute zone-vm-extension-policies 指令失敗時,回應會包含疑難排解建議。請根據錯誤訊息建議,修正指令旗標或引數中的錯誤。

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

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

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

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

  • 擴充功能政策無法安裝 Ops Agent。
  • 已安裝的 Ops Agent 發生錯誤,導致無法執行。

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

確認政策已安裝 Ops Agent

VM 擴充功能管理工具政策會使用 Compute Engine 訪客代理程式,將 Ops Agent 做為 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。如需後續步驟,請參閱「擴充功能政策無法安裝 Ops Agent」。

如果記錄中包含 Successfully installed plugin "ops-agent_nnnnnnnn" 等字串,表示擴充功能政策已成功安裝 Ops Agent。如要瞭解後續步驟,請參閱「已安裝的 Ops Agent 顯示『未偵測到』」。

擴充功能政策無法安裝 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 的狀態可能會是「未偵測到」:

確認 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 字串,代表您在建立或更新擴充功能政策時,提供的 Ops Agent 自訂設定無效。

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

  • 請參閱「設定 Ops Agent」一文,修正設定。Ops Agent 設定檔的結構。

  • 使用修正後的設定更新擴充功能政策。

Linux systemctl status 和 Windows Get-Service 指令不適用於 Ops Agent

您執行了 sudo systemctl status google-cloud-ops-agent"*" 等指令,但未傳回任何資訊。

如果 Ops Agent 是由 VM 擴充功能管理工具安裝及管理,則不會由作業系統的系統管理服務管理,也就是 Linux 上的 systemd 或 Windows 上的 Windows 服務管理員。

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

Linux systemctl restart 和 Windows Restart-Service 指令不適用於 Ops Agent

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

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

  • Linux:sudo systemctl [stop|start|restart]
  • Windows:Stop-Service、Start-Service、Restart-Service

如要停止或重新啟動由 VM 擴充功能管理工具管理的 Ops Agent,您必須刪除擴充功能政策,藉此解除安裝代理程式。如要進一步瞭解如何停止或重新啟動 Ops Agent,請參閱「重新啟動由擴充功能政策安裝的 Ops Agent」。

其他疑難排解資訊

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

如要進一步瞭解如何排解 Ops Agent 問題,請參閱「排解 Ops Agent 問題」。