設定 Google Cloud 的 Agent for SAP

SAP 解決方案適用的 Workload Manager 會使用 Google Cloud的 Agent for SAP 偵測及收集中繼資料,以評估 SAP 系統設定。如要支援及監控在 Google Cloud 上執行的 SAP 系統 (包括 SAP NetWeaver、SAP HANA、SAP ASE 和 SAP MaxDB),所有執行 SAP 系統的 VM 執行個體都必須安裝 Agent for SAP 和 SAP Host Agent。 Google Cloud

以下檢查清單列出您需要執行的工作,確保 SAP 代理程式設定正確無誤:

  1. 將必要角色授予服務帳戶
  2. 安裝 Agent for SAP
  3. 確認代理程式版本並安裝更新 (如有)
  4. 啟用評估指標收集功能

必要 IAM 角色

Google Cloud的 SAP 專用代理程式需要身分與存取權管理 (IAM) 服務帳戶,才能向 Google Cloud 進行驗證,並取得存取 Google Cloud 資源的權限。如要收集 Workload Manager 評估指標,無論您使用新的、現有的或預設服務帳戶,該服務帳戶都必須包含下列 IAM 角色:

安裝代理程式

如果尚未安裝,請在代管 SAP 系統的 VM 上安裝適用於 SAP 的代理程式: Google Cloud

如要在 Compute Engine 執行個體上安裝代理程式,請按照下列步驟操作:

  1. 建立與運算執行個體的 SSH 連線。
  2. 在終端機中,執行適用於作業系統的指令,安裝代理程式:
    • (建議) 如要安裝代理程式 3.9 版 (最新版):

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      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-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent
    • 如要安裝特定版本的代理程式,請按照下列步驟操作:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
      [google-cloud-sap-agent]
      name=Google Cloud Agent for SAP
      baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=0
      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-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
      sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER 替換為要安裝的代理程式版本號碼,例如 3.1-606637668。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。

      如要瞭解如何將代理程式降級至特定版本,請參閱「 降級 Agent for SAP Google Cloud」。

安裝完成後,請繼續設定代理程式,以收集 Workload Manager 評估指標。

確認代理程式版本

Google Cloud 建議您安裝最新版本的 Agent for SAP,以便準確評估 SAP 工作負載,因為 Agent for SAP 可能會定期發布新版本,並新增或變更用於評估的指標。

為確保您使用的是最新版 Google Cloud's Agent for SAP,請定期檢查更新並更新代理程式。

檢查更新

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

RHEL

  1. 建立與執行個體之間的 SSH 連線。
  2. 執行下列指令:
    sudo yum check-update google-cloud-sap-agent

SLES

  1. 建立與執行個體之間的 SSH 連線。
  2. 執行下列指令:
    sudo zypper list-updates -r google-cloud-sap-agent

安裝更新

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

RHEL

  1. 建立與執行個體之間的 SSH 連線。
  2. 更新代理程式執行個體:
    • (建議) 如要將代理程式更新至 3.9 版 (最新版):
      sudo yum --nogpgcheck update google-cloud-sap-agent
    • 如要更新至特定版本的代理程式:
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER 替換為要安裝的代理程式版本號碼,例如 3.1-606637668。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。

SLES

  1. 建立與執行個體之間的 SSH 連線。
  2. 更新代理程式執行個體:
    • (建議) 如要將代理程式更新至 3.9 版 (最新版):
      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。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。

設定收集 Workload Manager 評估指標

如要設定 Google Cloud的 Agent for SAP,請完成下列步驟:

  1. 如要讓代理程式收集 Workload Manager 評估指標,請按照下列步驟操作:

    sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable

  2. 選用:如要在 Workload Manager 中啟用「SAP HANA Insights」和「SAP HANA Security Best Practices」指標的收集作業,請在代理程式設定檔的 collect_workload_validation_metrics 後方加入 workload_validation_db_metrics_config 區段,然後指定下列參數:

    • hana_db_user:指定用於查詢 SAP HANA 執行個體的使用者帳戶。
    • hostname:指定主機的 ID,可以是本機或遠端,用來代管 SAP HANA 執行個體。
    • port:指定 SAP HANA 執行個體接受查詢的通訊埠。
    • hana_db_password_secret_name:在Secret Manager 中指定儲存使用者帳戶密碼的密碼名稱

      除了密鑰,您也可以使用 hdbuserstore_key 設定參數。

    • hdbuserstore_key:指定用於驗證為 hana_db_user 指定使用者的hdbuserstore 金鑰

      如果指定 hdbuserstore_key,則可略過 hostnameport 參數。

    如要瞭解這些參數,請參閱「設定參數」。

    以下範例是Google Cloud's Agent for SAP 在Compute Engine 執行個體上執行的完整設定檔,其中已啟用 Workload Manager 評估指標的收集作業。

    對於 SAP HANA 驗證,代理程式會依下列偏好順序使用參數:如果已指定 hdbuserstore_key 設定參數,則優先使用該參數,其次是 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 密鑰或 Secure user store (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
        }
      }

  3. 重新啟動代理程式,讓新設定生效:

    sudo systemctl restart google-cloud-sap-agent

    代理程式成功重新啟動後,就會開始將 Workload Manager 評估指標傳送至 Workload Manager。

驗證 Workload Manager 評估指標收集設定

如要驗證您是否已正確設定,以便收集 Workload Manager 評估指標,請執行代理程式的 status 指令。 Google Cloud 這個指令適用於 3.7 以上版本的代理程式。

如要驗證 Google Cloud 設定,請完成下列步驟:

  1. 建立與 Compute Engine 執行個體的 SSH 連線。
  2. 執行下列指令:
    sudo /usr/bin/google_cloud_sap_agent status

    如果 Workload Manager 評估指標收集設定正確,輸出內容會包含下列項目。 Google Cloud 您的設定可能會有 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)
        ...
        
  3. 如果輸出內容顯示缺少部分設定,請查看前幾節提供的資訊,執行必要動作,然後重新執行 status 指令,重新驗證設定。

後續步驟