

# チュートリアル: SAP ASE のモニタリングをセットアップする
<a name="appinsights-tutorial-sap-ase"></a>

このチュートリアルでは、SAP ASE データベースのモニタリングをセットアップできるよう CloudWatch Application Insights を設定する方法を説明します。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 インスタンスでの 1 つ以上の SAP ASE データベース** — 単一ノードのスケールアップアーキテクチャの SAP ASE。
+ **クロス AZ SAP ASE データベースの高可用性セットアップ** — SUSE/RHEL クラスタリングにより 2 つのアベイラビリティーゾーンでの高可用性が設定されている 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 インスタンスロールをアタッチして、データベースを設定する必要があります。
  + Systems Manager を有効にする `AmazonSSMManagedInstanceCore` ロールをアタッチする必要があります。詳細については、「[AWS Systems Manager アイデンティティベースのポリシーの例](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html)」を参照してください。
  + インスタンスメトリクスとログが CloudWatch を介して発行されるように `CloudWatchAgentServerPolicy` をアタッチする必要があります。詳細については、「[CloudWatch エージェントで使用する IAM ロールとユーザーを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html)」を参照してください。
  + AWS Secrets Manager に保存されているパスワードを読み取るには、次の IAM インラインポリシーを Amazon EC2 インスタンスロールにアタッチする必要があります。インラインポリシーの詳細については、*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 ボリュームが含まれます。1 つのアカウントに複数のデータベースがある場合は、各 SAP ASE データベースシステムの AWS リソースを含む 1 つのリソースグループを作成することをお勧めします。
+ **IAM アクセス許可** — 管理者以外のユーザーの場合:
  +  Application Insights でサービスにリンクされたロールを作成できる AWS Identity and Access Management (IAM) ポリシーを作成し、ユーザー ID にアタッチする必要があります。ポリシーをアタッチする手順については、「[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. **[アプリケーションの詳細を指定]** ページで、**[リソースグループ]** のドロップダウンリストから SAP ASE データベースのリソースを含む AWS リソースグループを選択します。アプリケーションのリソースグループを作成していない場合は、**[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. **[Monitor CloudWatch Events]** (CloudWatch Events のモニタリング) で、CloudWatch Events と Application Insights のモニタリングを統合できるチェックボックスをオンにすると、Amazon EBS、Amazon EC2、AWS CodeDeploy、Amazon ECS、AWS Health APIs And Notifications、Amazon RDS、Amazon S3、および AWS Step Functions からのインサイトを取得できます。

1. 選択したアプリケーションの問題が検出されたときにそれらを表示し、通知を受け取るには、**[AWS Systems Manager OpsCenter と統合する]** にある **[修正アクションのため AWS Systems Manager OpsCenter OpsItems を生成する]** 横のチェックボックスをオンにします。AWS リソースに関連する OpsItems というオペレーション作業項目を解決するために実行されたオペレーションを追跡するには、SNS トピックの ARN を指定します。

1. オプションでタグを入力して、リソースを特定し整理できます。CloudWatch Application Insights では、タグベースのリソースグループと CloudFormation スタックベースのリソースグループ (Application Auto Scaling グループを除く) の両方がサポートされています。詳細については、*AWS Resource Groups とタグユーザーガイド*の「[Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)」を参照してください。

1. **[Next]** (次へ) を選択してモニターリングの設定を続行します。

1. **[検出されたコンポーネントを確認]** ページには、CloudWatch Application Insights によって自動的に検出されたモニターリング対象のコンポーネントとそれらのワークロードが一覧表示されます。
**注記**  
検出された SAP ASE High Availability ワークロードを含むコンポーネントは、1 つのコンポーネントで 1 つのワークロードのみをサポートします。検出された 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** (アプリケーションログ) を最大 3 つまで追加できます。

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. **[Metrics]** (メトリクス) で次のパラメータを編集します。

   1. **[Statistic]** (統計) で、統計または事前定義済みのパーセンタイルのいずれかを選択するか、カスタムパーセンタイルを指定します。例えば、`p95.45`。

   1. **[Period]** (期間) で、アラームの評価期間を選択します。アラームを評価する際、各期間は 1 つのデータポイントに集約されます。

1. **[Conditions]** (条件) で次のパラメータを編集します。

   1. メトリクスがしきい値より大きい、小さい、またはしきい値と等しいのいずれかを指定します。

   1. しきい値を指定します。

1. **[Additional configuration]** (追加設定) で、次のパラメータを編集します。

   1. **[Datapoints to alarm]** (アラームを実行するデータポイント) で、評価期間またはデータポイントの数を指定します。アラームを開始するため、`ALARM` 状態である必要があります。2 つの値が一致するとアラームが作成され、指定された連続する期間数を超過した場合、`ALARM` 状態に入ります。`n` 個中 `m` 個のアラームを作成するには、2 番目の値よりも小さい数字を最初の値に指定します。アラームの評価の詳細については、「[アラームの評価](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.md)」を参照してください。

1. [**次へ**] を選択します。

1. [**通知**] で、アラームが `ALARM` 状態、`OK` 状態、または `INSUFFICIENT_DATA` 状態のときに通知するための SNS トピックを選択します。

1. **[Update alarm]** (アラームの更新) を選択します。

## Application Insights で検出された SAP ASE における問題の表示とトラブルシューティング
<a name="appinsights-tutorial-sap-ase-troubleshooting-problems"></a>

このセクションは、Application Insights で SAP ASE のモニタリングを設定する際に発生する一般的なトラブルシューティングの問題を解決するのに役立ちます。

**SAP ASE Backup Server エラー**  
エラーメッセージは、動的に作成されたダッシュボードを確認することで確認できます。ダッシュボードには、SAP ASE Backup Server で報告されたエラーメッセージが表示されます。SAP ASE Backup Server ログの詳細については、SAP ドキュメントの「[Backup Server のエラーロギング](https://help.sap.com/docs/SAP_ASE/aa939a27edb34f019f71cc47b9c0fd9a/a7aeb8b1bc2b10149ccf99b95687a64c.html)」を参照してください。

**SAP ASE のトランザクションの実行時間が長い**  
長時間実行されているトランザクションを特定し、停止できるのか、または実行時間が計画的なものかを確認します。詳細については、「[2180410 - How to display transaction log records for long running transactions? - SAP ASE](https://userapps.support.sap.com/sap/support/knowledge/en/2180410)」を参照してください。

**SAP ASE User 接続**  
SAP ASE データベースが、データベースで実行する予定のワークロードに適したサイズになっているかどうかを確認します。詳細については、SAP ドキュメントの「[Configuring User Connections](https://help.sap.com/docs/help/061ec8a5739842df9e505d8944fae8e2/9ea258fceaaa496eb80e17d3d5694ff6.html)」を参照してください。

**SAP ASE のディスク容量**  
動的に作成されるダッシュボードを確認することで、問題が起きているデータベース層を特定できます。ダッシュボードには、関連するメトリクスやログファイルのスニペットが表示されます。ディスク増大の原因を理解し、該当する場合は物理ディスクサイズ、割り当てられたディスク容量、またはその両方を増やすことが重要です。詳細については、SAP ドキュメントの「[disk resize](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 ダッシュボードから返される一般的なエラーを解決するための手順について説明します。


| エラー | 返されたエラー | 根本原因 | 解決策 | 
| --- | --- | --- | --- | 
| 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` | ユーザー名とパスワードが間違っている可能性があります。 | ユーザー名とパスワードが有効であることを確認し、その後オンボーディングプロセスに戻ってください。 | 