本文說明如何在 Compute Engine 執行個體上安裝 Agent for Compute Workloads,並設定代理程式,以便連線至該運算執行個體上執行的 Redis 工作負載。
事前準備
安裝及設定 Agent for Compute Workloads 之前,請先確認符合下列必要條件:
- 您已在運算執行個體上部署 Redis 工作負載。
- 您已將必要 IAM 角色授予附加至運算執行個體的服務帳戶。
- 您已啟用 Cloud API 存取權。
必要 IAM 角色
Compute Workloads 的代理程式會使用附加至運算執行個體的服務帳戶進行驗證,並存取 Google Cloud 資源。
為提高安全性,建議您使用單一用途的服務帳戶,而非 Compute Engine 預設服務帳戶。
為確保服務帳戶具備必要權限,可讓 Compute Workloads 代理程式向Google Cloud 驗證身分並存取 Google Cloud 資源,請要求管理員在專案中授予服務帳戶下列 IAM 角色:
-
Compute 檢視者 (
roles/compute.viewer
): 從 Compute 執行個體收集指標。 -
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter
): 將資料寫入 Workload Manager 資料倉儲。 -
(建議) 記錄寫入者 (
roles/logging.logWriter
): 將代理程式記錄檔傳送至 Cloud Logging。 -
(選用) Secret Manager 密鑰存取者 (
roles/secretmanager.secretAccessor
): 如果您使用 Secret Manager 儲存密碼,以便連線至 Redis 執行個體。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
管理員或許還可透過自訂角色或其他預先定義的角色,授予服務帳戶必要權限。
啟用 Cloud API 存取權
Compute Engine 建議您將執行個體設為允許所有 Cloud API 的所有存取權範圍,並只使用執行個體服務帳戶的身分與存取權管理權限,控管對Google Cloud 資源的存取權。詳情請參閱「建立使用使用者管理服務帳戶的 VM」。
如果限制 Cloud API 的存取權,則 Compute Workloads 代理程式至少需要主機運算執行個體上的下列 Cloud API 存取範圍:
https://www.googleapis.com/auth/cloud-platform
詳情請參閱「範圍最佳做法」。
如果您在沒有外部 IP 位址的運算執行個體上執行 Redis 應用程式,則需要在執行個體的子網路上啟用私人 Google 存取權,這樣 Compute Workloads 專用代理程式才能存取 Google API 和服務。如要瞭解如何啟用私人 Google 存取權,請參閱「設定私人 Google 存取權」。
安裝及設定代理程式
如要在運算執行個體上安裝 Agent for Compute Workloads,並設定與 Redis 執行個體連線,請完成下列步驟:
RHEL
在 Red Hat Enterprise Linux (RHEL) 上,您可以使用 yum
套件管理指令安裝 Agent for Compute Workloads。這項指令會完成下列工作:
- 下載最新版代理程式。
- 為代理程式建立名為
google-cloud-workload-agent
的systemd
服務。 - 啟用並啟動
google-cloud-workload-agent
服務。
如要在以 RHEL 為基礎的運算執行個體上安裝及設定 Agent for Compute Workloads,請完成下列步驟:
建立與運算執行個體的 SSH 連線。
在終端機中安裝代理程式:
sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM [google-cloud-workload-agent] name=Google Cloud Agent for Compute Workloads baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-workload-agent
開啟代理程式的設定檔:
/etc/google-cloud-workload-agent/configuration.json
如設定參數所述,為所有必要參數指定值。
儲存設定檔
重新啟動代理程式,讓變更生效。
SLES
在 SUSE Linux Enterprise Server (SLES) 上,您可以使用 zypper
套件管理指令安裝 Agent for Compute Workloads。這項指令會完成下列工作:
- 下載最新版代理程式。
- 為代理程式建立名為
google-cloud-workload-agent
的systemd
服務。 - 啟用並啟動
google-cloud-workload-agent
服務。
如要在以 SLES 為基礎的運算執行個體上安裝及設定 Agent for Compute Workloads,請完成下列步驟:
建立與運算執行個體的 SSH 連線。
在終端機中安裝代理程式:
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch google-cloud-workload-agent sudo zypper install google-cloud-workload-agent
開啟代理程式的設定檔:
/etc/google-cloud-workload-agent/configuration.json
如設定參數所述,為所有必要參數指定值。
儲存設定檔
重新啟動代理程式,讓變更生效。
Debian
在 Debian 上,您可以使用 apt
套件管理指令安裝 Agent for Compute Workloads。這個指令會完成下列工作:
- 下載最新版代理程式。
- 為代理程式建立名為
google-cloud-workload-agent
的systemd
服務。 - 啟用並啟動
google-cloud-workload-agent
服務。
如要在以 Debian 為基礎的運算執行個體上安裝及設定 Agent for Compute Workloads,請完成下列步驟:
建立與運算執行個體的 SSH 連線。
在終端機中安裝代理程式:
echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list sudo apt-get update sudo apt-get install google-cloud-workload-agent
開啟代理程式的設定檔:
/etc/google-cloud-workload-agent/configuration.json
如設定參數所述,為所有必要參數指定值。
儲存設定檔
重新啟動代理程式,讓變更生效。
Windows
在 Windows 上,您可以使用 googet
套件管理指令安裝 Agent for Compute Workloads。這個指令會完成下列工作:
- 下載最新版代理程式。
- 建立名為
google-cloud-workload-agent
的 Windows 服務。 - 建立每分鐘執行的排程工作,檢查服務是否正在執行,並視需要重新啟動服務。
如要在 Windows 型運算執行個體上安裝及設定 Agent for Compute Workloads,請完成下列步驟:
使用遠端桌面協定與運算執行個體建立連線。
如需相關資訊,請參閱「使用遠端桌面協定連線至 Windows VM」。
以管理員身分從 PowerShell 執行下列指令:
googet addrepo google-cloud-workload-agent https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64 googet install google-cloud-workload-agent
開啟代理程式的設定檔:
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
如設定參數所述,為所有必要參數指定值。
儲存設定檔
重新啟動代理程式,讓變更生效。
驗證代理程式安裝
如要確認代理程式是否正常運作,請完成下列步驟:
RHEL
建立與運算執行個體的 SSH 連線。
檢查代理程式套件的狀態:
systemctl status google-cloud-workload-agent
如果代理程式套件正常運作,輸出內容會包含
active (running)
。例如:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
SLES
建立與運算執行個體的 SSH 連線。
檢查代理程式套件的狀態:
systemctl status google-cloud-workload-agent
如果代理程式套件正常運作,輸出內容會包含
active (running)
。例如:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Debian
建立與運算執行個體的 SSH 連線。
檢查代理程式套件的狀態:
systemctl status google-cloud-workload-agent
如果代理程式套件正常運作,輸出內容會包含
active (running)
。例如:google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago Main PID: 14412 (google_cloud_sq) Tasks: 7 Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M) CGroup: /system.slice/google-cloud-workload-agent.service └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run
Windows
使用遠端桌面協定與運算執行個體建立連線。
如需相關資訊,請參閱「使用遠端桌面協定連線至 Windows VM」。
以管理員身分從 PowerShell 執行下列指令:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
如果代理程式正常運作,狀態會顯示為
Running
。
設定檔範例
以下是範例設定,可讓 Agent for Compute Workloads 連線至 Redis 執行個體。驗證時會使用 Secret Manager 密鑰,該密鑰儲存在執行 Redis 執行個體的相同 Google Cloud 專案中。
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"redis_configuration": {
"enabled": true,
"connection_parameters": {
"username": "db_user_name",
"secret": {
"secret_name": "db_pwd_secret_name",
"project_id": ""
},
"host": "localhost",
"port": 1433
}
}
}
設定參數
下表說明 Agent for Compute Workloads 的設定參數,這些參數支援 Redis 工作負載的評估:
參數 | |
---|---|
log_level |
如要設定代理程式的記錄層級,請設定必要值。可用的記錄層級如下:
預設記錄層級為 |
log_to_cloud |
如要將代理程式記錄重新導向至 Cloud Logging,請指定 |
agent_properties.log_usage_metrics |
如要啟用代理程式健康狀態指標的記錄功能,請將值設為 |
common_discovery.collection_frequency |
以秒為單位指定代理程式工作負載探索服務的執行頻率。預設值為 請確認這個參數的值是以小寫 |
redis_configuration.enabled
|
如要讓代理程式從 Redis 執行個體收集指標,請將值設為 |
redis_configuration.connection_parameters.username |
指定代理程式用來查詢 Redis 執行個體的使用者帳戶。 |
redis_configuration.connection_parameters.password |
指定代理程式用來查詢 Redis 執行個體的使用者帳戶純文字密碼。 建議您使用 如要進行驗證,代理程式會依下列偏好順序:如果已指定,則偏好使用 |
redis_configuration.connection_parameters.secret.secret_name |
(選用步驟) 如要安全地提供使用者帳戶的密碼,供代理程式查詢 Redis 執行個體,請指定包含密碼的 Secret Manager 密鑰名稱。 如要進行驗證,代理程式會依下列偏好順序:如果已指定,則偏好使用 |
redis_configuration.connection_parameters.secret.project_id |
(選用步驟) 如要使用 如果密鑰和工作負載位於同一個 Google Cloud 專案,請將這個參數的值設為空字串 ( |
redis_configuration.connection_parameters.host |
指定 Redis 主機名稱。 |
redis_configuration.connection_parameters.port |
指定 Redis 執行個體接受查詢的通訊埠。 |