設定 Google Cloud 的 Agent for SAP

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

下列檢查清單列出您需要執行的任務,以確保已正確設定 SAP 代理程式:

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

必要的 IAM 角色

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

安裝代理程式

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

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

  1. 建立與運算執行個體之間的 SSH 連線。
  2. 在終端機中,執行適用於您作業系統的指令來安裝代理程式:
    • (建議) 如要安裝代理程式的 3.8 版 (最新版),請按照下列步驟操作:

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

SLES

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

設定 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 安全性最佳做法」指標收集功能,請在代理程式設定檔的 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的 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
        }
      }

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

    sudo systemctl restart google-cloud-sap-agent

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

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

您可以執行代理程式的 status 指令,驗證是否已正確 Google Cloud 設定 Workload Manager 評估指標的收集方式。這個指令自 3.7 版代理程式起開始支援。

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

  1. 建立與 Compute Engine 執行個體的 SSH 連線。
  2. 執行下列指令:
    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)
        ...
        
  3. 如果輸出內容顯示缺少部分設定,請查看前面各節提供的資訊,執行必要動作,然後重新執行 status 指令,重新驗證設定。

後續步驟