設定 SAP HANA 監控指標收集作業

本指南說明如何設定 Google Cloud的 SAP 代理程式,以便從 SAP HANA 系統收集 SAP HANA 監控指標。

如要瞭解這項功能,請參閱「使用 Google Cloud的 SAP 代理程式監控 SAP HANA」。

事前準備

必要的 IAM 角色

為確保服務帳戶具備必要權限,讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,請要求管理員將下列 IAM 角色授予服務帳戶:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色具備必要權限,可讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,必須具備下列權限:

  • 如要從主機 Compute Engine 執行個體收集 SAP HANA 監控指標,並將指標寫入 Cloud Monitoring,請按照下列步驟操作:
    • monitoring.timeSeries.create
    • compute.nodeGroups.get
    • compute.nodeGroups.list
  • 如果您使用 Secret Manager 儲存密碼來連線至 SAP HANA 資料庫,請按照下列步驟存取密鑰: secretmanager.versions.access

您的管理員也可能會透過自訂角色或其他預先定義的角色,將這些權限授予服務帳戶。

必要的 SAP HANA 角色

如要讓代理程式從 SAP HANA 資料庫收集指標,請確認您在代理程式設定檔中指定的 SAP HANA 使用者具有 MONITORING 角色。

如要瞭解這個角色,請參閱 SAP 文件「標準資料庫角色」。

啟用 SAP HANA Monitoring 指標收集功能

如要啟用 SAP HANA 監控指標的收集功能,請使用Google Cloud的 SAP 代理程式,按照下列步驟操作:

  1. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。

  2. 開啟代理程式的設定檔:

    /etc/google-cloud-sap-agent/configuration.json

    或者,您也可以執行指令來執行這項設定。詳情請參閱「 Google Cloud的 SAP 代理程式設定指令」。

  3. hana_monitoring_configuration 部分中,執行以下操作:

    • 針對參數 enabled,設定值 true
    • hana_instances 部分中,指定要讓代理程式監控的 SAP HANA 執行個體。
    • 您可以視需要定義自訂查詢。如要進一步瞭解如何定義自訂查詢,並查看相關範例,請參閱「定義自訂查詢」。
    • 您可以選擇停用內建或預設查詢。如需操作說明,請參閱「停用 SQL 查詢」。

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

  4. 您可以選擇在 cloud_properties 部分下方更新自動設定的參數值。如要這樣做,請在設定檔中新增 cloud_properties 部分,然後指定必要參數及其值。

  5. 儲存設定檔。

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

    sudo systemctl restart google-cloud-sap-agent

設定檔範例

Compute Engine 執行個體

以下範例是Google Cloud的 SAP 代理程式設定檔,已完成設定,並在Compute Engine 執行個體上執行,其中已啟用 SAP HANA 監控指標的收集功能。請注意,這些範例中包含的自訂查詢 (名為 custom_query) 遵循「定義自訂查詢」一文中指定的自訂查詢定義規範。

以下範例使用 安全使用者儲存庫 (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,
    "collect_process_metrics": false
  },
  "discovery_configuration": {
    "enable_discovery": true,
    "enable_workload_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "user": "system",
        "hdbuserstore_key": "user_store_key"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "user": "system",
        "hdbuserstore_key": "user_store_key"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "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,
    "collect_process_metrics": false
  },
  "discovery_configuration": {
    "enable_discovery": true,
    "enable_workload_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "host": "localhost",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "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,
    "collect_process_metrics": false
  },
  "discovery_configuration": {
    "enable_discovery": true,
    "enable_workload_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "host": "localhost",
        "port": "30015",
        "user": "system",
        "password": "TempPa55word"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "password": "TempPa55word"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "enabled": false
      }
    ]
  }
}

Bare Metal 解決方案伺服器

以下範例是Google Cloud的 SAP 代理程式設定檔,已完成設定,並在Bare Metal Solution 伺服器上執行,其中已啟用 SAP HANA 監控指標的收集功能。請注意,這些範例中包含的自訂查詢 (名為 custom_query) 遵循定義自訂查詢一文中指定的自訂查詢定義規範。

以下範例使用 安全使用者儲存庫 (hdbuserstore) 金鑰進行 SAP HANA 驗證:

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1",
    "region": "us-central1",
    "image": "rhel-8"
  },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "user": "system", "hdbuserstore_key": "user_store_key" }, { "name": "remote", "sid": "DEH", "user": "system", "hdbuserstore_key": "user_store_key" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

以下範例使用使用者名稱和 Secret Manager 密鑰進行 SAP HANA 驗證:

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1",
    "region": "us-central1",
    "image": "rhel-8"
  },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "host": "localhost", "port": "30015", "user": "system", "secret_name": "password-secret-name" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "secret_name": "password-secret-name" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

以下範例使用使用者名稱和密碼進行 SAP HANA 驗證。建議您改為使用 Secret Manager 密鑰或安全使用者儲存庫 (hdbuserstore) 金鑰進行 SAP HANA 驗證。

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1",
    "region": "us-central1",
    "image": "rhel-8"
  },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "host": "localhost", "port": "30015", "user": "system", "password": "TempPa55word" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "password": "TempPa55word" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

定義自訂 SQL 查詢

Google Cloud的 Agent for SAP 會在 SAP HANA 執行個體上執行 SQL 查詢,收集 SAP HANA 監控指標。除了這些預設查詢外,您也可以完成下列步驟,定義及執行自訂 SQL 查詢:

  1. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。

  2. 開啟代理程式的設定檔:

    /etc/google-cloud-sap-agent/configuration.json
  3. hana_monitoring_configuration.queries 區段下方定義自訂查詢。

    如要進一步瞭解如何定義自訂查詢,並查看相關範例,請參閱「定義自訂查詢」。

  4. 如要啟用自訂查詢,請將其 enabled 參數設為 true

  5. 如果您使用的是代理程式 3.7 版,則針對以 主動/主動 (啟用讀取) 設定部署的 SAP HANA HA 系統,您可以指定查詢是在 HA 系統的主要、次要或兩個節點上執行:

    • 如要在主要節點上執行查詢,請加入 "run_on": "PRIMARY"
    • 如要在主要節點上執行查詢,請加入 "run_on": "SECONDARY"
    • 如要在主要節點上執行查詢,請加入 "run_on": "ALL"

    詳情請參閱「為 SAP HANA HA 系統設定節點專屬監控功能」。

  6. 儲存設定檔。

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

    sudo systemctl restart google-cloud-sap-agent

停用 SQL 查詢

如果您不想執行Google Cloud的 Agent for SAP 預設提供的任何內建 SQL 查詢,或您定義的任何自訂查詢,可以完成下列步驟來停用 SQL 查詢:

  1. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。

  2. 開啟代理程式的設定檔:

    /etc/google-cloud-sap-agent/configuration.json
  3. 如要停用內建或預設查詢,請在 hana_monitoring_configuration.queries 部分加入以下內容:

    {
    "name": "default_QUERY_NAME",
    "enabled": false
    }

    QUERY_NAME 替換為預設查詢的名稱。如要進一步瞭解預設查詢,請參閱預設查詢參考資料

  4. 如要停用自訂查詢,請將該自訂查詢的 enabled 參數設為 false

  5. 儲存設定檔。

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

    sudo systemctl restart google-cloud-sap-agent

為多租戶 SAP HANA 資料庫設定租用戶專屬監控

自 Google Cloud的 Agent for SAP 3.7 版起,您可以為多租戶 SAP HANA 資料庫設定租戶專屬監控。如要這樣做,請完成下列步驟:

  1. 請確認您使用的是 Google Cloud的 Agent for SAP 3.7 以上版本。
  2. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
  3. 開啟代理程式的設定檔:

    /etc/google-cloud-sap-agent/configuration.json
  4. hana_monitoring_configuring.hana_instances 部分中,針對您定義的每個 SAP HANA,套用適當的設定:

    • 如要在 SAP HANA 執行個體上執行特定查詢,請按照下列方式加入 queries_to_run.query_name 參數。
    • 如要在 SAP HANA 執行個體上執行所有查詢,請加入 queries_to_run.run_all 參數,如下所示。

    以下程式碼片段為這些選項的範例:

     "hana_monitoring_configuration": {
       "enabled": true,
       ...
       "hana_instances": [
         {
           "name": "TENANT_DB_1_NAME",
           "sid": "SID",
           ...
           "queries_to_run": {
             "query_name": ["QUERY_NAME_1", "QUERY_NAME_2", ...]
           }
         },
         {
           "name": "TENANT_DB_2_NAME",
           "sid": "SID",
           ...
           "queries_to_run": {
             "run_all": true
           }
         }
         ...
       ]
     }

  5. 儲存設定檔。

  6. 新的設定會在接下來 30 秒內生效。或者,您也可以手動重新啟動代理程式

為 SAP HANA HA 系統設定節點專屬監控

自 Google Cloud的 Agent for SAP 3.7 版起,如果是採用主動/主動 (啟用讀取) 設定部署的 SAP HANA HA 系統,您可以指定在代理程式設定檔中定義的查詢是否要在主要節點、次要節點或兩者上執行。如要這樣做,請按照下列步驟進行:

  1. 請確認您使用的是 Google Cloud的 Agent for SAP 3.7 以上版本。
  2. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
  3. 開啟代理程式的設定檔:

    /etc/google-cloud-sap-agent/configuration.json
  4. hana_monitoring_configuring.queries 部分,針對您定義的每個查詢套用適當的設定:

    • 如要在主要節點上執行查詢,請加入 "run_on": "PRIMARY"
    • 如要在主要節點上執行查詢,請加入 "run_on": "SECONDARY"
    • 如要在主要節點上執行查詢,請加入 "run_on": "ALL"
  5. hana_monitoring_configuration.hana_instances 部分中,針對您定義的每個 SAP HANA 執行個體,指定 instance_numis_local 參數。

    以下程式碼片段顯示所有情況的範例:

     "hana_monitoring_configuration": {
       "enabled": true,
       ...
       "hana_instances": [
         {
            "name": "INSTANCE_NAME",
            "sid": "SID",
            "instance_num": "10",
            "is_local": true,
            "hdbuserstore_key": "USER_STORE_KEY"
         },
         {
            "name": "INSTANCE_NAME",
            "sid": "SID",
            "instance_num": "11"
            "is_local": true,
            "hdbuserstore_key": "USER_STORE_KEY"
         },
         ...
       ],
       ...
       "queries": [
         {
            "name": "QUERY_NAME_1",
            "enabled": true,
            "run_on": "PRIMARY",
            ...
         },
         {
            "name": "QUERY_NAME_2",
            "enabled": true,
            "run_on": "SECONDARY",
            ...
         },
         {
            "name": "QUERY_NAME_3",
            "enabled": true,
            "run_on": "ALL",
            ...
         }
         ...
       ]
     }
  6. 儲存設定檔。

  7. 新的設定會在接下來 30 秒內生效。或者,您也可以手動重新啟動代理程式

設定參數

下表說明Google Cloud的 SAP 代理程式設定參數,這些參數與 SAP HANA 監控指標的收集作業相關。

參數
provide_sap_host_agent_metrics

Boolean

如要啟用 SAP Host Agent 所需的指標收集功能,請指定 true。預設值為 true
除非 Cloud Customer Care 或 SAP 支援團隊另有指示,否則請勿將 provide_sap_host_agent_metrics 設為 false

bare_metal

Boolean

將代理程式安裝在 Bare Metal 解決方案伺服器上時,請指定 true。預設值為 false

log_level

String

如要設定代理程式的記錄等級,請設定必要值。可用的記錄層級如下:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

預設為 INFO 步。除非 Cloud Customer Care 指示,否則請勿變更記錄層級。

log_to_cloud

Boolean

如要將代理程式的記錄重新導向至 Cloud Logging,請指定 true。預設值為 true

cloud_properties.project_id

String

如果您的 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定您在 Bare Metal 解決方案中使用的 Google Cloud 專案 ID。

當代理程式在 Compute Engine 執行個體上執行時,根據預設,代理程式會自動偵測專案 ID。

cloud_properties.instance_name

String

如果您的 SAP 系統是在 Compute Engine 執行個體上執行,請指定該 Compute Engine 執行個體的名稱。代理程式會在安裝時自動偵測運算執行個體名稱。

如果 SAP 系統是在 Bare Metal Solution 伺服器上執行,請指定該伺服器的名稱。

cloud_properties.region

String

如果 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定 Bare Metal 解決方案伺服器的區域

當代理程式在運算執行個體上執行時,根據預設,代理程式會使用運算執行個體部署的區域。

cloud_properties.zone

String

當代理在運算執行個體上執行時,根據預設,代理會使用運算執行個體部署所在的區域。

cloud_properties.image

String

指定執行個體的 OS 映像檔名稱。

當代理程式在運算執行個體上執行時,根據預設,代理程式會自動偵測運算執行個體使用的 OS 映像檔。

cloud_properties.numeric_project_id

String

指定執行 SAP 系統的 Google Cloud 專案的數字 ID。

當代理程式在運算執行個體上執行時,根據預設,代理程式會自動偵測專案編號。

discovery_configuration.enable_workload_discovery

Boolean

如要讓代理程式收集主機上執行的 SAP 產品名稱和版本,請指定 true。預設值為 true

詳情請參閱 google-cloud-sap-agent GitHub 存放區中 GoogleCloudPlatform/sapagent 底下的代理程式程式碼庫。

discovery_configuration.enable_discovery

Boolean

如要將代理程式收集到的關於主機上執行的 SAP 產品資訊傳送至 Cloud Logging,請指定 true。預設值為 true

如果您指定 false 值,代理程式就會將收集到的資訊儲存在主機上,而不會傳送至 Cloud Logging。

hana_monitoring_configuration.enabled

Boolean

(選用步驟) 如要讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,請指定 true。預設值為 false

下列子項參數僅適用於您指定 hana_monitoring_configuration.enabled: true 的情況。
hana_monitoring_configuration.sample_interval_sec

Int

(選用步驟) 指定取樣間隔 (以秒為單位),這會決定 Google Cloud的 Agent for SAP 查詢 SAP HANA 執行個體的頻率,以便收集 SAP HANA 監控指標。預設值為 300 秒。

針對 Google Cloud的 SAP 代理程式在設定檔中定義的每個查詢,您可以為參數 sample_interval_sec 指定所需的間隔,藉此覆寫全域取樣間隔。取樣間隔必須為 5 秒或更長。

hana_monitoring_configuration.query_timeout_sec

Int

(選用步驟) 指定對 SAP HANA 執行個體執行的每個查詢的逾時時間。預設值為 300 秒。

hana_monitoring_configuration.execution_threads

Int

(選用步驟) 指定用於將查詢傳送至 SAP HANA 執行個體的執行緒數量。每個查詢都會在自己的執行緒中執行。預設值為 10。

hana_monitoring_configuration.send_query_response_time

Boolean

(選用步驟) 指定 true,讓代理程式擷取代理程式設定檔中定義的每個 SAP HANA 監控查詢的回應時間。

hana_monitoring_configuration.hana_instances.name

String

指定 SAP HANA 執行個體的名稱 ID。

hana_monitoring_configuration.hana_instances.sid

String

指定 SAP HANA 例項的 SID。這個字串會新增為標籤,並套用至查詢 SAP HANA 執行個體所產生的所有指標。

hana_monitoring_configuration.hana_instances.host

String

指定主機的 ID,該主機可用於代管 SAP HANA 例項,可為本機或遠端。支援的值如下:

  • 如果主機是本機電腦,請指定字串 localhost 或本機電腦迴送 IP 位址,例如 127.0.0.1
  • 如果主機是遠端機器,請指定其內部或外部 IP 位址。
hana_monitoring_configuration.hana_instances.port

String

指定 SAP HANA 執行個體接受查詢的通訊埠。第一個或唯一租用戶資料庫執行個體的通訊埠為 3NN15,其中 NN 是 SAP HANA 執行個體的執行個體編號。

hana_monitoring_configuration.hana_instances.user

String

指定用於查詢 SAP HANA 執行個體的使用者帳戶。

請確認此使用者具有讀取 SAP HANA 資料庫中監控檢視畫面的權限。如果未授予此權限,則與監控檢視畫面相關的 SAP HANA 監控指標就不會包含任何資料。

hana_monitoring_configuration.hana_instances.password

String

(選用步驟) 以純文字形式指定密碼,驗證用於查詢 SAP HANA 執行個體的使用者帳戶。

如要進行驗證,您必須指定下列其中一項:

  • 參數 password 的純文字密碼。
  • (建議) 如果您使用 Secret Manager 將密碼儲存為密鑰,則必須將對應的密鑰名稱指定給參數 secret_name
  • (建議) 參數 hdbuserstore_keyhdbuserstore

針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定,hdbuserstore_key 設定參數會優先於 password 參數,而 password 參數會優先於 secret_name 參數。建議您在設定檔中只設定一個驗證選項。

hana_monitoring_configuration.hana_instances.secret_name

String

(選用步驟) 在 Secret Manager 中指定儲存使用者帳戶密碼的機密。

針對 SAP HANA 驗證,代理程式會使用下列優先順序:如果已指定,hdbuserstore_key 設定參數會優先於 password 參數,而 password 參數會優先於 secret_name 參數。建議您在設定檔中只設定一個驗證選項。

hana_monitoring_configuration.hana_instances.hdbuserstore_key

String

如要安全地連線至 SAP HANA 系統,請指定您為該系統建立的 安全使用者儲存庫 (hdbuserstore) 金鑰。

如要使用 hdbuserstore 金鑰進行驗證,請確認下列事項:

  • SAP 工具 hdbsqlhdbuserstore 會安裝在代管代理程式的運算執行個體上。
  • hdbuserstore 索引鍵對應至一個特定的 SAP HANA 執行個體。您無法使用包含多個 SAP HANA 執行個體主機名稱的金鑰。
  • SIDadm 使用者可以使用這個鍵查詢 SAP HANA 資料庫。此處的 SID 是指您為 sid 參數指定的值。您可以以 SIDadm 使用者身分執行下列指令,確認這項設定:
    hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"

這個設定參數自 3.3 版開始支援。

如果您指定 hdbuserstore_key,則可以略過指定 hostport 參數。

hana_monitoring_configuration.hana_instances.is_local

Boolean

如要監控 HA 系統,請指定 true,告訴代理程式,定義的 SAP HANA 執行個體會託管在與代理程式相同的 Compute Engine 執行個體上。這會讓代理程式在執行階段檢查所定義的 SAP HANA 例項是否為 HA 系統中的主節點或次要節點。代理程式必須具備這項認知,才能針對您為 queries.run_on 參數指定的 SAP HANA 執行個體類型,執行 SAP HANA 監控查詢。

這個參數的預設值為 false,可讓代理程式在對應的 SAP HANA 執行個體上執行所有已啟用的 SAP HANA 監控查詢。詳情請參閱「多租戶和 HA 系統的監控」。

這個參數適用於 3.7 以上版本的代理程式。

hana_monitoring_configuration.hana_instances.instance_num

String

指定您為 SAP HANA 例項設定的例項編號。 代理程式需要這項資訊才能偵測您的 SAP HANA 執行個體。

這個參數適用於 3.7 以上版本的代理程式。

hana_monitoring_configuration.hana_instances.queries_to_run.run_all

Boolean

(選用步驟) 指定 true 即可在指定 SAP HANA 執行個體上,執行代理程式設定檔中啟用的所有 SAP HANA 監控查詢 (預設和自訂)。預設值為 false

hana_monitoring_configuration.hana_instances.queries_to_run.query_name

String

(選用步驟) 指定要在指定 SAP HANA 執行個體上執行的查詢。

如果您執行的是多租戶 SAP HANA 資料庫,可以使用這個設定參數來設定租戶專屬監控。在以下設定範例中,系統會在 HANA_TENANT_1 上執行兩個查詢,並在 HANA_TENANT_2 上執行設定中定義的所有查詢:

    "hana_instances": [
      {
        "name": "HANA_TENANT_1,
        "queries_to_run": {
          "query_name": ["QUERY_NAME_1", "QUERY_NAME_2"]
        }
      },
      {
        "name": "HANA_TENANT_2,
        "queries_to_run": {
          "run_all": true
        }
      }
      ...
    ]
hana_monitoring_configuration.hana_instances.enable_ssl

Boolean

(選用步驟) 指定是否在 SAP HANA 例項中啟用 SSL。預設值為 false

hana_monitoring_configuration.hana_instances.host_name_in_certificate

String

如果您為 SAP HANA 執行個體指定 enable_ssl: true,則必須指定 SSL 憑證中設定的主機名稱。

hana_monitoring_configuration.hana_instances.tls_root_ca_file

String

如果您為 SAP HANA 例項指定 enable_ssl: true,則必須指定安全性憑證的路徑。

hana_monitoring_configuration.queries.enabled

Boolean

(選用步驟) 如要為所有 SAP HANA 執行個體啟用 SQL 查詢,請為該 SQL 查詢的參數 enabled 指定值 true

hana_monitoring_configuration.queries.name

String

如果您在設定檔中定義了自訂查詢,則必須為每個自訂查詢指定不重複的名稱。

查詢名稱不得重複,因為這會用於在監控中建立指標的預設網址。

hana_monitoring_configuration.queries.run_on

String

(選用步驟) 如果您要監控 SAP HANA HA 系統,並想在主要或次要節點上執行 SAP HANA 監控查詢,請指定這個參數。支援的值:PRIMARYSECONDARYALL。指定 ALL 值後,代理程式會在 HA 叢集中的主節點和次要節點上執行 SAP HANA 監控查詢。

這個參數適用於 3.7 以上版本的代理程式。此外,如要在次要節點上執行查詢,請確認 HA 系統是採用 主動/主動 (啟用讀取) 設定部署。

hana_monitoring_configuration.queries.sql

String

指定代理程式向 SAP HANA 執行個體發出的 SQL 陳述式。

SQL 陳述式必須符合 SAP 在 SAP HANA SQL 和系統檢視表參考資料中定義的 SQL 語法。
hana_monitoring_configuration.queries.sample_interval_sec

Int

(選用步驟) 指定 SQL 查詢的取樣間隔。這會覆寫全域取樣間隔。這個值必須等於或大於 5 秒。

hana_monitoring_configuration.queries.columns.name

String

指定可用於識別每個資料欄的名稱。

資料欄名稱不得重複,因為這會用於在監控中建立指標的預設網址。

hana_monitoring_configuration.queries.columns.metric_type

String

如要由 Monitoring 處理,請指定下列任一指標類型:METRIC_LABELMETRIC_GAUGEMETRIC_CUMULATIVE

系統會將 METRIC_LABEL 類型指標附加為標籤,並傳送至 Monitoring 的所有 METRIC_GAUGEMETRIC_CUMULATIVE 指標。

hana_monitoring_configuration.queries.columns.value_type

String

如要由監控處理,請指定指標類型支援的資料類型。

支援的資料類型如下:VALUE_BOOLVALUE_INT64VALUE_STRINGVALUE_DOUBLE。詳情請參閱「支援的組合」。

hana_monitoring_configuration.queries.columns.name_override

String

(選用步驟) 如要由 Monitoring 處理,請指定要顯示在評估指標網址中的路徑,而非查詢和欄位名稱。例如:

  • 指標的預設網址: workload.googleapis.com/sap/hanamonitoring/QUERY_NAME/COLUMN_NAME
  • 使用自訂路徑的 Metrics 網址: workload.googleapis.com/sap/hanamonitoring/CUSTOM_PATH

驗證 SAP HANA 監控指標收集作業的設定

您可以執行代理程式的 status 指令,驗證是否已正確 Google Cloud 設定 SAP HANA Monitoring 指標收集功能。這個指令自 3.7 版代理程式起即受支援。

如要這樣做,請按照下列步驟進行:

  1. 與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
  2. 執行下列指令:

    sudo /usr/bin/google_cloud_sap_agent status
    

    如果您 Google Cloud 設定的 SAP HANA 監控指標收集作業正確無誤,輸出內容就會包含下列項目。您的設定可能包含 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
    ...
    ----------------------------------------------------------------------------
    HANA Monitoring Metrics: Enabled
        Status: Fully Functional
        IAM Permissions: All granted
        Configuration:
            connection_timeout:       120   (default)
            enabled:                  true  (configuration file)
            execution_threads:        10    (default)
            max_connect_retries:      1     (default)
            query_timeout_sec:        300   (default)
            sample_interval_sec:      300   (default)
            send_query_response_time: false (default)
    ...
    
  3. 如果輸出內容顯示缺少部分設定,請查看前面各節提供的資訊,執行必要動作,然後重新執行 status 指令,重新驗證設定。

查看收集的指標

如要以圖表呈現代理程式收集的 SAP HANA 監控指標,您可以使用Google Cloud 提供的下列自訂資訊主頁:

  • SAP 專用代理程式 - 詳細 HANA 總覽:這個資訊主頁提供圖表,顯示下列指標的狀態總覽:執行個體記憶體、已使用的服務記憶體、結構定義預估的最大記憶體、rowstore 記憶體總大小、結構定義讀取值異常值、結構定義寫入值異常值、結構定義上次壓縮記錄計數異常值、系統連線、快訊、前 5 大運算執行個體的 CPU 百分比、前 5 大運算執行個體的記憶體百分比,以及各區域的主機。

    這個資訊主頁的 JSON 檔案為 agent-for-sap-hana-detailed-overview.json

  • SAP 專用代理程式 - HANA 效能:這個資訊主頁提供圖表,顯示下列指標的原始指標值:執行個體記憶體、結構描述讀取和寫入異常值、結構描述效能、記憶體用量、結構描述記錄計數異常值、服務使用的總記憶體、rowstore 記憶體大小、系統閒置和執行中的連線、連線和 rowstore 記憶體、結構描述總記錄,以及結構描述預估的總大小。

    這個資訊主頁的 JSON 檔案為 agent-for-sap-hana-performance.json

安裝資訊主頁

如要安裝自訂資訊主頁,請完成下列步驟:

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,前往「Monitoring」頁面:

    前往「Monitoring」頁面

  2. 在「Monitoring」導覽面板中,按一下「Dashboards」

  3. 按一下「Sample library」分頁標籤。

    顯示已選取的「Sample Library」分頁。

  4. 如要篩選特定服務專員的自訂資訊主頁,請在「Filter」欄位中輸入 Agent for SAP

  5. (選用) 如要查看資訊主頁的詳細資料或預覽內容,請按一下「預覽」

  6. 選取要安裝的資訊主頁。

  7. 依序按一下「匯入」和「確認」

    資訊主頁已新增至Google Cloud 專案中可用的資訊主頁。如要查看資訊主頁,請按照「查看已安裝的資訊主頁」中的操作說明進行。

Google Cloud CLI

  1. 開啟 Cloud Shell:

    開啟 Cloud Shell

  2. 在 Cloud Shell 中,複製或下載存放區:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/

  3. 在 Cloud Shell 中,使用對應的 JSON 檔案安裝必要的資訊主頁:

    gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE

    CONFIG_FROM_FILE 替換為指向含有資訊主頁設定的 JSON 檔案路徑。資訊主頁設定檔位於路徑:monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap

    資訊主頁已新增至 Google Cloud 專案中可用的資訊主頁。如要查看資訊主頁,請按照「查看已安裝的資訊主頁」中的指示操作。

查看已安裝的資訊主頁

如要查看已安裝的資訊主頁,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Monitoring」頁面:

    前往「Monitoring」頁面

  2. 在「Monitoring」導覽面板中,按一下「Dashboards」

  3. 按一下清單中的資訊主頁名稱。

如果您有許多資訊主頁,可以篩選自訂資訊主頁或新資訊主頁的名稱。如要進一步瞭解如何篩選這份名單,請參閱「查看自訂資訊主頁」一文。

以下圖片為範例,顯示 Monitoring 中 SAP HANA 指標的自訂資訊主頁部分。

螢幕截圖:顯示 Monitoring 中 SAP HANA 指標的自訂資訊主頁