您可以使用 VM 擴充功能管理工具政策,在多個 Compute Engine VM 上安裝 Ops Agent。擴充功能政策可在 Google Cloud 專案中全域安裝 Ops Agent,或在特定可用區內安裝,並保持代理程式版本更新,以及將自訂設定套用至代理程式。
事前準備
建立 VM 擴充功能管理工具擴充功能政策來管理 Ops Agent 之前,請先完成下列操作:
查看支援的作業系統,確認您的作業系統支援 Ops Agent 和 VM 擴充功能管理工具。
啟用 Ops Agent 和 VM 擴充功能管理工具使用的 API。
如要使用指令列介面建立及管理擴充功能政策,請安裝 Google Cloud CLI。
您可以使用Google Cloud 控制台或 Google Cloud CLI (gcloud),建立及管理可用區 VM 擴充功能政策。您可以使用 gcloud 建立及管理全域 VM 擴充功能政策。
移除現有的觀測能力代理程式
為 Ops Agent 建立 VM 擴充功能管理工具政策前,請確認 VM 中沒有 Ops Agent 或舊版 Monitoring 代理程式和 Logging 代理程式。在同一個 VM 上執行 Ops Agent 和舊版代理程式,可能會導致重複擷取記錄,或指標擷取作業發生衝突。
如果使用擴充功能政策,在已安裝其他觀測能力代理程式的 VM 上安裝 Ops Agent,政策會安裝代理程式,但代理程式會因偵測到衝突而無法執行。
移除現有代理程式的方式取決於安裝方式。
由 VM 管理員 OS 設定政策安裝的代理程式,包括:
- 在建立 VM 時,使用 Google Cloud 控制台安裝 Ops Agent。
- 由正式發布版 VM 管理員 OS Config 政策安裝的 Ops Agent。
- Ops Agent,或由 Beta 版 VM 管理員 OS Config 政策安裝的舊版 Monitoring 代理程式或 Logging 代理程式。
如要瞭解如何使用這些政策識別 VM,請參閱「尋找 Ops Agent OS 政策涵蓋的 VM」。
如要瞭解如何解除安裝代理程式及移除 OS Config 政策,請參閱「在 Ops Agent OS 政策涵蓋的 VM 上解除安裝 Ops Agent」。
使用安裝指令碼手動安裝的代理程式。如要瞭解如何解除安裝代理程式,請參閱下列說明:
啟用使用 Ops Agent 所需的 API
如要使用 Ops Agent 寫入記錄和指標,您必須在 Google Cloud 專案中啟用 Cloud Logging API 和 Cloud Monitoring API。
啟用 API 所需的角色
如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過擁有者角色 (roles/owner) 取得這項權限。否則,您可以透過服務使用情形管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
授予使用 Ops Agent 所需的角色
如要取得使用 Ops Agent 寫入記錄和指標所需的權限,請要求管理員在服務帳戶中授予下列 IAM 角色:
-
寫入記錄:Logging 記錄寫入者 (
roles/logging.logWriter) -
如要寫入指標:Monitoring 指標寫入者 (
roles/monitoring.metricWriter)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要進一步瞭解角色和 Ops Agent,請參閱「授權 Ops Agent」。
啟用 VM 擴充功能管理工具使用的 API
VM 擴充功能管理工具會使用 Compute Engine API。如果尚未啟用,請在 Google Cloud 專案中啟用這個 API。
授予使用 VM 擴充功能管理工具所需的角色
如要取得建立 VM 擴充功能政策所需的權限,請要求管理員授予您專案的下列 IAM 角色:
-
如要建立擴充功能政策:VM 擴充功能政策管理員 (
roles/compute.vmExtensionPolicyAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備建立 VM 擴充功能政策所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能建立 VM 擴充功能政策:
-
建立擴充功能政策:
compute.vmExtensionPolicies.create
如要進一步瞭解 Compute Engine 的 IAM 角色和權限,請參閱「Compute Engine 角色和權限」。
安裝 Google Cloud CLI
您可以使用 Google Cloud 控制台或 Google Cloud CLI (gcloud) 建立及管理 VM 擴充功能政策。如要使用 gcloud,請先安裝 Google Cloud CLI。
如要查看已安裝的元件,請執行下列指令:
gcloud components list
如要確認您使用的是最新版本,請執行下列指令:
gcloud components update
政策衝突和優先順序
VM 擴充功能管理工具會為每項新政策指派優先順序,數字越小代表優先順序越高,預設優先順序為 1000。VM 可由多項政策涵蓋,例如 Ops Agent 擴充功能,但 VM 上只有一項 Ops Agent 擴充功能政策會生效。
VM 擴充功能管理工具會依據優先順序,解決套用至 VM 的政策衝突。如要進一步瞭解解決程序,請參閱「政策優先順序和衝突解決」。
全域政策的推出計畫
VM 擴充功能管理工具的全域政策會使用推出計畫,決定如何將政策發布至目標 VM。推出計畫分為兩種:
預先定義的推出計畫。有兩種預先定義的推出計畫,可透過 gcloud CLI 指令的
--rollout-predefined-plan選項值選擇。緩慢推出:在一段時間內,逐步在不同可用區部署 Ops Agent。建議採用這項推出計畫。
使用
--rollout-predefined-plan=slow_rollout選項指定這項推出計畫。快速推出:立即將 Ops Agent 部署至所有可用區和區域中的所有目標 VM。
使用
--rollout-predefined-plan=fast_rollout選項指定這項推出計畫。
自訂推出計畫,使用 gcloud CLI 指令的
--rollout-custom-plan選項指定。如要建立自訂推出計畫,請將計畫新增至 Google Cloud 專案的推出計畫組合。詳情請參閱 Compute Engine API 方法
rolloutPlans.insert。
如要進一步瞭解推出計畫,請參閱「 全域政策的推出計畫」。
建立 VM 擴充功能政策,以便安裝 Ops Agent
您可以使用 VM 擴充功能管理工具建立政策,宣告要在 VM 上安裝哪些擴充功能。Ops Agent 是可用的擴充功能之一。定義政策後,即可確保符合指定條件 (例如 VM 標籤) 的任何 VM,都會安裝及維護支援的擴充功能,包括 Ops Agent。
您可以使用 Ops Agent 的擴充功能政策執行下列工作:
機群安裝:在下列項目安裝 Ops Agent:
- Google Cloud 專案中一或多個可用區的所有 VM。
- 全球所有 VM (位於 Google Cloud 專案中)。
- 可用區中的 VM 子集,以標籤識別。
- Google Cloud 專案中各可用區內的一組 VM,以標籤識別。
版本管控:
- 將 Ops Agent 更新至最新版本。
- 將 Ops Agent 版本固定在特定版本。
設定管理:將自訂設定套用至政策管理的所有 VM 上的 Ops Agent。
以下各節提供政策範例,說明如何根據特定條件安裝 Ops Agent。
如果 Ops Agent 是透過擴充功能政策安裝,VM 擴充功能管理工具支援 2.58.0 以上版本的 Ops Agent。VM 擴充功能管理工具無法管理舊版 Ops Agent、透過其他方式安裝的 Ops Agent 執行個體,或舊版 Monitoring 代理程式或 Logging 代理程式。
在所有 VM 上安裝最新版 Ops Agent
如要建立政策,在可用區或全球的所有 VM 上安裝最新版 Ops Agent,並在新版本發布時更新 Ops Agent,請按照下列步驟操作:
控制台
如要建立可用區政策,可以使用 Google Cloud 控制台。
-
前往 Google Cloud 控制台的「Extension policies」(擴充功能政策) 頁面:
前往「Extension policies」(擴充功能政策)
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果。
- 按一下「+ 建立」。
- 在「Name」(名稱) 欄位中輸入政策名稱。
- 選用:在「Description」(說明) 欄位中輸入政策說明。
- 在「Priority」(優先順序) 欄位中指定優先順序值,以解決政策之間的衝突。數字越小,優先順序越高。預設值為 1000。
- 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。
- 在「Manage extensions」(管理擴充功能) 部分,按一下「Add extension」(新增擴充功能),然後執行下列操作:
- 從「Extension」(擴充功能) 清單中選取
Google Cloud's Extension for Ops Agent。 - 將「Version」(版本) 欄位留空。
- 從「Extension」(擴充功能) 清單中選取
- 點選「建立」。
gcloud
如要建立可用區或全域政策,請使用 gcloud CLI。
區域
使用下列 gcloud compute zone-vm-extension-policies create 指令建立政策:
gcloud 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 compute zone-vm-extension-policies create 指令會採用 --version 選項。如果省略 --version 選項,政策會安裝最新版本,並在新版本發布時更新 Ops Agent。
全球
使用下列 gcloud compute global-vm-extension-policies create 指令建立政策:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
gcloud compute global-vm-extension-policies create 指令會採用 --version 選項。如果省略 --version 選項,政策會安裝最新版本,並在新版本發布時更新 Ops Agent。
將所有 VM 的 Ops Agent 固定在特定版本
如要建立政策,在可用區或全域的所有 VM 上安裝特定版本的 Ops Agent,請按照下列步驟操作:
控制台
如要建立可用區政策,可以使用 Google Cloud 控制台。
-
前往 Google Cloud 控制台的「Extension policies」(擴充功能政策) 頁面:
前往「Extension policies」(擴充功能政策)
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果。
- 按一下「+ 建立」。
- 在「Name」(名稱) 欄位中輸入政策名稱。
- 選用:在「Description」(說明) 欄位中輸入政策說明。
- 在「Priority」(優先順序) 欄位中指定優先順序值,以解決政策之間的衝突。數字越小,優先順序越高。預設值為 1000。
- 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。
- 在「Manage extensions」(管理擴充功能) 部分,按一下「Add extension」(新增擴充功能),然後執行下列操作:
- 從「Extension」(擴充功能) 清單中選取
Google Cloud's Extension for Ops Agent。 - 從「Version」(版本) 清單中選取要安裝的版本。請使用 2.58.0 以上版本。
- 從「Extension」(擴充功能) 清單中選取
- 點選「建立」。
gcloud
如要建立可用區或全域政策,請使用 gcloud CLI。
區域
使用下列 gcloud compute zone-vm-extension-policies create 指令建立政策:
gcloud 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:要安裝的 Ops Agent 版本。
請使用 2.58.0 以上版本。
如果省略
--version選項,政策就會安裝最新版本,並在新版本發布時更新 Ops Agent,如安裝最新版本的範例所示。
全球
使用下列 gcloud compute global-vm-extension-policies create 指令建立政策:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--version=ops-agent=VERSION
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
- VERSION:要安裝的 Ops Agent 版本。
請使用 2.58.0 以上版本。
如果省略
--version選項,政策就會安裝最新版本,並在新版本發布時更新 Ops Agent,如安裝最新版本的範例所示。
如需 Ops Agent 版本清單,請參閱 GitHub 上的 Ops Agent 版本頁面。
在具有特定標籤的 VM 上安裝 Ops Agent
如要建立政策,在可用區或全域中具有特定標籤的 VM 上安裝最新版 Ops Agent,請按照下列步驟操作:
控制台
如要建立可用區政策,可以使用 Google Cloud 控制台。
-
前往 Google Cloud 控制台的「Extension policies」(擴充功能政策) 頁面:
前往「Extension policies」(擴充功能政策)
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果。
- 按一下「+ 建立」。
- 在「Name」(名稱) 欄位中輸入政策名稱。
- 選用:在「Description」(說明) 欄位中輸入政策說明。
- 在「Priority」(優先順序) 欄位中指定優先順序值,以解決政策之間的衝突。數字越小,優先順序越高。預設值為 1000。
- 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。
- 在「Manage extensions」(管理擴充功能) 部分,按一下「Add extension」(新增擴充功能),然後執行下列操作:
- 從「Extension」(擴充功能) 清單中選取
Google Cloud's Extension for Ops Agent。 - 將「Version」(版本) 欄位留空。
- 從「Extension」(擴充功能) 清單中選取
- 在「Target VM instances」(目標 VM 執行個體) 區段中,選取要套用政策的 VM。如要選取具有特定標籤的 VM,請按一下「Add labels」(新增標籤),然後新增鍵/值組合。
- 點選「建立」。
gcloud
如要建立可用區或全域政策,請使用 gcloud CLI。
區域
使用 gcloud compute zone-vm-extension-policies create 指令的 --inclusion-labels 選項,指定以半形逗號分隔的鍵/值組合清單:
gcloud 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選項,政策會指定符合任一選取器中所有標籤的 VM (邏輯 OR)。如果省略這個選項,政策會指定特定可用區中的所有 VM。
全球
使用 gcloud compute global-vm-extension-policies create 指令的 --inclusion-labels 選項,指定以半形逗號分隔的鍵/值組合清單:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--inclusion-labels=KEY1=VALUE1,KEY2=VALUE2
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
- KEY1=VALUE1,KEY2=VALUE2:以半形逗號分隔的鍵/值組合清單,用於定義選取器的納入標籤。VM 必須具備選取器中指定的所有標籤 (邏輯 AND),才會納入。如果多次指定
--inclusion_labels選項,政策會指定符合任一選取器中所有標籤的 VM (邏輯 OR)。如果省略這個選項,政策會指定特定可用區中的所有 VM。
在所有 VM 上安裝 Ops Agent 並套用自訂設定
如要建立政策,在可用區或全域的所有 VM 上安裝最新版 Ops Agent,並為 Ops Agent 提供自訂設定,請按照下列步驟操作:
控制台
如要建立可用區政策,可以使用 Google Cloud 控制台。
-
前往 Google Cloud 控制台的「Extension policies」(擴充功能政策) 頁面:
前往「Extension policies」(擴充功能政策)
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果。
- 按一下「+ 建立」。
- 在「Name」(名稱) 欄位中輸入政策名稱。
- 選用:在「Description」(說明) 欄位中輸入政策說明。
- 在「Priority」(優先順序) 欄位中指定優先順序值,以解決政策之間的衝突。數字越小,優先順序越高。預設值為 1000。
- 在「Zone」(可用區) 清單中,選取要套用這項政策的可用區。
- 在「Manage extensions」(管理擴充功能) 部分,按一下「Add extension」(新增擴充功能),然後執行下列操作:
- 從「Extension」(擴充功能) 清單中選取
Google Cloud's Extension for Ops Agent。 - 將「Version」(版本) 欄位留空。
- 在「Config file content」(設定檔內容) 欄位中,輸入 Ops Agent 的 YAML 設定字串。
- 從「Extension」(擴充功能) 清單中選取
- 點選「建立」。
gcloud
如要建立可用區或全域政策,請使用 gcloud CLI。
區域
使用 gcloud compute zone-vm-extension-policies create 指令的 --config-from-file 選項,指定設定檔:
gcloud 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 指令的環境中。
Ops Agent 的設定 YAML 可能很長。將設定放入檔案並傳遞至 gcloud CLI,比嘗試在指令列中輸入格式正確的 YAML 更不容易出錯。建立政策後,變更這個檔案不會更新政策。如要更新政策,請使用
gcloud compute zone-vm-extension-policiesupdate指令。
全球
使用 gcloud compute global-vm-extension-policies create 指令的 --config-from-file 選項,指定設定檔:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
- OPS_AGENT_CONFIG_PATH:檔案路徑,其中包含 Ops Agent 的 YAML 設定字串。這個檔案必須存在於您執行 gcloud 指令的環境中。
Ops Agent 的設定 YAML 可能很長。將設定放入檔案並傳遞至 gcloud CLI,比嘗試在指令列中輸入格式正確的 YAML 更不容易出錯。建立政策後,變更這個檔案並不會更新政策。如要更新政策,請使用
gcloud compute global-vm-extension-policiesupdate指令。
如果您在建立或更新擴充功能政策時,為 Ops Agent 提供自訂設定,則政策會使用自訂設定部署 Ops Agent。您不必手動重新啟動代理。
設定會與擴充功能政策一併儲存,因此請勿在設定中加入密碼等機密資料。由於設定會與擴充功能政策一併儲存,因此修改設定檔不會變更代理程式的設定。您必須使用適當的 gcloud 指令,更新政策儲存的設定:
- 如為可用區政策,請使用
gcloud compute zone-vm-extension-policiesupdate指令。 - 如果是全域政策,請使用
gcloud compute global-vm-extension-policiesupdate指令。
為 Ops Agent 提供自訂設定時,VM 擴充功能管理工具會將設定複製到目標 VM 上 Ops Agent 用於 使用者指定設定檔的位置:
- 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 擴充功能」。
使用優先順序較高的快速推出計畫安裝 Ops Agent (僅限全域)
如要建立全域政策,使用高於預設值的優先順序和快速推出計畫安裝最新版 Ops Agent,請使用下列 gcloud compute global-vm-extension-policies create 指令:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=fast_rollout \
--priority=500
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
在 Google Cloud 專案的部分可用區安裝 Ops Agent (僅限全域)
如要建立僅適用於Google Cloud 專案中部分可用區的全域政策,您必須使用自訂推出計畫,指定要套用政策的可用區。如要瞭解如何建立自訂推出計畫,請參閱「
關於推出計畫」。如要指定一組可用區,請在建立推出計畫時使用 locationSelector.includedLocations 欄位。
如要建立使用自訂推出計畫的擴充功能政策,請使用下列 gcloud compute global-vm-extension-policies create 指令:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/CUSTOM_PLAN_NAME
請替換指令中的下列變數:
- POLICY_NAME:VM 擴充功能政策的名稱。
- PROJECT_ID:專案 ID。
- CUSTOM_PLAN_NAME:與自訂推出計畫相關聯的名稱。
驗證 Ops Agent 的安裝
本節說明如何執行下列操作:
確認 Ops Agent 安裝狀態或版本
如要判斷 Ops Agent 的狀態或版本,請使用下列其中一個Google Cloud 控制台頁面:
Compute Engine
-
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Compute Engine」的結果。
- 從清單中選取 VM。
- 點選「觀測能力」分頁標籤。
Cloud Monitoring
-
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 選取「清單」檢視畫面。
在 VM 上安裝 Ops Agent 並收集記錄和指標後,代理程式的狀態會標示綠色勾號,並顯示在「Ops Agent」標籤旁。
如要判斷已安裝的代理程式版本,請將滑鼠游標懸停在 Compute Engine 或 Monitoring 資訊主頁上的「Ops Agent」標籤上。
確認 Ops Agent 正在收集遙測資料
如果 Ops Agent 已成功安裝並正常運作,就會將指標傳送至 Cloud Monitoring,並將記錄傳送至 Cloud Logging。
- 如要瞭解如何驗證指標收集作業,請參閱「代理程式正在執行,但未擷取資料」。
- 如要瞭解如何驗證記錄收集,請參閱「確認記錄收集成功」。
後續步驟
- 更新擴充功能政策,修改安裝設定。
- 排解擴充功能政策問題。
- 進一步瞭解 VM 擴充功能管理工具。
- 查看設定 Ops Agent 的詳細資訊。