如要診斷管理 Ops Agent 的 VM 擴充功能管理工具政策問題,請使用本文所述的疑難排解技術。如要瞭解如何排解 Ops Agent 問題,請參閱「排解 Ops Agent 問題」。
gcloud compute zone-vm-extension-policies 指令失敗
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
-
前往 Google Cloud 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
輸入以下查詢,然後點選「執行查詢」:
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 未安裝訪客代理程式。如要診斷並修正這個問題,請按照下列步驟操作:
確認 VM 使用的是 Compute Engine 訪客環境支援的作業系統。
查看 VM 上安裝的套件,確認其中包含
google-guest-agent。如果未安裝
google-guest-agent,請安裝訪客代理程式。
已安裝訪客代理程式,但版本過舊。如要診斷並修正這個問題,請按照下列步驟操作:
VM 擴充功能管理工具不支援 VM 的作業系統。詳情請參閱「查看支援的作業系統」。
已安裝的 Ops Agent 狀態為「未偵測到」
如果發生下列任一情況,Ops Agent 的狀態可能會是「未偵測到」:
VM 已安裝觀測能力代理程式。現有代理程式可能會造成衝突,因此必須解除安裝。詳情請參閱「解除安裝任何觀測能力代理程式」。
解除安裝先前安裝的代理程式後,您可以重新啟動 Ops Agent。
Ops Agent 的權限不足,無法將資料傳送至 Cloud Logging 和 Cloud Monitoring。詳情請參閱「遙測資料傳輸失敗的常見原因」。
確認 Ops Agent 設定有效
您透過建立或更新擴充功能政策,為 Ops Agent 提供自訂設定,但代理程式狀態為「未偵測到」。問題可能是自訂設定有誤。使用訪客代理程式偵錯記錄檔,找出設定錯誤。
啟用訪客代理程式偵錯記錄檔
如要瞭解如何啟用訪客代理程式的偵錯記錄檔,請參閱「查看訪客代理程式的偵錯記錄檔」。
查看偵錯記錄檔
Logs Explorer
-
前往 Google Cloud 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
輸入以下查詢,然後點選「執行查詢」:
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 問題」。