本指南說明如何設定 Google Cloud的 Agent for SAP,以便從 SAP 系統收集 Workload Manager 評估指標。
如要瞭解這項功能,請參閱「使用 Google Cloud的 SAP 代理程式進行 Workload Manager 評估」。
事前準備
- 驗證 Google Cloud的 Agent for SAP 安裝作業。如需操作說明,請參閱適用於您情況的安裝指南。
- 如果您已在 Bare Metal 解決方案伺服器上安裝代理程式,請確認您已完成必要的先決條件,並設定服務帳戶。如需操作說明,請參閱「在 Linux 上設定 Google Cloud的 Agent for SAP」。
請確認您已為Google Cloud 專案啟用 Workload Manager API。
必要的 IAM 角色
為確保服務帳戶具備必要權限,讓 Google Cloud的 SAP 代理程式收集 Workload Manager 評估指標,請要求管理員將下列 IAM 角色授予服務帳戶:
-
Compute Viewer (
roles/compute.viewer
): 從代管 SAP 系統的 Compute Engine 執行個體收集 Workload Manager 評估指標。 -
Workload Manager 深入分析資訊寫入者 (
roles/workloadmanager.insightWriter
): 寫入收集的指標至 Workload Manager 資料倉儲。 -
(選用) Secret Manager 密鑰存取者 (
roles/secretmanager.secretAccessor
):如果您使用 Secret Manager 儲存密碼,以便連線至 SAP HANA 資料庫。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含讓 Google Cloud的 SAP 服務代理收集 Workload Manager 評估指標所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要讓 Google Cloud的 SAP 專用代理程式收集 Workload Manager 評估指標,您必須具備下列權限:
-
如要從主機 Compute Engine 執行個體收集 Workload Manager 評估指標,並將這些指標寫入 Workload Manager 資料倉儲,請按照下列步驟操作:
-
monitoring.timeSeries.create
-
compute.zoneOperations.list
-
compute.disks.list
-
compute.nodeGroups.get
-
workloadmanager.insights.write
-
-
如果您使用 Secret Manager 儲存密碼來連線至 SAP HANA 資料庫,請按照下列步驟存取密鑰:
secretmanager.versions.access
您的管理員也可能會透過自訂角色或其他預先定義的角色,將這些權限授予服務帳戶。
必要的 SAP HANA 角色
如要讓代理程式從 SAP HANA 資料庫收集指標,請確認您在代理程式設定檔中指定的 SAP HANA 使用者具有 MONITORING
角色。
如要瞭解這個角色,請參閱 SAP 文件「標準資料庫角色」。
驗證代理程式版本
Google Cloud 建議您安裝最新版的 Agent for SAP,以便準確評估 SAP 工作負載,因為 Agent for SAP 的定期版本可能會新增或變更用於評估的指標。
為確保您使用的是 Google Cloud的最新版 SAP 服務代理,請定期檢查更新並更新服務代理。
安裝更新
請選取作業系統,然後按照步驟操作:
RHEL
- 建立與執行個體的 SSH 連線。
- 更新代理程式執行個體:
- (建議) 如要更新至代理程式的 3.8 版 (最新版):
sudo yum --nogpgcheck update google-cloud-sap-agent
- 如何更新為特定版本的代理程式:
sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64
將
VERSION_NUMBER
替換為要安裝的代理程式版本號碼,例如3.1-606637668
。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。
- (建議) 如要更新至代理程式的 3.8 版 (最新版):
SLES
- 建立與執行個體的 SSH 連線。
- 更新代理程式執行個體:
- (建議) 如要更新至代理程式的 3.8 版 (最新版):
sudo zypper --no-gpg-checks update google-cloud-sap-agent
- 如何更新為特定版本的代理程式:
sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64
將
VERSION_NUMBER
替換為要安裝的代理程式版本號碼,例如3.1-606637668
。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。
- (建議) 如要更新至代理程式的 3.8 版 (最新版):
啟用 Workload Manager 評估指標收集功能
從 3.2 版開始, Google Cloud的 Agent for SAP 新安裝作業預設會啟用,以便收集 Workload Manager 評估指標。如果您要從先前版本更新至 3.2 版,也可以明確啟用這項功能。若要這樣做,請完成下列步驟:
與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
如要讓代理程式收集 Workload Manager 評估指標,請按照下列步驟操作:
sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable
如要啟用「SAP HANA 深入分析資訊」和「SAP HANA 安全性最佳做法」指標的收集功能,請按照下列步驟操作:
開啟代理程式的設定檔:
/etc/google-cloud-sap-agent/configuration.json
或者,您也可以執行指令來執行這項設定。詳情請參閱「 Google Cloud的 SAP 代理程式設定指令」。
在
collect_workload_validation_metrics
後方新增workload_validation_db_metrics_config
部分,然後指定下列參數:hana_db_user
:指定用於查詢 SAP HANA 執行個體的 SAP HANA 資料庫使用者帳戶。hostname
:指定主機的 ID,該主機可用於代管 SAP HANA 執行個體,可為本機或遠端。port
:指定 SAP HANA 執行個體接受查詢的資料庫通訊埠。舉例來說,如果租用戶資料庫正在通訊埠30015
上接聽,請輸入30015
。sid
:指定 SAP HANA 執行個體的 SIDhana_db_password_secret_name
:指定儲存使用者帳戶密碼的 Secret Manager 中機密的名稱您可以使用
hdbuserstore_key
設定參數,做為機密資料的替代方案。hdbuserstore_key
:指定用於驗證您為hana_db_user
指定的使用者的hdbuserstore
鍵如果您指定
hdbuserstore_key
,則可略過指定hostname
和port
參數。
如要瞭解這些參數,請參閱「設定參數」。
您可以選擇在
cloud_properties
部分下方更新自動設定的參數值。如要這樣做,請在設定檔中新增cloud_properties
部分,然後指定必要參數及其值。儲存設定檔。
重新啟動代理程式,讓新設定生效:
sudo systemctl restart google-cloud-sap-agent
設定檔範例
Compute Engine 執行個體
以下範例是Google Cloud的 SAP 服務代理,在Compute Engine 執行個體上執行,並啟用 Workload Manager 評估指標的收集功能。
針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定,hdbuserstore_key
設定參數會優先於 hana_db_password
參數,而 hana_db_password
參數會優先於 hana_db_password_secret_name
參數。建議您在設定檔中只設定一個驗證選項。
- 以下範例使用 安全使用者儲存庫 (
hdbuserstore
) 金鑰進行 SAP HANA 驗證:{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hdbuserstore_key": "user_store_key" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下範例使用使用者名稱和 Secret Manager 密鑰進行 SAP HANA 驗證:
{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password_secret_name": "instance-id-hana-db-password-secret", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下範例使用使用者名稱和密碼進行 SAP HANA 驗證。建議您改為使用 Secret Manager 密鑰或安全使用者儲存庫 (
hdbuserstore
) 金鑰進行 SAP HANA 驗證。{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password": "TempPa55word", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
Bare Metal 解決方案伺服器
以下範例是Google Cloud的 SAP 服務代理,在Bare Metal Solution 伺服器上執行,並啟用 Workload Manager 評估指標的收集功能。
針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定,hdbuserstore_key
設定參數會優先於 hana_db_password
參數,而 hana_db_password
參數會優先於 hana_db_password_secret_name
參數。建議您在設定檔中只設定一個驗證選項。
- 以下範例使用 安全使用者儲存庫 (
hdbuserstore
) 金鑰進行 SAP HANA 驗證:{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hdbuserstore_key": "user_store_key" }, "collect_process_metrics": false }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } } - 以下範例使用使用者名稱和 Secret Manager 密鑰進行 SAP HANA 驗證:
{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password_secret_name": "instance-id-hana-db-password-secret", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } } - 以下範例使用使用者名稱和密碼進行 SAP HANA 驗證。建議您改為使用 Secret Manager 密鑰或安全使用者儲存庫 (
hdbuserstore
) 金鑰進行 SAP HANA 驗證。{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password": "TempPa55word", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
設定參數
下表說明Google Cloud的 SAP 服務代理設定參數,這些參數適用於收集 Workload Manager 評估指標。
參數 | |
---|---|
provide_sap_host_agent_metrics |
如要啟用 SAP Host Agent 所需的指標收集功能,請指定 |
bare_metal |
將代理程式安裝在 Bare Metal 解決方案伺服器上時,請指定 |
log_level |
如要設定代理程式的記錄等級,請設定必要值。可用的記錄層級如下:
預設為 |
log_to_cloud |
如要將代理程式的記錄重新導向至 Cloud Logging,請指定 |
cloud_properties.project_id |
如果您的 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定您在 Bare Metal 解決方案中使用的 Google Cloud 專案 ID。 |
cloud_properties.instance_name
|
如果您的 SAP 系統是在 Compute Engine 執行個體上執行,請指定該 Compute Engine 執行個體的名稱。代理程式會在安裝時自動偵測運算執行個體名稱。 如果 SAP 系統是在 Bare Metal Solution 伺服器上執行,請指定該伺服器的名稱。 |
cloud_properties.region |
如果 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定 Bare Metal 解決方案伺服器的區域。 |
cloud_properties.zone |
當代理在運算執行個體上執行時,根據預設,代理會使用運算執行個體部署所在的區域。 |
cloud_properties.image |
指定執行個體的 OS 映像檔名稱。 |
cloud_properties.numeric_project_id |
指定執行 SAP 系統的 Google Cloud 專案的數字 ID。 |
discovery_configuration.enable_workload_discovery |
如要讓代理程式收集主機上執行的 SAP 產品名稱和版本,請指定 詳情請參閱 |
discovery_configuration.enable_discovery |
如要將代理程式收集到的關於主機上執行的 SAP 產品資訊傳送至 Cloud Logging,請指定 如果您指定 |
collection_configuration.collect_workload_validation_metrics |
如要啟用 Workload Manager 評估指標收集功能,請指定 |
collection_configuration.workload_validation_metrics_frequency |
Workload Manager 評估指標的收集頻率 (以秒為單位)。預設值為 如果您需要修改工作負載管理工具指標的收集頻率,請在 |
collection_configuration.workload_validation_collection_definition.fetch_latest_config |
(選用步驟) 預設值為 |
collection_configuration.workload_validation_db_metrics_config.hana_db_user |
指定用於查詢 SAP HANA 執行個體的使用者帳戶。 使用者帳戶必須具備 SAP HANA 資料庫的讀取權限。 |
collection_configuration.workload_validation_db_metrics_config.hana_db_password |
指定用來查詢 SAP HANA 執行個體的使用者帳戶密碼。 針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定, |
collection_configuration.workload_validation_db_metrics_config.hana_db_password_secret_name |
在 Secret Manager 中指定儲存使用者帳戶密碼的機密。 或者,您也可以指定 針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定, |
collection_configuration.workload_validation_db_metrics_config.hdbuserstore_key
|
如要安全地連線至 SAP HANA 系統,請指定您為該系統建立的 安全使用者儲存庫 ( 如要使用
這個設定參數自 3.3 版開始支援。 如果您指定 針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定, |
collection_configuration.workload_validation_db_metrics_config.sid |
指定 SAP HANA 例項的 SID。 |
collection_configuration.workload_validation_db_metrics_config.hostname |
指定主機的 ID,該主機可用於代管 SAP HANA 例項,可為本機或遠端。支援的值如下:
|
collection_configuration.workload_validation_db_metrics_config.port |
指定 SAP HANA 執行個體接受查詢的通訊埠。第一個或唯一租用戶資料庫執行個體的通訊埠為 |
collection_configuration.workload_validation_db_metrics_frequency |
收集 SAP HANA 資料庫指標的頻率 (以秒為單位),用於 Workload Manager 評估。預設值為 |
驗證 Workload Manager 評估指標收集設定
您可以執行代理程式的 status
指令,驗證是否已正確 Google Cloud 設定 Workload Manager 評估指標收集功能。這個指令自 3.7 版代理程式起開始支援。
如要驗證 Google Cloud 設定,請完成下列步驟:
- 建立與 Compute Engine 執行個體的 SSH 連線。
- 執行下列指令:
sudo /usr/bin/google_cloud_sap_agent status
如果您 Google Cloud 設定 Workload Manager 評估指標收集作業的設定正確,輸出內容就會包含下列內容。您的設定可能包含
default
以外的值。Agent Status: ... Systemd Service Enabled: True Systemd Service Running: True Cloud API Full Scopes: True Configuration File: /etc/google-cloud-sap-agent/configuration.json Configuration Valid: True ... ---------------------------------------------------------------------------- System Discovery: Enabled Status: Fully Functional IAM Permissions: All granted Configuration: enable_discovery: true (default) enable_workload_discovery: true (default) sap_instances_update_frequency: 60 (default) system_discovery_update_frequency: 14400 (default) ---------------------------------------------------------------------------- Workload Manager Evaluation: Enabled Status: Fully Functional IAM Permissions: All granted Configuration: collect_workload_validation_metrics: true (default) config_target_environment: PRODUCTION (default) fetch_latest_config: true (default) workload_validation_db_metrics_frequency: 3600 (default) workload_validation_metrics_frequency: 300 (default) ...
- 如果輸出內容顯示缺少部分設定,請查看前面各節提供的資訊,執行必要動作,然後重新執行
status
指令,重新驗證設定。
查看收集的指標
如要查看代理程收集到的 Workload Manager 評估指標,請執行下列操作:
查看代理程式的記錄檔:
將代理程式記錄層級設為
DEBUG
:sudo /usr/bin/google_cloud_sap_agent configure -loglevel=debug
代理程式重新啟動以套用新記錄層級後,請查看代理程式的記錄檔案:
/var/log/google-cloud-sap-agent.log
在記錄檔案中,尋找包含下列項目的項目:
workload.googleapis.com/sap/validation/
以下是顯示 Workload Manager 評估指標的代理程式記錄檔範例:
{"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"metric":"workload.googleapis.com/sap/validation/system","value":1} {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"key":"instance_name","value":"n1-hana-sles15"} {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"key":"os","value":"sles-15-SP4"} ... {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"metric":"workload.googleapis.com/sap/validation/corosync","value":0} ...
如果代理程式執行個體已設定為將記錄檔傳送至 Cloud Logging,您就可以在 Cloud Logging 中查看代理程式的記錄檔。
在 Workload Manager 中建立並執行 SAP 工作負載評估作業。詳情請參閱「建立及執行評估作業」。
如要瞭解 Workload Manager 支援的最佳做法,以便評估在 Google Cloud上執行的 SAP 工作負載,請參閱 Workload Manager 適用於 SAP 的最佳做法。