本文說明如何在 Compute Engine 執行個體上安裝 Compute Workloads 專用代理程式,並設定代理程式,以便連線至該運算執行個體上執行的 MySQL 工作負載。
事前準備
安裝及設定 Agent for Compute Workloads 之前,請先確認符合下列必要條件:
- 您已在運算執行個體上部署 MySQL 工作負載。
- 您已將必要 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 儲存密碼,以便連線至 MySQL 執行個體。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
管理員或許還可透過自訂角色或其他預先定義的角色,授予服務帳戶必要權限。
啟用 Cloud API 存取權
Compute Engine 建議您將執行個體設為允許所有 Cloud API 的所有存取權範圍,並只使用執行個體服務帳戶的身分與存取權管理權限,控管對Google Cloud 資源的存取權。詳情請參閱「建立使用使用者管理服務帳戶的 VM」。如果限制 Cloud API 的存取權,則 Compute Workloads 代理程式至少需要主機運算執行個體上的下列 Cloud API 存取範圍:
https://www.googleapis.com/auth/cloud-platform
詳情請參閱「範圍最佳做法」。
如果您在沒有外部 IP 位址的運算執行個體上執行 MySQL 應用程式,則需要在執行個體的子網路上啟用私人 Google 存取權,這樣一來,Compute Workloads 專用代理程式才能存取 Google API 和服務。如要瞭解如何啟用私人 Google 存取權,請參閱「設定私人 Google 存取權」。
安裝及設定代理程式
如要在運算執行個體上安裝 Compute Workloads 專用代理程式,並設定該代理程式與 MySQL 執行個體連線,請完成下列步驟:
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 連線至 MySQL 執行個體。驗證時會使用 Secret Manager 密碼,該密碼儲存在執行 MySQL 執行個體的相同 Google Cloud 專案中。
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"mysql_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 的設定參數,這些參數支援 MySQL 工作負載的評估:
參數 | |
---|---|
log_level |
如要設定代理程式的記錄層級,請設定必要值。可用的記錄層級如下:
預設記錄層級為 |
log_to_cloud |
如要將代理程式記錄重新導向至 Cloud Logging,請指定 |
agent_properties.log_usage_metrics |
如要啟用代理程式健康狀態指標的記錄功能,請將值設為 |
common_discovery.collection_frequency |
以秒為單位指定代理程式工作負載探索服務的執行頻率。預設值為 請確認這個參數的值是以小寫 |
mysql_configuration.enabled
|
如要讓代理程式從 MySQL 執行個體收集指標,請將值設為 |
mysql_configuration.connection_parameters.username |
指定代理程式用來查詢 MySQL 執行個體的使用者帳戶。 |
mysql_configuration.connection_parameters.password |
指定代理程式用來查詢 MySQL 執行個體的使用者帳戶純文字密碼。 建議您使用 如要進行驗證,代理程式會依下列偏好順序:如果已指定,則偏好使用 |
mysql_configuration.connection_parameters.secret.secret_name |
(選用步驟) 如要安全地提供使用者帳戶的密碼,供代理程式查詢 MySQL 執行個體,請指定包含密碼的 Secret Manager 密鑰名稱。 如要進行驗證,代理程式會依下列偏好順序:如果已指定,則偏好使用 |
mysql_configuration.connection_parameters.secret.project_id |
(選用步驟) 如要使用 如果密鑰和工作負載位於同一個 Google Cloud 專案,請將這個參數的值設為空字串 ( |
mysql_configuration.connection_parameters.host |
指定 MySQL 主機名稱。 |
mysql_configuration.connection_parameters.port |
指定 MySQL 執行個體接受查詢的通訊埠。 |