設定 Microsoft SQL Server 工作負載的代理程式

本文說明如何在 Compute Engine 執行個體上安裝運算工作負載代理,並設定代理程式,以便連線至在這些運算執行個體上執行的 Microsoft SQL Server 工作負載。

安裝及設定代理程式後,代理程式會從 SQL Server 工作負載和基礎運算執行個體收集指標,並傳送至 Workload Manager。然後使用 Workload Manager 評估作業掃描 SQL Server 工作負載,找出基礎架構、作業系統和工作負載設定是否偏離最佳做法。

事前準備

安裝及設定 Compute Workloads 專用代理程式前,請先確認符合下列必要條件:

代理程式所需的 IAM 角色

運算工作負載代理會使用連接至運算執行個體的服務帳戶進行驗證,並存取 Google Cloud 資源。

為提高安全性,建議您使用單一用途的服務帳戶,而非 Compute Engine 預設服務帳戶

為確保服務帳戶具備必要權限,可讓 Compute Workloads 專用代理程式向Google Cloud 驗證身分並存取 Google Cloud 資源,請要求管理員在專案中授予服務帳戶下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

管理員或許也能透過自訂角色或其他預先定義的角色,授予服務帳戶必要權限。

啟用 Cloud API 存取權

Compute Engine 建議您將執行個體設為允許所有 Cloud API 的所有存取權範圍,並只使用執行個體服務帳戶的身分與存取權管理權限,控管對Google Cloud 資源的存取權。詳情請參閱「建立採使用者代管服務帳戶的 VM」。

如果限制 Cloud API 的存取權,則運算工作負載代理至少需要在主機運算執行個體上具備下列 Cloud API 存取權範圍:

https://www.googleapis.com/auth/cloud-platform

詳情請參閱「範圍最佳做法」。

如果您在沒有外部 IP 位址的運算執行個體上執行 SQL Server 應用程式,則需要在執行個體的子網路上啟用Private Google Access,讓運算工作負載代理可以存取 Google API 和服務。如要瞭解如何啟用 Private Google Access,請參閱「設定 Private Google Access」。

SQL Server 的必要權限

使用下列指令碼,將必要權限指派給在代理程式中設定的使用者帳戶。

    USE [master]
    GO 
GRANT VIEW SERVER STATE TO [user_name] GRANT VIEW ANY DEFINITION TO [user_name]
-- Adds db_datareader role to the user EXEC sp_MSForEachDB ' USE ? IF NOT EXISTS(SELECT * FROM sys.database_principals WHERE name = ''user_name'') BEGIN CREATE USER [user_name] FOR LOGIN [user_name] END EXEC sp_addrolemember ''db_datareader'', ''user_name'' '

使用套件管理員安裝及設定代理程式

本節說明如何使用套件管理工具,在運算執行個體上安裝運算工作負載代理,並設定該代理程式與 SQL Server 執行個體連線。

如要安裝運算工作負載代理,請完成下列步驟:

Windows

在 Windows 上,您可以使用 googet 套件管理指令安裝運算工作負載代理。這項指令會完成下列工作:

  • 下載最新版代理程式。
  • 建立名為 google-cloud-workload-agent 的 Windows 服務。
  • 建立每分鐘執行的排程工作,檢查服務是否正在執行,並視需要重新啟動服務。

如要在 Windows 型運算執行個體上安裝及設定 Agent for Compute Workloads,請完成下列步驟:

  1. 使用遠端桌面協定與運算執行個體建立連線。

    如要瞭解如何執行這項操作,請參閱「使用 RDP 連線至 Windows VM」一文。

  2. 以管理員身分從 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
    
  3. 開啟代理程式的設定檔:

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. 設定參數所述,為所有必要參數指定值。

  5. 儲存設定檔

  6. 重新啟動代理程式,變更才會生效。

RHEL

在 Red Hat Enterprise Linux (RHEL) 上,您可以使用 yum 套件管理指令安裝運算工作負載代理。這個指令會完成下列工作:

  • 下載最新版代理程式。
  • 為代理程式建立名為 google-cloud-workload-agentsystemd 服務。
  • 啟用並啟動 google-cloud-workload-agent 服務。

如要在以 RHEL 為基礎的運算執行個體上安裝及設定運算工作負載代理,請完成下列步驟:

  1. 建立與運算執行個體的 SSH 連線。

  2. 在終端機中安裝代理程式:

    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
    
  3. 開啟代理程式的設定檔:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. 設定參數所述,為所有必要參數指定值。

  5. 儲存設定檔

  6. 重新啟動代理程式,變更才會生效。

SLES

在 SUSE Linux Enterprise Server (SLES) 上,您可以使用 zypper 套件管理指令安裝運算工作負載代理。這個指令會完成下列工作:

  • 下載最新版代理程式。
  • 為代理程式建立名為 google-cloud-workload-agentsystemd 服務。
  • 啟用並啟動 google-cloud-workload-agent 服務。

如要在以 SLES 為基礎的運算執行個體上安裝及設定運算工作負載代理,請完成下列步驟:

  1. 建立與運算執行個體的 SSH 連線。

  2. 在終端機中安裝代理程式:

    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
    
  3. 開啟代理程式的設定檔:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. 設定參數所述,為所有必要參數指定值。

  5. 儲存設定檔

  6. 重新啟動代理程式,變更才會生效。

Debian

在 Debian 上,您可以使用 apt 套件管理指令安裝運算工作負載代理。這項指令會完成下列工作:

  • 下載最新版代理程式。
  • 為代理程式建立名為 google-cloud-workload-agentsystemd 服務。
  • 啟用並啟動 google-cloud-workload-agent 服務。

如要在以 Debian 為基礎的運算執行個體上安裝及設定運算工作負載代理,請完成下列步驟:

  1. 建立與運算執行個體的 SSH 連線。

  2. 在終端機中安裝代理程式:

    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
    
  3. 開啟代理程式的設定檔:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. 設定參數所述,為所有必要參數指定值。

  5. 儲存設定檔

  6. 重新啟動代理程式,變更才會生效。

使用 VM 擴充功能管理工具,在一組 VM 上安裝及管理代理程式

設定 VM 擴充功能管理工具

如要設定 VM 擴充功能管理工具,請完成下列步驟:

在一組 VM 中安裝代理程式

如要使用 VM 擴充功能管理工具政策,在特定可用區的 VM 機群上安裝最新版運算工作負載代理,請完成下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「VM extension policies」(VM 擴充功能政策) 頁面

    前往 VM 擴充功能政策

  2. 按一下「建立擴充功能政策」

  3. 在「Name」(名稱) 欄位中,輸入政策名稱。

  4. 選用:在「Description」(說明) 欄位中輸入政策的說明。

  5. 在「優先順序」欄位中,指定優先順序編號,以解決政策之間的衝突。數字越小越優先。預設值為 1000

  6. 使用「Region」(區域) 和「Zone」(可用區) 清單,選取要套用這項政策的可用區。

  7. 在「擴充功能」部分,按一下「新增擴充功能」,然後執行下列操作:

    1. 在「擴充功能」清單中,選取「Google Cloud 的 Compute Workloads 擴充功能」
    2. 將「版本」欄位留空。

      這會指示政策安裝最新版本的運算工作負載代理。

    3. 在「設定檔內容」欄位中,輸入要套用至代理程式的設定。

      如要瞭解代理程式支援的 SQL Server 工作負載設定參數,請參閱「設定參數」。

    4. 按一下 [完成]

  8. 選用:如要將政策推出範圍限制在必要 VM,請按照下列步驟操作:

    1. 按一下「新增標籤」,然後加入可識別必要 VM 的標籤。
    2. 按一下 [完成]
  9. 點選「建立」

gcloud

gcloud compute zone-vm-extension-policies create POLICY_NAME \
    --zone=ZONE \
    --extensions=google-cloud-workload-extension \
    --config-from-file=google-cloud-workload-extension=CONFIG_FILE_PATH \
    [--description="DESCRIPTION" \]
    [--inclusion-labels=KEY_1=VALUE_1 \]
    [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
    [--priority=PRIORITY]

更改下列內容:

  • POLICY_NAME:VM 擴充功能政策的名稱。

    如果區域中已有指定名稱的政策,這項指令就會失敗。

  • ZONE:要套用這項政策的可用區。

  • CONFIG_FILE_PATH:JSON 檔案的本機路徑,其中包含運算工作負載代理的設定,可與 SQL Server 工作負載連線。

    • 或者,如要以內嵌字串形式提供設定,請使用 --config 旗標,而非 --config-from-file。例如:--config=google-cloud-workload-extension="CONFIG"。Google Cloud 建議使用 --config-from-file
    • 您可以使用 --config-from-file--config,但不能在同一個指令中同時使用兩者。
    • 如要瞭解代理程式支援的 SQL Server 工作負載設定參數,請參閱「設定參數」。
  • DESCRIPTION:政策的選填說明。

  • KEY_1=VALUE_1:以逗號分隔的清單,其中包含定義政策用來指定虛擬機的標籤的鍵/值組合。

    • 如要讓 VM 成為政策的目標,VM 必須具備所有指定的標籤。
    • 如果您多次指定 --inclusion-labels,政策會以符合任何所提供選取器的 VM 為目標 (邏輯 OR)。如果省略這個標記,政策會以指定可用區中的所有 VM 為目標。
  • PRIORITY:介於 065535 的整數,用於定義政策的優先順序。數字越小越優先。預設值為 1000

範例:

下列指令會在名為 test-project 的專案中建立名為 test-agent-policy 的政策,並在可用區 us-centrail-f 中部署的所有 VM 上安裝最新版運算工作負載代理。Google Cloud 系統會將 agent-config.json 中指定的設定套用至代理程式。

gcloud compute zone-vm-extension-policies create test-agent-policy  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=google-cloud-workload-extension \
    --config-file-path=google-cloud-workload-extension="/usr/agent-config.json"

驗證代理程式安裝

如要確認代理程式是否正常運作,請完成下列步驟:

Windows

  1. 使用遠端桌面協定與運算執行個體建立連線。

    如要瞭解如何執行這項操作,請參閱「使用 RDP 連線至 Windows VM」一文。

  2. 以管理員身分從 PowerShell 執行下列指令:

    $(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
    

    如果代理程式正常運作,狀態會顯示為 Running

RHEL

  1. 建立與運算執行個體的 SSH 連線。

  2. 檢查代理程式套件的狀態:

    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

  1. 建立與運算執行個體的 SSH 連線。

  2. 檢查代理程式套件的狀態:

    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

  1. 建立與運算執行個體的 SSH 連線。

  2. 檢查代理程式套件的狀態:

    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

設定參數

下表說明代理程式設定檔的參數。

參數
log_level

String

如要設定代理程式的記錄層級,請設定必要值。可用的記錄層級如下:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

預設記錄層級為 INFO。除非 Cloud Customer Care 指示您變更記錄層級,否則請勿擅自更動。

log_to_cloud

Boolean

如要將代理程式記錄重新導向至 Cloud Logging,請指定 true。預設值為 true

agent_properties.log_usage_metrics

Boolean

如要啟用代理程式健康狀態指標的記錄功能,請將值設為 true。預設值為 false

common_discovery.collection_frequency

Duration

以秒為單位指定代理程式工作負載探索服務的執行頻率。預設值為 10800s

請確認這個參數的值是以小寫 s 結尾。

sqlserver_configuration.enabled

Boolean

如要在代理程式中啟用 SQL Server 指標收集功能,請將值設為 true。 預設值為 false

sqlserver_configuration.collection_configuration.collect_guest_os_metrics

Boolean

如要啟用 OS 指標收集功能,請將值設為 true。 預設值為 true
除非 Cloud Customer Care 另有指示,否則請勿將 sqlserver_configuration.collection_configuration.collect_guest_os_metrics 設為 false

sqlserver_configuration.collection_configuration.collect_sql_metrics

Boolean

如要啟用 SQL Server 指標收集功能,請指定 true。 預設值為 true
除非 Cloud Customer Care 另有指示,否則請勿將 sqlserver_configuration.collection_configuration.collect_sql_metrics 設為 false

sqlserver_configuration.collection_configuration.collection_frequency

Duration

運算工作負載代理的指標收集頻率 (以秒為單位)。 預設值為 3600s。 您可以更新收集頻率。不過,建議您保留預設值。

sqlserver_configuration.credential_configurations[].connection_parameters[].host

String

SQL Server 主機名稱。

sqlserver_configuration.credential_configurations[].connection_parameters[].username

String

指定用於查詢 SQL Server 執行個體的使用者帳戶。 如要設定帳戶權限,請查看 權限指令碼中列出的必要權限,並根據內部政策授予權限。

附註:如果使用 Windows 驗證,請務必以以下格式指定使用者名稱: domain-name\\user-name

sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id

String

儲存密鑰的專案 ID。如果密鑰和主機 VM 執行個體位於同一個 Google Cloud 專案中,請將其設為空字串 ("")。

sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name

String

如要安全地提供資料庫使用者帳戶的密碼,供代理程式查詢 SQL Server,請在 Secret Manager 中指定密碼的名稱,該密碼包含資料庫使用者帳戶的安全憑證。

注意:密鑰和主機 VM 執行個體必須位於同一個 Google Cloud 專案。

sqlserver_configuration.credential_configurations[].connection_parameters[].port

Int

指定 SQL Server 執行個體接受查詢的通訊埠。

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host

String

遠端 Windows VM 的 IP 位址或 FQDN

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username

String

指定用來遠端連線至 Windows VM 的使用者帳戶。

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name

String

如要安全地提供 Windows 使用者帳戶的密碼,供代理程式用來遠端連線至 VM,請在 Secret Manager 中指定密鑰名稱,該密鑰包含資料庫使用者帳戶的安全憑證。

注意:密鑰和主機 VM 執行個體必須位於同一個 Google Cloud 專案。

sqlserver_configuration.credential_configurations[].local_collection

Boolean

指定 true,表示代理程式正在收集店面資料。預設值為 true

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host

String

遠端 Linux VM 的 IP 位址或 FQDN。

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username

String

指定用於遠端連線至 Linux VM 的使用者帳戶。

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port

Int

指定遠端 Linux VM 的 SSH 通訊埠號碼。

sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path

String

指定 SSH 私密金鑰檔案的路徑。

sqlserver_configuration.credential_configurations[].vm_properties.instance_name

String

指定 Compute Engine VM 執行個體的名稱。

注意:店面產品素材資源集合可選擇是否提供這項資訊。

sqlserver_configuration.credential_configurations[].vm_properties.instance_id

String

指定 Compute Engine VM 執行個體 ID。

注意:店面產品素材資源集合可選擇是否提供這項資訊。

sqlserver_configuration.collection_timeout

Duration

指標收集作業的逾時時間 (以秒為單位)。預設值為 `10s`。

sqlserver_configuration.max_retries

Int

集合失敗時的重試次數上限。 預設值為 `3`。

sqlserver_configuration.retry_frequency

Duration

指定代理程式在收集失敗時的重試頻率。 預設值為 `3600s`。

sqlserver_configuration.remote_collection

Boolean

指定 true,表示代理程式正在進行遠端資料收集。預設值為 false

設定檔範例

以下是範例設定,可讓運算工作負載代理連線至 SQL Server 執行個體:

本地自取

{
"log_level": "INFO",
"common_discovery": {
    "collection_frequency": "10800s"
},
"sqlserver_configuration": {
    "enabled": true,
    "collection_configuration": {
        "collect_guest_os_metrics": true,
        "collect_sql_metrics": true,
        "collection_frequency": "60s"
    },
    "credential_configurations": [
        {
            "connection_parameters": [
                {
                    "host": ".",
                    "username": "db_user_name",
                    "secret": {
                        "project_id": "",
                        "secret_name": "idb_pwd_secret_name"
                    },
                    "port": 1433
                }
            ],
            "local_collection": true
        }
    ],
    "collection_timeout": "60s",
    "max_retries": 5,
    "retry_frequency": "3600s"
}
}

遠端收集

{
"log_level": "INFO",
"common_discovery": {
    "collection_frequency": "10800s"
},
"sqlserver_configuration": {
    "enabled": true,
    "collection_configuration": {
        "collect_guest_os_metrics": true,
        "collect_sql_metrics": true,
        "collection_frequency": "60s"
    },
    "credential_configurations": [
        {
            "connection_parameters": [
                {
                    "host": "sql_server_instance",
                    "username": "db_user_name",
                    "secret": {
                        "project_id": "",
                        "secret_name": "db_pwd_secret_name"
                    },
                    "port": 1433
                }
            ],
            "remote_win": {
                "connection_parameters": {
                    "host": "sql_server_instance",
                    "username": "user_name",
                    "secret": {
                        "project_id": "",
                        "secret_name": "pwd_secret_name"
                    }
                }
            },
            "vm_properties": {
                "instance_name": "db01",
                "instance_id": "9999999999999999999"
            }
        },
        {
            "connection_parameters": [
                {
                    "host": "sql_server_instance",
                    "username": "db_user_name",
                    "secret": {
                        "project_id": "",
                        "secret_name": "db_pwd_secret_name"
                    },
                    "port": 1433
                }
            ],
            "remote_linux": {
                "connection_parameters": {
                    "host": "sql_server_instance",
                    "username": "user_name",
                    "secret": {
                        "project_id": "",
                        "secret_name": "pwd_secret_name"
                    },
                    "port": 22
                },
                "linux_ssh_private_key_path": "path of the private key"
            },
            "vm_properties": {
                "instance_name": "db02",
                "instance_id": "9999999999999999999"
            }
        }
    ],
    "collection_timeout": "10s",
    "max_retries": 3,
    "retry_frequency": "3600s",
    "remote_collection": true
}
}

檢查代理程式版本

如要查看代理程式版本,請完成下列步驟:

Windows

  1. 使用 RDP 連線至主體機器。
  2. 以管理員身分從 PowerShell 執行下列指令:
    googet installed google-cloud-workload-agent

RHEL

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    yum info google-cloud-workload-agent

SUSE

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    zypper info google-cloud-workload-agent

Debian

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    dpkg -s google-cloud-workload-agent | grep version

重新啟動代理程式

如果運算工作負載代理停止運作或您更新其設定,請重新啟動代理程式。

選取作業系統,然後按照下列步驟操作:

Windows

  1. 使用 RDP 連線至主體機器。
  2. 以管理員身分從 PowerShell 執行下列指令:
    Restart-Service -Name 'google-cloud-workload-agent' -Force

Linux

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo systemctl restart google-cloud-workload-agent

更新代理程式

為確保代理程式為最新版本,請定期檢查更新並更新代理程式。

檢查是否有更新

選取作業系統,然後按照下列步驟操作:

Windows

  1. 使用 RDP 連線至主體機器。
  2. 以管理員身分從 PowerShell 執行下列指令:
    googet latest google-cloud-workload-agent

RHEL

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo yum check-update google-cloud-workload-agent

SLES

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo zypper list-updates -r google-cloud-workload-agent

Debian

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo apt list google-cloud-workload-agent

安裝更新

選取作業系統,然後按照下列步驟操作:

Windows

  1. 使用 RDP 連線至主體機器。
  2. 以管理員身分從 PowerShell 執行下列指令:
    googet install google-cloud-workload-agent

RHEL

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo yum --nogpgcheck update google-cloud-workload-agent

SLES

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo zypper --no-gpg-checks update google-cloud-workload-agent

Debian

  1. 使用 SSH 連線至主體機器。
  2. 請執行下列指令:
    sudo apt-get install google-cloud-workload-agent

在 Cloud Logging 中查看代理程式記錄

根據預設,運算工作負載代理的記錄檔會從 VM 執行個體重新導向至 Cloud Logging

如要在 Logging 中查看代理程式的記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往「Logs explorer」(記錄檔探索工具)

  2. 前往「查詢」窗格。

  3. 從「資源」下拉式選單中選取「全域」,然後按一下「套用」

  4. 在查詢編輯器中輸入 google-cloud-workload-agent

  5. 點選「執行查詢」

    您應該會看到在所有 VM 執行個體上執行的代理程式執行個體所產生的記錄。如要篩選特定電腦的記錄,請使用介面中的篩選器。

在 Cloud Logging 中停用代理程式記錄

如要停用代理程式記錄檔預設重新導向至 Cloud Logging 的功能,請按照下列步驟操作:

  1. 建立與主機 VM 執行個體的 RDP 或 SSH 連線。

  2. 開啟代理程式的設定檔:

    Windows

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json

    Linux

    /etc/google-cloud-workload-agent/configuration.json

  3. 將屬性 log_to_cloud 的值更新為 false

  4. 儲存設定檔。

  5. 重新啟動代理程式,變更才會生效。

疑難排解

下列各節提供使用運算工作負載代理時的常見問題、原因和解決方法。

驗證範圍不足

問題:如果限制主機 VM 執行個體的存取權範圍,運算工作負載代理記錄檔可能會顯示 IAM 權限不足的錯誤。

  googleapi: Error 403: Request had insufficient authentication scopes.
  Details:
  [
    {
      "@type": "type.googleapis.com/google.rpc.ErrorInfo",
      "domain": "googleapis.com",
      "metadata": {
        "method": "google.cloud.workloadmanager.datawarehouse.v1.DataCollectService.WriteInsight",
        "service": "workloadmanager.googleapis.com"
      },
      "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT"
    }
  ]

More details: Reason: insufficientPermissions, Message: Insufficient Permission

原因:運算工作負載代理程式需要主機 VM 執行個體具備最低 Cloud API 存取權範圍。

解決方法:如要解決這個問題,請啟用必要存取範圍

無法載入設定檔

問題:如果設定檔含有無效值,您會看到下列錯誤訊息。

"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"

解決方法:如要解決這個問題,請使用「設定參數」中的詳細資料更新設定檔。

無法初始化資料收集作業

問題:安裝代理程式後,如果未更新設定檔,您會看到下列錯誤:

"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"

解決方法:如要解決這個問題,請使用設定參數初始化憑證設定。

後續步驟