

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：設定 SAP ASE 的監控
<a name="appinsights-tutorial-sap-ase"></a>

本教學課程示範如何設定 CloudWatch Application Insights，以設定 SAP ASE 資料庫的監控。您可以使用 CloudWatch Application Insights 自動儀表板，以視覺化方式呈現問題詳細資訊、加速疑難排解，並改進 SAP ASE 資料庫的平均解決時間 (MTTR)。

**Topics**
+ [支援的環境](#appinsights-tutorial-sap-ase-supported-environments)
+ [支援的作業系統](#appinsights-tutorial-sap-ase-supported-os)
+ [功能](#appinsights-tutorial-sap-ase-features)
+ [先決條件](#appinsights-tutorial-sap-ase-prerequisites)
+ [設定監控](#appinsights-tutorial-sap-ase-set-up)
+ [管理監控](#appinsights-tutorial-sap-ase-manage)
+ [設定警示閾值](#appinsights-tutorial-sap-hana-configure-alarm-threshold)
+ [檢視與針對 Application Insights 偵測到的 SAP ASE 問題進行疑難排解](#appinsights-tutorial-sap-ase-troubleshooting-problems)
+ [Application Insights 疑難排解](#appinsights-tutorial-sap-ase-troubleshooting-health-dashboard)

## 支援的環境
<a name="appinsights-tutorial-sap-ase-supported-environments"></a>

CloudWatch Application Insights 支援下列系統和模式 AWS 的資源部署。您提供並安裝 SAP ASE 資料庫軟體和支援的 SAP 應用程式軟體。
+ **單一 Amazon EC2 執行個體上的一個或多個 SAP ASE 資料庫** – 單一節點、縱向擴展架構中的 SAP ASE。
+ **跨可用區域 SAP ASE 資料庫高可用性設定** – 使用 SUSE/RHEL 叢集跨兩個可用區域設定高可用性的 SAP ASE。

**注意**  
CloudWatch Application Insights 僅支援單一 SAP 系統 ID (SID) ASE HA 環境。如果連接了多個 ASE HA SID，則僅為偵測到的第一個 SID 設定監控。

## 支援的作業系統
<a name="appinsights-tutorial-sap-ase-supported-os"></a>

適用於 SAP ASE 的 CloudWatch Application Insights 支援下列作業系統上的 x86-64 架構：
+ SuSE Linux 12 SP4
+ SuSE Linux 12 SP5
+ SuSE Linux 15
+ SuSE Linux 15 SP1
+ SuSE Linux 15 SP2
+ SuSE Linux 15 SP3
+ SuSE Linux 15 SP4
+ SuSE Linux 15 SP1 For SAP
+ SuSE Linux 15 SP2 For SAP
+ SuSE Linux 15 SP3 For SAP
+ SuSE Linux 15 SP4 For SAP
+ SuSE Linux 12 SP4 For SAP
+ SuSE Linux 12 SP5 For SAP
+ RedHat Linux 7.6
+ RedHat Linux 7.7
+ RedHat Linux 7.9
+ RedHat Linux 8.1
+ RedHat Linux 8.4
+ RedHat Linux 8.6

## 功能
<a name="appinsights-tutorial-sap-ase-features"></a>

適用於 SAP ASE 的 CloudWatch Application Insights 提供下列功能：
+ 自動偵測 SAP ASE 工作負載 
+ 根據靜態閾值自動建立 SAP ASE 警示
+ 根據異常偵測自動建立 SAP ASE 警示 
+ 自動 SAP ASE 日誌模式辨識 
+ SAP ASE 的運作狀態儀表板
+ SAP ASE 的問題儀表板

## 先決條件
<a name="appinsights-tutorial-sap-ase-prerequisites"></a>

您必須完成以下先決條件，使用 CloudWatch Application Insights 設定 SAP ASE 資料庫：
+ **SAP ASE 組態參數** – 必須在 ASE 資料庫上啟用下列組態參數：`"enable monitoring"`、`"sql text pipe max messages"`、`"sql text pipe active"`。如此一來，CloudWatch Application Insights 就能為您的資料庫提供完整的監控功能。如果您的 ASE 資料庫上未啟用這些設定，Application Insights 會自動讓其收集必要的指標以允許監控。
+ **SAP ASE 資料庫使用者** – 在 Application Insights 佈設期間提供的資料庫使用者必須具有存取下列項目的許可：
  + 主資料庫和使用者 (租用戶) 資料庫中的系統資料表
  + 監控資料表
+ **SAPHostCtrl** – 在您的 Amazon EC2 執行個體上安裝並設定 SapHostCtrl。
+ **Amazon CloudWatch 代理程式** – 確保您沒有在 Amazon EC2 執行個體上執行預先存在的 CloudWatch 代理程式。若您安裝了 CloudWatch 代理程式，請確保從現有 CloudWatch 代理程式組態檔案中移除您要在 CloudWatch Application Insights 中使用的資源組態，以避免合併衝突。如需詳細資訊，請參閱[手動建立或編輯 CloudWatch 代理程式組態檔案](CloudWatch-Agent-Configuration-File-Details.md)。
+ **AWS Systems Manager 啟用** – 在執行個體上安裝 SSM Agent，並啟用為 SSM 啟用的執行個體。如需有關如何安裝 SSM Agent 的資訊，請參閱《*AWS Systems Manager 使用者指南*》中的[使用 SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)。
+ **Amazon EC2 執行個體角色** – 您必須連接下列 Amazon EC2 執行個體角色才能設定資料庫。
  + 您必須連接 `AmazonSSMManagedInstanceCore` 角色，以啟用 Systems Manager。如需詳細資訊，請參閱 [AWS Systems Manager 以身分為基礎的政策範例](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html)。
  + 您必須連接 `CloudWatchAgentServerPolicy`，以便透過 CloudWatch 發出執行個體指標和日誌。如需詳細資訊，請參閱[建立 IAM 角色和使用者以使用 Amazon CloudWatch 代理程式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html)。
  + 您必須將下列 IAM 內嵌政策連接到 Amazon EC2 執行個體角色，才能讀取存放在 AWS Secrets Manager中的密碼。如需內嵌政策的詳細資訊，請參閱《*AWS Identity and Access Management 使用者指南*》中的[內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
            }
        ]
    }
    ```

------
+ **AWS Resource Groups** – 您必須建立資源群組，其中包含應用程式堆疊用來將應用程式加入 CloudWatch Application Insights 的所有相關 AWS 資源。這包括執行 SAP ASE 資料庫的 Amazon EC2 執行個體和 Amazon EBS 磁碟區。如果每個帳戶有多個資料庫，建議您建立一個資源群組，其中包含每個 SAP ASE 資料庫系統 AWS 的資源。
+ **IAM 許可** - 對於非管理員使用者：
  +  您必須建立 AWS Identity and Access Management (IAM) 政策，允許 Application Insights 建立服務連結角色，並將其連接到您的使用者身分。如需連接政策的步驟，請參閱 [CloudWatch Application Insights 的 IAM 政策](appinsights-iam.md)。
  + 使用者必須具有在 中建立秘密的許可 AWS Secrets Manager ，才能存放資料庫使用者登入資料。如需詳細資訊，請參閱[範例：建立機密的許可](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create)。

------
#### [ JSON ]

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
        }
      ]
    }
    ```

------
+ **服務連結角色** – Application Insights 使用 AWS Identity and Access Management (IAM) 服務連結角色。系統會在您於 Application Insights 主控台建立第一個 Application Insights 應用程式時，為您建立服務連結角色。如需詳細資訊，請參閱[針對 CloudWatch Application Insights 使用服務連結角色](CHAP_using-service-linked-roles-appinsights.md)。

## 在您的 SAP ASE 資料庫上設定監控
<a name="appinsights-tutorial-sap-ase-set-up"></a>

使用下列步驟設定 SAP ASE 資料庫的監控

1. 開啟 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)。

1. 從左側導覽窗格中，選擇 **Insights** 下的 **Application Insights**。

1. **Application Insights** 頁面會顯示 Application Insights 監控的應用程式清單，以及每個應用程式的監控狀態。在右上角，選擇 **Add an application** (新增應用程式)。

1. 在**指定應用程式詳細資訊**頁面上，從**資源群組**的下拉清單中選取 AWS 資源群組，其中包含您的 SAP ASE 資料庫資源。如果尚未建立應用程式的資源群組，您可以透過選擇 **Resource group** (資源群組) 下拉單中的 **Create new resource group** (建立新的資源群組) 建立一個。如需建立資源群組的詳細資訊，請參閱《[https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)》。

1. 在**監控 CloudWatch Events** 下，選取核取方塊以整合 Application Insights 監控與 CloudWatch Events，從 Amazon EBS、Amazon EC2 AWS CodeDeploy、Amazon ECS、 AWS Health APIs和通知、Amazon RDS、Amazon S3 和 取得洞見 AWS Step Functions。

1. 在**與 AWS Systems Manager OpsCenter 整合**下，選取 **Generate AWS Systems Manager OpsCenter OpsItems ** 旁的核取方塊，以在偵測到所選應用程式的問題時檢視和取得通知。若要追蹤為了解決與 AWS 資源相關的操作工作項目而執行的操作，稱為 OpsItems，請提供 SNS 主題 ARN。

1. 您可以選擇輸入標籤協助您識別和整理資源。CloudWatch Application Insights 支援標籤型和 CloudFormation 堆疊型資源群組，但 Application Auto Scaling 群組除外。如需詳細資訊，請參閱 *AWS Resource Groups 和標籤使用者指南*中的[標籤編輯器](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)。

1. 選擇 **Next** (下一個) 繼續設定監控。

1. 在**檢閱偵測到的元件**頁面上，系統會列出 CloudWatch Application Insights 自動偵測到的受監控元件及其工作負載。
**注意**  
包含偵測到的 SAP ASE 高可用性工作負載的元件，一個元件上僅支援一個工作負載。包含偵測到的 SAP ASE 單一節點工作負載的元件，支援多個工作負載，但您無法新增或移除工作負載。所有自動偵測到的工作負載將會受到監控。

1. 選擇**下一步**。

1. 在**指定元件詳細資訊**頁面上，輸入 SAP ASE 資料庫的使用者名稱和密碼。

1. 檢閱您的應用程式監控組態，然後選擇 **Submit** (提交)。

1. 應用程式詳細資訊頁面隨即開啟，您可以在其中檢視**應用程式摘要**、**受監控元件和工作負載**的清單，以及**未受監控元件和工作負載**。如果選取元件或工作負載旁邊的選項按鈕，則您也可以檢視**組態歷史記錄**、**日誌模式**，以及任何已建立的**標籤**。當您提交組態時，您的帳戶會為 SAP ASE 系統部署所有指標和警示，這可能需要最多 2 小時。

## 管理 SAP ASE 資料庫的監控
<a name="appinsights-tutorial-sap-ase-manage"></a>

您可以執行下列步驟來管理 SAP ASE 資料庫的使用者憑證、指標和日誌路徑：

1. 開啟 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)。

1. 從左側導覽窗格中，選擇 **Insights** 下的 **Application Insights**。

1. **Application Insights** 頁面會顯示 Application Insights 監控的應用程式清單，以及每個應用程式的監控狀態。

1. 在 **Monitored components** (受監控元件) 下，選取元件名稱旁的選項按鈕。然後，選擇 **Manage monitoring** (管理監控)。

1. 在 **EC2 instance group logs** (EC2 執行個體群組日誌) 下，您可以更新現有的日誌路徑、日誌模式集和記錄群組名稱。此外，您可以新增最多三個額外 **Application logs** (應用程式日誌)。

1. 在**指標**下，您可以根據需求選擇 SAP ASE 指標。SAP ASE 指標名稱的字首為 `asedb`。每個元件最多可新增 60 個指標。

1. 在 **ASE 組態**，輸入 SAP ASE 資料庫的使用者名稱和密碼。這是 Amazon CloudWatch 代理程式用來連線至 SAP ASE 資料庫的使用者名稱和密碼。

1. 在 **Custom alarms** (自訂警示) 下，您可以新增其他警示，以便由 CloudWatch Application Insights 監控。

1. 檢閱您的應用程式監控組態，然後選擇 **Submit** (提交)。當您提交組態時，您的帳戶會為 SAP HANA 系統更新所有指標和警示，這可能需要最多 2 小時。

## 設定警示閾值
<a name="appinsights-tutorial-sap-hana-configure-alarm-threshold"></a>

CloudWatch Application Insights 會自動建立 Amazon CloudWatch 指標和該指標的閾值，以觀察警示。當指標超過閾值達到指定的評估期間數，警示便會變更為 `ALARM ` 狀態。請注意，Application Insights 不會保留這些設定。

若要編輯單一指標的警示，請執行以下步驟：

1. 開啟 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch)。

1. 在導覽窗格中，選擇 **Alarms** (警示) > **All alarms** (所有警示)。

1. 選取 CloudWatch Application Insights 自動建立警示旁的選項按鈕。然後選擇 **Actions** (動作)，然後從下拉選單中選取 **Edit** (編輯)。

1. 在 **Metric** (指標) 下編輯下列參數。

   1. 在 **Statistic** (統計數字) 下，選擇其中一個統計數字或預先定義的百分位數，或指定自訂的百分位數。例如 `p95.45`。

   1. 在 **Period** (期間) 下，選擇警示的評估期間。評估警示時，每個期間都會彙整為一個資料點。

1. 在 **Conditions** (條件) 下編輯下列參數。

   1. 選擇指標是否必須大於、小於，或等於閾值。

   1. 指定閾值。

1. 在 **Additional configuration** (其他組態) 下，編輯下列參數。

   1. 在 **Datapoints to alarm** (警示的資料點) 下，指定資料點數或評估期間 (必須處於 `ALARM` 狀態啟動警示)。當兩個值相符時，如果超過指定的連續週期數，系統會建立進入 `ALARM` 狀態的警示。若要建立 `n` 個的 `m` 個警示，請針對第一個資料點，指定低於第二個資料點的值。如需評估警示的詳細資訊，請參閱[評估警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarm-evaluation)。

   1. 在 **Missing data treatment** (遺失資料處理方式) 下，選擇警示在遺失某些資料點時的行為。如需遺失資料處理方式的詳細資訊，請參閱[設定 CloudWatch 警示如何處理遺失資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarms-and-missing-data)。

   1. 若警示使用百分位數作為監控統計資料，則會出現一個 **Percentiles with low samples (低樣本的百分位數)** 方塊。選擇是要評估還是忽略具有低抽樣率的案例。若您選擇 **ignore (maintain alarm state) (忽略 (維持警示狀態))**，則會在抽樣大小過低時一律維持目前的警示狀態。如需低範例百分位數的詳細資訊，請參閱 [以百分位數為基礎的警示和低資料範例](percentiles-with-low-samples.md)。

1. 選擇**下一步**。

1. 在 **Notification (通知)** 下，選取 SNS 主題來在警示處於 `ALARM` 狀態、`OK` 狀態或 `INSUFFICIENT_DATA` 狀態時進行通知。

1. 選擇 **Update alarm** (更新警示)。

## 檢視與針對 Application Insights 偵測到的 SAP ASE 問題進行疑難排解
<a name="appinsights-tutorial-sap-ase-troubleshooting-problems"></a>

本節可協助您解決在 Application Insights 上設定 SAP ASE 監控時所發生的常見故障診斷問題。

**SAP ASE 備份伺服器錯誤**  
您可透過查看動態建立的儀表板來識別錯誤訊息。儀表板會顯示 SAP ASE 備份伺服器中報告的錯誤訊息。如需有關 SAP ASE 備份伺服器日誌的詳細資訊，請參閱 [SAP 文件備份伺服器錯誤日誌記錄](https://help.sap.com/docs/SAP_ASE/aa939a27edb34f019f71cc47b9c0fd9a/a7aeb8b1bc2b10149ccf99b95687a64c.html)。

**SAP ASE 長時間執行的交易**  
識別長時間執行的交易，並確認其是否可停止或執行時間是否為有意設定。如需詳細資訊，請參閱 [2180410 - 如何顯示長時間執行交易的交易日誌記錄？ - SAP ASE](https://userapps.support.sap.com/sap/support/knowledge/en/2180410)。

**SAP ASE 使用者連線**  
檢閱 SAP ASE 資料庫是否已根據您想要在資料庫上執行的工作負載，相應地調整大小。如需詳細資訊，請參閱 SAP 文件中的[設定使用者連線](https://help.sap.com/docs/help/061ec8a5739842df9e505d8944fae8e2/9ea258fceaaa496eb80e17d3d5694ff6.html)。

**SAP ASE 磁碟空間**  
您可以查看動態建立的儀表板，識別造成問題的資料庫層。儀表板會顯示相關指標和日誌檔案程式碼片段。請務必了解磁碟增長的原因，並在適當的情況下增加實體磁碟大小、配置的磁碟空間或兩者。如需詳細資訊，請參閱 SAP 文件中的 [SAP 文件磁碟大小](https://help.sap.com/docs/SAP_ASE/e0d4539d39c34f52ae9ef822c2060077/ab22db00bc2b1014ad3ce047bbf117d7.html)。

## SAP ASE 的 Application Insights 疑難排解
<a name="appinsights-tutorial-sap-ase-troubleshooting-health-dashboard"></a>

本節提供的步驟可協助您解決 Application Insights 儀表板所傳回的常見錯誤。


| 錯誤 | 傳回的錯誤 | 根本原因 | Resolution | 
| --- | --- | --- | --- | 
| 無法新增超過 60 個監控指標。 | `Component cannot have more than 60 monitored metric` | 目前的指標限於每個元件 60 個監控指標。 | 移除不必要的指標以遵守限制。 | 
| 佈設程序之後，不會顯示 SAP 指標或警示 | 在 AWS Systems Manager中失敗的 `AWS-ConfigureAWSPackage` 上的 `run` 指令。輸出會顯示錯誤：`CT-LIBRARY error:``ct_connect(): protocol specific layer: external error: The attempt to connect to the server failed` | 使用者名稱和密碼可能不正確。 | 確認使用者名稱和密碼有效，然後重新執行上架程序。 | 