本指南說明如何解決 Google Cloud的 Agent for SAP 第 2 版的問題。
記錄
請查看作業系統專屬目錄中的記錄。
如要查看 Google Cloud的 Agent for SAP 記錄,請前往下列路徑:
Linux
/var/log/google-cloud-sap-agent.log
Windows
C:\Program Files\Google\google-cloud-sap-agent\logs\google-cloud-sap-agent.log
常見問題
問題:IAM 權限不足
問題: Google Cloud的 Agent for SAP 記錄顯示 IAM 權限不足錯誤。
原因:服務帳戶沒有存取 Cloud Monitoring API 所需的 IAM 權限。
解決方法:在 Google Cloud 控制台的「VM instance details」(VM 執行個體詳細資料) 頁面中,記下 VM 服務帳戶的名稱。例如:sap-example@example-project-123456.iam.gserviceaccount.com
。在「IAM 與管理」首頁上,確認服務帳戶包含下列 IAM 角色:
功能 | 必要的 IAM 角色 |
---|---|
SAP Host Agent 指標收集 | |
程序監控指標收集 |
|
Workload Manager 評估指標收集 |
|
SAP HANA 監控指標收集 |
|
如要進一步瞭解Google Cloud的 SAP 代理程式所需的驗證方式,請參閱「驗證和存取權」。
如要確認 Cloud Monitoring 代理程式所需的權限,請參閱下列 Monitoring 說明文件:
問題:VM 服務帳戶的存取範圍不正確
問題:如果您限制主機 VM 執行個體的存取範圍,Google Cloud的 SAP 記錄代理程式可能會顯示 IAM 權限不足的錯誤。
原因: Google Cloud的 SAP 代理程式需要主機 VM 執行個體的最低 Cloud API 存取權範圍。當服務帳戶沒有必要的存取範圍時,就會發生這項錯誤。
解決方法: 存取權範圍是為 VM 執行個體指定權限的傳統方法。Compute Engine 建議您設定 VM 執行個體,允許所有 Cloud API 的所有存取範圍,並只使用 VM 服務帳戶的 IAM 權限來控管對 Google Cloud 資源的存取權。
如要解決這個問題,最佳做法是在 VM 執行個體上設定完整的 cloud-platform
存取權範圍,然後透過 IAM 角色安全地限制服務帳戶的 API 存取權。例如:
https://www.googleapis.com/auth/cloud-platform
如果您限制 VM 執行個體的存取權範圍,則必須確保主機 VM 執行個體具有下列存取權範圍:
https://www.googleapis.com/auth/source.read_write
https://www.googleapis.com/auth/compute
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/logging.admin
https://www.googleapis.com/auth/monitoring
https://www.googleapis.com/auth/trace.append
https://www.googleapis.com/auth/devstorage.full_control
如果您已啟用「Process Monitoring」指標、Workload Manager 評估指標或 SAP HANA 監控指標的收集功能,則主機 VM 執行個體的存取範圍也必須具備寫入權限,才能將指標資料發布至 Google Cloud 專案:
https://www.googleapis.com/auth/monitoring.write
如要變更存取權範圍,您需要停止 VM 執行個體、進行變更,然後重新啟動 VM 執行個體。如需操作說明,請參閱 Compute Engine 說明文件。在此情況下,您無須針對身分與存取權管理角色的權限進行任何變更。
問題:SAP Host Agent 遺失或不正確
問題: Google Cloud的 Agent for SAP 記錄顯示 SAP Host Agent 遺失或錯誤。
原因:未安裝 SAP Host Agent,或未安裝 SAP Host Agent 所需的最低修補程式等級。 Google Cloud的 SAP 代理程式必須安裝在 SAP 系統中,且維持 Host Agent 所需的最低修補程式等級,才能正常運作。
解決方法:如要解決這個問題,請安裝必要版本的 SAP Host Agent。如需安裝 SAP Host Agent 的操作說明,請參閱 SAP 說明文件。
如需 SAP Host Agent 的版本必要條件,請參閱下列 SAP 注意事項:
- Linux:SAP 注意事項 2460297 - 在 Google Cloud Platform 和 Linux 上執行 SAP:強化型監控
- Windows:SAP 注意事項 1409604 - 在 Windows 上虛擬化:增強監控
問題:無法安裝 Google Cloud的 Agent for SAP
問題:執行套件管理員安裝指令 (yum
、zypper
或 googet
) 時,代理程式安裝作業會失敗。
原因:代理程式安裝失敗,因為執行代理程式的主機伺服器是在沒有公開 IP 位址的情況下建立。
解決方法:如要解決這個問題,請設定 NAT 閘道,讓主機伺服器可存取網際網路。如要瞭解如何設定 NAT 閘道,請參閱 SAP 系統的部署指南。例如,如需 SAP NetWeaver 的相關資訊,請參閱:
- 在 Compute Engine VM 執行個體上設定 NAT 閘道
- 在 Linux 上執行 SAP NetWeaver 的部署指南
- 在 Windows 上執行 SAP NetWeaver 的部署指南
問題:收集 SAP HANA 監控指標失敗
問題:從 SAP HANA 監控代理程式升級時,在安裝 Google Cloud的 SAP 代理程式後,您會看到類似以下的錯誤訊息:
tls: failed to verify certificate: x509: certificate relies on legacy Common Name field, use SANs instead
原因: Google Cloud的 SAP 代理程式無法開始收集 SAP HANA 監控指標,因為目標 SAP HANA 執行個體使用的是使用通用名稱 (CN) 指定的 SSL 憑證。
解決方法:如要解決這個問題,請完成下列步驟:
如要使用Google Cloud的 SAP 代理程式監控 SAP HANA 執行個體,您必須改用主體別名 (SAN) 安全資料傳輸層 (SSL) 憑證,而非使用以通用名稱 (CN) 指定的 SSL 憑證。
與主機 VM 執行個體或 Bare Metal Solution 伺服器建立 SSH 連線。
開啟 Google Cloud的 Agent for SAP 設定檔:
/etc/google-cloud-sap-agent/configuration.json
在
hana_monitoring_configuration
部分中,將enabled
參數設為true
。在
hana_monitoring_configuration.hana_instances
部分,針對每個使用 TLS/SSL 通訊協定進行安全通訊的 SAP HANA 執行個體,執行下列操作:指定參數
enable_ssl
,並將其值設為true
。指定參數
host_name_in_certificate
,並將 TLS/SSL 憑證中指定的 SAP HANA 主機名稱設為其值。指定
tls_root_ca_file
參數,並將 TLS/SSL 憑證的儲存路徑設為其值。
儲存設定檔。
重新啟動 Google Cloud的 Agent for SAP,讓新設定生效:
sudo systemctl restart google-cloud-sap-agent
確認代理程式是否正在收集 SAP HANA 監控指標。如需操作說明,請參閱「查看其他指標」一節。
解除安裝 SAP HANA 的監控代理程式。
問題:連線遭拒錯誤
問題:SAP Host Agent 記錄顯示連線遭拒錯誤。
原因: Google Cloud的 Agent for SAP 無法啟動,因為通訊埠 18181
無法使用。 Google Cloud的 Agent for SAP 會在通訊埠 18181
上接聽要求。代理程式必須可使用這個通訊埠才能啟動。
解決方法:如要解決這個問題,請確認 Google Cloud的 Agent for SAP 可使用埠 18181
。如果其他服務使用通訊埠 18181
,您可能需要重新啟動該服務,或重新設定該服務以使用其他通訊埠。
問題:對於 SLES 15 SP4 for SAP 及更新版本的作業系統映像檔, Google Cloud的 Agent for SAP 無法執行
問題:使用 SLES「for SAP」OS 映像檔時,系統會預先為您安裝Google Cloud的 Agent for SAP。不過,對於 SLES 15 SP4 for SAP 及更新版本的 OS 映像檔,預先安裝的 SAP 代理程式不會自行啟動。
如要確認代理程式是否正在執行,請執行下列步驟:
- 連線至主機 VM 執行個體或 Bare Metal 解決方案伺服器。
請執行下列指令:
systemctl status google-cloud-sap-agent
如果代理程式未執行,輸出內容就會包含
inactive (dead)
。例如:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; disabled; vendor preset: disabled) Active: inactive (dead)
原因:由於 OS 封裝有問題,Agent for SAP 無法自行啟動。
解決方法:如要解決問題,請執行下列步驟:
- 連線至主機 VM 執行個體或 Bare Metal 解決方案伺服器。
執行下列指令:
sudo sed -i 's~ /usr/sap~ -/usr/sap~g' /usr/lib/systemd/system/google-cloud-sap-agent.service sudo systemctl restart google-cloud-sap-agent
確認代理程式是否正在執行:
systemctl status google-cloud-sap-agent
畫面會顯示類似以下的輸出:
google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2023-07-12 03:07:23 UTC; 7s ago Main PID: 6117 (google_cloud_sa) Tasks: 6 Memory: 8.8M (max: 1.0G limit: 1.0G available: 1015.1M) CGroup: /system.slice/google-cloud-sap-agent.service └─ 6117 /usr/bin/google_cloud_sap_agent startdaemon
問題:超出 Filtered list cost overhead
配額
問題:您發現在執行 SAP 系統的 Google Cloud 專案中,有下列其中一個配額超出:
- 「Filtered list cost overhead」
Filtered list cost overhead per minute per region
原因: Google Cloud的 Agent for SAP 3.7 以上版本會頻繁呼叫 compute.zoneOperations.list
API,以判斷 Compute Engine 執行個體是否已經歷即時遷移事件。在 Google Cloud 操作次數眾多的專案中,這些頻繁的呼叫可能會導致配額用盡。
解決方法:如要解決這個問題,請將代理程式執行個體更新至 3.8 以上版本。從 3.8 版開始,代理程式不再呼叫 compute.zoneOperations.list
API 進行即時遷移檢查,因此可避免這個配額問題。
如要瞭解如何更新 Google Cloud的 Agent for SAP,請參閱「更新 Google Cloud的 Agent for SAP」。
取得 Google Cloud的 Agent for SAP 支援
如需協助解決 Google Cloud的 Agent for SAP 問題,請收集必要的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。詳情請參閱「第 2 版: Google Cloud的 SAP 診斷資訊代理程式」。