本指南說明如何設定Google Cloud的 SAP 專用代理程式第 2 版,以便從 SAP HANA 系統收集 SAP HANA 監控指標。
如要瞭解這項功能,請參閱「使用 Google Cloud的 SAP 代理程式監控 SAP HANA」。
事前準備
- 驗證 Google Cloud的 Agent for SAP 安裝作業。如需操作說明,請參閱適用於您情況的安裝指南。
- 如果您已在 Bare Metal 解決方案伺服器上安裝代理程式,請確認您已完成必要的先決條件,並設定服務帳戶。如需操作說明,請參閱「在 Linux 上設定 Google Cloud的 Agent for SAP」。
設定 IAM 角色
如要讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,您必須確保 Compute Engine 執行個體或 Bare Metal Solution 伺服器使用的服務帳戶包含下列角色:
- Compute Viewer (
roles/compute.viewer
) - 監控指標寫入器 (
roles/monitoring.metricWriter
) - Secret Manager 密鑰存取者 (
roles/secretmanager.secretAccessor
):如果您使用 Secret Manager 儲存 SAP HANA 資料庫密碼。
如要將這些必要角色新增至服務帳戶,請按照下列步驟操作:
前往 Google Cloud 控制台的「IAM」頁面。
選取 Google Cloud 專案。
找出您想新增角色的服務帳戶。
- 如果服務帳戶不在主體清單中,表示尚未獲派任何角色。按一下「Add」,然後輸入服務帳戶的電子郵件地址。
- 如果服務帳戶已在使用者清單中,表示已獲指派角色。找到要編輯的服務帳戶,然後按一下「編輯」按鈕。
從可用角色清單中選取必要角色:
- Compute 檢視器
- Monitoring > Monitoring 指標寫入者
- Secret Manager > Secret Manager 密鑰存取者
按一下 [Add] (新增) 或 [Save] (儲存),即可將角色套用到服務帳戶。
啟用 SAP HANA Monitoring 指標收集功能
如要啟用 SAP HANA 監控指標的收集功能,請使用Google Cloud的 SAP 代理程式,按照下列步驟操作:
與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
開啟代理程設定檔:
/etc/google-cloud-sap-agent/configuration.json
在
hana_monitoring_configuration
部分中,執行以下操作:您可以選擇在
cloud_properties
部分下方更新自動設定的參數值。如要這樣做,請將cloud_properties
部分新增至設定檔,然後指定必要參數及其值。儲存設定檔。
重新啟動代理程式,讓新設定生效:
sudo systemctl restart google-cloud-sap-agent
設定檔範例
Compute Engine 執行個體
以下範例是Google Cloud的 SAP 代理程式設定檔,這個代理程式會在 Compute Engine 執行個體上執行,並啟用 SAP HANA 監控指標的收集功能。請注意,此範例中包含的自訂查詢名為 custom_query
,遵循「定義自訂查詢」一文中指定的自訂查詢定義規範。
{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "sap_system_discovery": true, "collect_workload_validation_metrics": true, "collect_process_metrics": false }, "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 } ] } }
Bare Metal 解決方案伺服器
以下範例是Google Cloud的 SAP 代理程式設定檔,該代理程式會在 Bare Metal Solution 伺服器上執行,並啟用 SAP HANA 監控指標的收集功能。請注意,此範例中包含的自訂查詢名為 custom_query
,遵循「定義自訂查詢」一文中指定的自訂查詢定義規範。
{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "sap_system_discovery": true, "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" }, "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 } ] } }
定義自訂 SQL 查詢
Google Cloud的 SAP 專用代理程式會在 SAP HANA 例項上執行 SQL 查詢,收集 SAP HANA 監控指標。除了這些預設查詢外,您也可以完成下列步驟,定義及執行自訂 SQL 查詢:
與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
開啟代理程設定檔:
/etc/google-cloud-sap-agent/configuration.json
在
hana_monitoring_configuration.queries
區段下方定義自訂查詢。如要進一步瞭解如何定義自訂查詢,並查看相關範例,請參閱「定義自訂查詢」。
如要啟用自訂查詢,請將其
enabled
參數設為true
。儲存設定檔。
重新啟動代理程式,讓新設定生效:
sudo systemctl restart google-cloud-sap-agent
停用 SQL 查詢
如果您不想執行Google Cloud的 Agent for SAP 預設提供的任何內建 SQL 查詢,或您定義的任何自訂查詢,可以完成下列步驟來停用 SQL 查詢:
與 Compute Engine 執行個體或 Bare Metal 解決方案伺服器建立 SSH 連線。
開啟代理程設定檔:
/etc/google-cloud-sap-agent/configuration.json
如要停用內建或預設查詢,請在
hana_monitoring_configuration.queries
部分加入以下內容:{ "name": "default_QUERY_NAME", "enabled": false }
將
QUERY_NAME
替換為預設查詢的名稱。如要進一步瞭解預設查詢,請參閱預設查詢參考資料。如要停用自訂查詢,請將該自訂查詢的
enabled
參數設為false
。儲存設定檔。
重新啟動代理程式,讓新設定生效:
sudo systemctl restart google-cloud-sap-agent
設定參數
下表說明Google Cloud的 SAP 代理程式設定參數,這些參數專門用於收集 SAP HANA 監控指標。
參數 | |
---|---|
provide_sap_host_agent_metrics |
如要啟用 SAP Host Agent 所需的指標收集功能,請指定 |
bare_metal |
將代理程式安裝在 Bare Metal 解決方案伺服器上時,請指定 |
log_level |
如要設定代理程式的記錄等級,請設定必要值。可用的記錄層級如下:
預設為 |
log_to_cloud |
如要將代理程式的記錄重新導向至 Cloud Logging,請指定 |
sap_system_discovery |
如要啟用 SAP 系統探索功能,請指定 |
cloud_properties.project_id |
如果您的 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定您在 Bare Metal 解決方案中使用的 Google Cloud 專案 ID。 |
cloud_properties.instance_name
|
如果您的 SAP 系統是在 Compute Engine 執行個體上執行,請指定該運算執行個體的名稱。代理程式會在安裝時自動偵測運算執行個體名稱。 如果 SAP 系統是在 Bare Metal Solution 伺服器上執行,請指定該伺服器的名稱。在代理程式 2.5 以下版本中,請為屬性 |
cloud_properties.region |
如果 SAP 系統是在 Bare Metal 解決方案伺服器上執行,請指定 Bare Metal 解決方案伺服器的區域。 |
cloud_properties.zone |
代理程式在運算執行個體上執行時,預設會使用運算執行個體部署所在的區域。 |
cloud_properties.image |
指定執行個體的 OS 映像檔名稱。 |
cloud_properties.numeric_project_id |
指定執行 SAP 系統的 Google Cloud 專案的數字 ID。 |
hana_monitoring_configuration.enabled |
(非必要) 如要讓 Google Cloud的 SAP 代理程式收集 SAP HANA 監控指標,請指定 hana_monitoring_configuration.enabled: true 的情況。 |
hana_monitoring_configuration.sample_interval_sec |
(非必要) 指定取樣間隔 (以秒為單位),這會決定 Google Cloud的 SAP 代理程式查詢 SAP HANA 執行個體的頻率,以便收集 SAP HANA 監控指標。預設值為 300 秒。 針對 Google Cloud的 SAP 代理程式在設定檔中定義的每個查詢,您可以為參數 |
hana_monitoring_configuration.query_timeout_sec |
(非必要) 指定對 SAP HANA 執行個體執行的每個查詢的逾時時間。預設值為 300 秒。 |
hana_monitoring_configuration.execution_threads |
(非必要) 指定用於將查詢傳送至 SAP HANA 執行個體的執行緒數量。每個查詢都會在自己的執行緒中執行。預設值為 10。 |
hana_monitoring_configuration.hana_instances.name |
指定 SAP HANA 執行個體的名稱 ID。 |
hana_monitoring_configuration.hana_instances.sid |
指定 SAP HANA 例項的 SID。這個字串會新增為標籤,並套用至查詢 SAP HANA 執行個體所產生的所有指標。 |
hana_monitoring_configuration.hana_instances.host |
指定主機的 ID,該主機可用於代管 SAP HANA 例項,可為本機或遠端。支援的值如下:
|
hana_monitoring_configuration.hana_instances.port |
指定 SAP HANA 執行個體接受查詢的通訊埠。第一個或唯一租用戶資料庫執行個體的通訊埠為 |
hana_monitoring_configuration.hana_instances.user |
指定用於查詢 SAP HANA 執行個體的使用者帳戶。 請確認此使用者具有讀取 SAP HANA 資料庫中監控檢視畫面的權限。如果未授予這項權限,則與監控檢視畫面相關的 SAP HANA 監控指標就不會包含任何資料。 |
hana_monitoring_configuration.hana_instances.password |
(非必要) 以純文字形式指定密碼,驗證用於查詢 SAP HANA 執行個體的使用者帳戶。 如要進行驗證,您必須指定下列其中一項:
|
hana_monitoring_configuration.hana_instances.secret_name |
(非必要) 在 Secret Manager 中指定儲存使用者帳戶密碼的機密。 |
hana_monitoring_configuration.hana_instances.enable_ssl |
(非必要) 指定是否在 SAP HANA 例項中啟用 SSL。預設值為 |
hana_monitoring_configuration.hana_instances.host_name_in_certificate |
如果您為 SAP HANA 執行個體指定 |
hana_monitoring_configuration.hana_instances.tls_root_ca_file |
如果您為 SAP HANA 執行個體指定 |
hana_monitoring_configuration.queries.enabled |
(非必要) 如要為所有 SAP HANA 執行個體啟用 SQL 查詢,請為該 SQL 查詢的參數 |
hana_monitoring_configuration.queries.name |
如果您在設定檔中定義了自訂查詢,則必須為每個自訂查詢指定不重複的名稱。 查詢名稱不得重複,因為這會用於在監控中建立指標的預設網址。 |
hana_monitoring_configuration.queries.run_on |
(非必要) 如果您要監控 SAP HANA HA 系統,並想在主要或次要節點上執行 SAP HANA 監控查詢,請指定這個參數。支援的值: 這個參數適用於 3.7 以上版本的代理程式。此外,如要在次要節點上執行查詢,請確認 HA 系統是採用 主動/主動 (啟用讀取) 設定部署。 |
hana_monitoring_configuration.queries.sql |
指定代理程式向 SAP HANA 執行個體發出的 SQL 陳述式。 SQL 陳述式必須符合 SAP 在 SAP HANA SQL 和系統檢視表參考資料中定義的 SQL 語法。 |
hana_monitoring_configuration.queries.sample_interval_sec |
(非必要) 指定 SQL 查詢的取樣間隔。這會覆寫全域取樣間隔。這個值必須等於或大於 5 秒。 |
hana_monitoring_configuration.queries.columns.name |
指定可用於識別每個資料欄的名稱。 資料欄名稱不得重複,因為這會用於在監控中建立指標的預設網址。 |
hana_monitoring_configuration.queries.columns.metric_type |
如要由 Monitoring 處理,請指定下列任一指標類型: 系統會將 |
hana_monitoring_configuration.queries.columns.value_type |
如果要由監控處理,請指定指標類型支援的資料類型。 支援的資料類型如下: |
hana_monitoring_configuration.queries.columns.name_override |
(非必要) 如要由 Monitoring 處理,請指定要在指標網址中顯示的路徑,而非查詢和欄位名稱。例如:
|
查看收集的指標
如要以圖表呈現代理程式收集的 SAP HANA 監控指標,您可以使用Google Cloud 提供的下列自訂資訊主頁:
SAP 專用代理程式 - 詳細 HANA 總覽:這個資訊主頁提供圖表,顯示下列指標的狀態總覽:執行個體記憶體、已使用的服務記憶體、結構定義預估的最大記憶體、資料列儲存庫記憶體總大小、結構定義讀取異常值、結構定義寫入異常值、結構定義上次壓縮記錄計數異常值、系統連線、快訊、前 5 大運算執行個體的 CPU 百分比、前 5 大運算執行個體的記憶體百分比,以及各區域的主機。
這個資訊主頁的 JSON 檔案為
agent-for-sap-hana-detailed-overview.json
。SAP 專用代理程式 - HANA 效能:這個資訊主頁提供圖表,顯示下列指標的原始指標值:執行個體記憶體、結構描述讀取和寫入異常值、結構描述效能、記憶體用量、結構描述記錄計數異常值、服務使用的總記憶體、rowstore 記憶體大小、系統閒置和執行中的連線、連線和 rowstore 記憶體、結構描述總記錄,以及結構描述預估的總大小。
這個資訊主頁的 JSON 檔案為
agent-for-sap-hana-performance.json
。
安裝資訊主頁
如要安裝自訂資訊主頁,請完成下列步驟:
Google Cloud 控制台
在 Google Cloud 控制台中,前往「Monitoring」頁面:
在 Monitoring 導覽面板中,按一下「Dashboards」。
按一下「Sample library」分頁標籤。
如要篩選特定服務專員的自訂資訊主頁,請在「Filter」欄位中輸入
Agent for SAP
。(選用) 如要查看資訊主頁的詳細資料或預覽內容,請按一下「預覽」。
選取要安裝的資訊主頁。
依序按一下「匯入」和「確認」。
資訊主頁會新增至Google Cloud 專案中可用的資訊主頁。如要查看資訊主頁,請按照「查看已安裝的資訊主頁」中的操作說明進行。
Google Cloud CLI
開啟 Cloud Shell:
在 Cloud Shell 中複製或下載存放區:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/
在 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 專案中可用的資訊主頁。如要查看資訊主頁,請按照「查看已安裝的資訊主頁」中的指示操作。
查看已安裝的資訊主頁
如要查看已安裝的資訊主頁,請按照下列步驟操作:
在 Google Cloud 控制台中,前往「Monitoring」頁面:
在 Monitoring 導覽面板中,按一下「Dashboards」。
按一下清單中的資訊主頁名稱。
如果您有許多資訊主頁,可以篩選自訂資訊主頁或新資訊主頁的名稱。如要進一步瞭解如何篩選這份名單,請參閱「查看自訂資訊主頁」一文。
以下圖片為範例,顯示 Monitoring 中 SAP HANA 指標的自訂資訊主頁部分。