設定 SAP 工作負載的代理程式

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

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

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

必要的 IAM 角色

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

安裝代理程式

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

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

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

      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。如要瞭解可安裝的代理程式版本,請參閱「列出所有可用的代理程式版本」。

      如要瞭解如何將代理程式降級至特定版本,請參閱「 降級 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.10 (最新) 版:
      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.10 (最新) 版:
      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 評估指標收集設定

您可以執行代理程式的 status 指令,驗證是否已正確設定,以便收集 Workload Manager 評估指標。 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 指令,重新驗證設定。

後續步驟