排解 SAP 的觀測能力問題

本文說明如何解決在 Workload Manager 中使用 SAP 工作負載可觀測性服務時可能遇到的問題。

可觀測性資訊主頁未列出 SAP 系統 ID

設定 Google Cloud's Agent for SAP 以進行可觀測性作業,並授予服務帳戶所有 VM 的必要權限 (這些 VM 裝載 SAP 系統的不同元素,例如中央服務、應用程式伺服器和 SAP HANA 資料庫) 後,系統 ID 就會顯示在 SAP 可觀測性資訊主頁上。如果系統 ID 未列出,請按照下列章節的說明,檢查代理程式設定和記錄。

驗證代理程式設定

請務必為Google Cloud's Agent for SAP 正確設定所有必要功能。

如要取得代理程式執行個體的功能狀態,請執行下列指令:

    sudo /usr/bin/google_cloud_sap_agent status

這項指令的輸出內容會摘要說明已啟用和停用的功能。此外,也會指出任何缺少的 IAM 權限或設定問題。詳情請參閱「驗證 Workload Manager 可觀測性設定」。

查看 VM 執行個體記錄

在 VM 執行個體記錄中,查看與 Agent for SAP 無法更新 SAP 系統資訊相關的問題。如要查看記錄,請按照下列步驟操作:

  1. 選取 VM,開啟「詳細資料」頁面。
  2. 按一下「可觀測性」分頁標籤,即可顯示 VM 相關資訊。
  3. 選取「所有記錄」,然後依「嚴重性」排序,找出「錯誤」記錄。

    VM 觀測功能分頁

    這類錯誤大多與附加至 VM 的服務帳戶缺少權限有關。如要解決這些錯誤,請將必要權限授予服務帳戶

使用 Cloud Logging 查看記錄

請務必確保 Agent for SAP 正確探索 SAP 工作負載。 如要查看代管代理程式的 VM 執行個體記錄項目,請執行下列操作:

  1. 在 Google Cloud 控制台中,依序選取「Logging」(記錄) 和「Logs Explorer」(記錄檔探索工具)

    前往記錄檔探索工具

  2. 在「Query」(查詢) 窗格中,選取「Show query」(顯示查詢),然後輸入下列查詢:

    jsonPayload.@type:"SapDiscovery"
    

    如果無法查看代管代理程式的 VM 資訊,表示代理程式可能未正確設定或無法正常運作。詳情請參閱「設定 Agent for SAP」。

  3. 選用:如要查看 Agent for SAP 上傳 SAP 探索資料時的相關程序記錄,請使用下列查詢:

     -jsonPayload.caller=~"third_party/sapagent/internal/system/clouddiscovery/cloud_discovery.go"
     -jsonPayload.caller=~"third_party/sapagent/internal/system/sapdiscovery"
    

健康狀態顯示為未指定

SAP 系統的「未指定」 (灰色) 健康狀態可能有多個根本原因。如果缺少指標或設定,Workload Manager 就無法正確評估系統,此時系統就會顯示這個健康狀態。造成這種健康狀態最常見的原因如下:

  • Agent for SAP 可能已停止運作,或回報的必要指標有誤。 Google Cloud詳情請參閱「驗證代理程式安裝作業」。

  • 如果 Agent for SAP 正在運作,但系統狀態為「未指定」,請檢查代理程式中是否已啟用「程序監控」和「SAP HANA 監控」功能,並根據 VM 上執行的 SAP 程序正確設定。核心服務和應用程式伺服器必須啟用程序監控,SAP HANA 資料庫則必須啟用程序監控和 SAP HANA 監控。

    • 快速變更和緩慢變更的程序監控指標的收集頻率預設值分別為 5 秒和 30 秒。如果這些值高於預設值,健康狀態可能會顯示為「未指定」
  • 在「系統總覽」頁面中,檢查系統是否正確識別架構規模類型。如果這兩個參數有任何一個或全部不正確,則表示Google Cloud的 SAP 代理程式或上傳至 Google Cloud的 SAP 資料有潛在問題。如需進一步分析,請與 Cloud Customer Care 團隊聯絡。請參閱「取得 Google Cloud的 Agent for SAP 支援」。

  • 由於指標 workload/sap/nw/instance/roleworkload/sap/hana/ha/availability 無法正常運作或遺失,系統無法正確識別與 VM 相關的角色。在「應用程式和資料庫」資訊主頁的 VM 清單中,檢查已識別的 SAP 角色。

    以下是各架構類型所需的角色:

    • 集中式架構:核心服務、應用程式伺服器和 SAP HANA 主要伺服器。
    • 分散式架構:核心服務、應用程式伺服器和 SAP HANA 主要伺服器。
    • 分散式架構 (具備高可用性):核心服務、ERC、應用程式伺服器、SAP HANA 主要伺服器和 SAP HANA 次要伺服器。

    清單中的所有 VM 都應指派角色。

  • 請檢查 Cloud Monitoring 中的指標,或使用 timeSeries API 方法,讓 Agent for SAP 推送最新值,確認必要指標具有有效值。如果 Cloud Monitoring 中沒有該指標,或該指標沒有值,則健康狀態會標示為「未指定」,因為資料不足,無法評估該指標。

  • 在分散式高可用性架構中,檢查叢集是否有失敗的動作,並執行下列指令進行清理:

    RHEL

    pcs resource cleanup RESOURCE_ID

    SLES

    crm resource cleanup RESOURCE_ID

    RESOURCE_ID 替換為叢集中失敗資源的 ID。

    叢集中的失敗動作可能會影響指標 workload.googleapis.com/sap/cluster/nodesworkload.googleapis.com/sap/cluster/resources,並回報不正確的值。

  • 確認 SAP 代理程式版本是否為最新版本。 Google Cloud新版代理程式修正了與可觀測性指標相關的問題和錯誤。如果指標不正確,系統健康狀態可能會顯示「未指定」

  • 如果 SAP HANA 資料庫複製到次要網站,請檢查主要和次要網站之間是否有有效的叢集設定。