CloudWatch

監視は、Oracle Database@AWSデプロイメントのヘルス、パフォーマンスおよび可用性の維持に不可欠な側面です。Amazon CloudWatchは、運用データをリアルタイムで収集、分析、および操作できる完全管理可観測性サービスを提供します。

Oracle Database@AWSでは、主要なパフォーマンスおよびインフラストラクチャ・メトリックが、AWS/ODBネームスペースのCloudWatchに自動的に公開されます。これらのメトリックは、Exadata VMクラスタ、Exadataコンテナ・データベースおよびAutonomous AI Database全体のCPU使用率、メモリー消費、ストレージ使用率、アクティブ・セッションおよびI/Oパフォーマンスです。

AWS CloudWatchを使用してOracle Database@AWSリソースをモニターする方法を学習します。

Oracle Database@AWSのAmazon CloudWatchディメンション

このトピックでは、次のディメンションを使用してOracle Database@AWSメトリックをフィルタする方法について説明します。

表1-2ディメンション

ディメンション フィルター
cloudVmClusterId VMクラスタの識別子。
cloudExadataInfrastructureId Exadataインフラストラクチャの識別子。
collectionName コレクションの名前。
deploymentType インフラストラクチャのタイプ。
diskgroupName ディスク・グループの名前です。
errorCode エラー・コード。
errorSeverity エラーの重大度。
filesystemName ファイル・システムの名前。
hostName ホスト・マシン名。
instanceName データベース・インスタンスの名前。
instanceNumber データベース・インスタンスのインスタンス番号。
ioType I/O操作のタイプ。
jobId ジョブの一意の識別子。
managedDatabaseGroupId 管理対象データベース・グループの識別子。
managedDatabaseId 管理対象データベースの識別子。
memoryPool メモリー・プールのタイプ。
memoryType メモリの一種。
ociCloudVmClusterId VMクラスタのOCI識別子。
ociCloudExadataInfrastructureId ExadataインフラストラクチャのOCI識別子。
parseType 解析の一種。
resourceId リソースの識別子。
resourceName リソースの名前。
resourceName_Database データベースの名前。
resourceName_DbNode データベース・ノードの名前。
resourceType データベースのタイプ。
schemaName スキーマの名前。
status データベースのステータス。
tablespaceContents 表領域の内容。
tablespaceName 表領域の名前。
tablespaceType 表領域の内容。
transactionStatus トランザクションのステータス。
type 問題のあるスケジュール済DMSジョブのタイプ。
waitClass 待機イベントのクラス。

メトリック

メトリックをモニターするステップは次のとおりです。

  • Exadata VMクラスタ・メトリックを表示するには、Exadata VMクラスタに関連付けられたExadata VMクラスタ名またはOCIDを取得する必要があります。

    Exadata VMクラスタまたはOCIDの取得
    1. Oracle Database@AWSダッシュボードから、「Exadata VMクラスタ」に移動します。
    2. 「Exadata VMクラスタ」リストから、使用している「VMクラスタ名」リンクを選択します。
    3. 「サマリー」ページで、次の項で必要なクラスタ名情報をコピーします。このスクリーンショットは、Exadata VMクラスタ・メトリックをモニターする方法を示しています。

    Exadata VMクラスタ・メトリックの表示

    1. AWSコンソールから、CloudWatchに移動します。
    2. Exadata VMクラスタのリージョンを選択します。
    3. 「メトリック」セクションを展開し、「すべてのメトリック」リンクを選択します。
    4. 「すべてのメトリック」ページで、ネームスペースとして「ODB」を選択します。
    5. 以前に取得した「クラスタ名」情報を「任意のメトリック、ディメンション、リソースIDまたはアカウントIDの検索」フィールドに貼り付けて、検索を開始します。「メトリック」ページに、関連する結果が表示されます。
    6. 次に示すとおり、ディメンションを選択してそれぞれのメトリックを表示できます。このスクリーンショットは、Exadata VMクラスタ・メトリックをモニターする方法を示しています。

    次の例は、特定の時間枠におけるExadata VMクラスタdemo-vm-cluster-03-1のノードvm-q9rkl1のインフラストラクチャ・メトリックを示しています。このスクリーンショットは、Exadata VMクラスタ・メトリックをモニターする方法を示しています。

    表1-3メトリック

    メトリック 摘要 Units
    ASMDiskgroupUtilization ディスク・グループで使用されている使用可能な領域のパーセンテージ。使用可能領な領域は、増大に使用できる領域です。DATAディスク・グループは、Oracleデータベース・ファイルを格納します。RECOディスク・グループには、アーカイブやフラッシュバック・ログなどのリカバリ用のデータベース・ファイルが含まれています。 パーセント
    CpuUtilization CPU使用率の割合。 パーセント
    LoadAverage システム負荷平均は5分以上測定されます 整数
    MemoryUtilization これは、スワップせずに新しいアプリケーションを起動するために使用できるメモリーのパーセンテージです。使用可能なメモリーは、cat /proc/meminfoコマンドを使用して取得できます。 パーセント
    NodeStatus これは、ホストが到達可能かどうかを示します。 整数
    OcpusAllocated これは、割り当てられたOCPUの数です。 整数
    SwapUtilization これは、合計スワップ領域の使用率を示しています。 パーセント

    Exadataコンテナ・データベース・メトリック

    これらは、Exadataコンテナ・データベース・メトリックを監視するステップです。

    Exadataコンテナ・データベースメトリックを表示するには、Exadataコンテナ・データベースに関連付けられたExadataコンテナ・データベース名またはOCIDを取得する必要があります。

    Exadataコンテナ・データベース名またはOracle SID接頭辞の取得
    1. Oracle Database@AWSダッシュボードから、「Exadata VMクラスタ」を選択します。
    2. 「Exadata VMクラスタ」リストから、使用しているExadata VMクラスタを選択します。
    3. 「OCIでの管理」ボタンを選択すると、「Exadata VMクラスタ」ページが表示されます。
    4. 「データベース」をクリックし、使用しているデータベースを選択します。
    5. 「データベース情報」タブを選択し、「コピー」ボタンを選択して、次の項で必要になるOCID情報を取得します。または、Oracle SID接頭辞情報をコピーできます。このスクリーンショットは、Exadataコンテナ・データベースの詳細を取得する方法を示しています。
    Exadataコンテナ・データベース・メトリックの表示
    1. AWS consoleを形成し、CloudWatchを選択します。
    2. Exadata VMクラスタのリージョンを選択します。
    3. 「メトリック」セクションを展開し、「すべてのメトリック」リンクを選択します。
    4. 「すべてのメトリック」ページで、「ネームスペース」として「ODB」を選択します。
    5. 以前に取得したOCIDまたはOracle SID接頭辞情報を「任意のメトリック、ディメンション、リソースIDまたはアカウントIDの検索」フィールドに貼り付けて、検索を開始します。「メトリック」ページに、関連する結果が表示されます。このスクリーンショットは、Exadataコンテナ・データベース・メトリックを表示する方法を示しています。
    6. 次に示すとおり、ディメンションを選択してそれぞれのメトリックを表示できます。

    表1-4 Exadata VMクラスタのメトリック

    メトリック 摘要 Units
    BlockChanges 1秒当たりの変更されたブロック平均数。 変更/秒
    CpuUtilization すべてのコンシューマ・グループにわたって集計された、パーセントで表したCPU使用率。使用率は、データベースで使用可能なCPUの数(OCPUの数の2倍)を基準にレポートされます。 パーセント
    CurrentLogons 選択した間隔中に成功したログオン数。 件数
    ExecuteCount 選択した間隔中にSQL文を実行したユーザー・コールおよび再帰コールの数。 件数
    ParseCount 選択した間隔中のハード解析とソフト解析の数。 件数
    StorageAllocated 収集時にデータベースに割り当てられたストレージ領域の合計量。 GB
    StorageAllocatedByTablespace 収集時に表領域に割り当てられたストレージ領域の合計量。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域を提供します。 GB
    StorageUsed 収集時にデータベースによって使用されたストレージ領域の合計量。 GB
    StorageUsedByTablespace 収集時に表領域によって使用されたストレージ領域の合計量。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域を提供します。 GB
    StorageUtilization プロビジョニングされたストレージ容量のうち、現在使用中の割合。すべての表領域の割当て済領域の合計を表します。 パーセント
    StorageUtilizationByTablespace これは、収集時に表領域によって使用されたストレージ領域の割合を示します。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域を提供します。 パーセント
    TransactionCount 選択した間隔中のユーザー・コミットとユーザー・ロールバックを合せた数。 件数
    UserCalls 選択した間隔中のログオン、解析および実行コールの結合数。 件数

    プラガブル・データベースのメトリック

    OCIコンソールに移動し、データベース管理(診断および管理)を有効にしてメトリックを表示します。詳細は、「プラガブル・データベースのデータベース管理の有効化」を参照してください

  • Autonomous AI Databaseメトリック

    これらは、Autonomous AI Databaseのメトリックを監視するステップです。

    自律型AIデータベース名またはOCIDの取得
    1. Oracle Database@AWSダッシュボードから、「Autonomous VMクラスタ」を選択します。
    2. 「Autonomous VMクラスタ」リストから、使用している「Autonomous VMクラスタ名」リンクを選択します。
    3. 「OCIでの管理」ボタンを選択すると、OCIコンソールが表示されます。
    4. OCIコンソールから、「専用インフラストラクチャ上のOracle Autonomous AI Database Service」を選択し、使用している「Autonomous AI Databases」を選択します。
    5. 「Autonomous AI Database information」タブで、次の項で必要な「データベース名」または「OCID」情報をコピーします。このスクリーンショットは、Autonomous AI Databaseメトリックを表示する方法を示しています。
    Autonomous AI Databaseメトリックの表示
    1. AWSコンソールを形成し、CloudWatchを選択します。
    2. Autonomous VMクラスタのリージョンを選択します。
    3. 「メトリック」セクションを展開し、「すべてのメトリック」リンクを選択します。
    4. 「すべてのメトリック」ページで、「ネームスペース」として「ODB」を選択します。
    5. 以前に取得したOCIDまたはデータベース名情報を「メトリック、ディメンション、リソースIDまたはアカウントIDの検索」フィールドに貼り付けて、検索を開始します。「メトリック」ページに、関連する結果が表示されます。
    6. 次に示すとおり、ディメンションを選択してそれぞれのメトリックを表示できます。このスクリーンショットは、Autonomous AI Databaseメトリックを表示する方法を示しています。

    次の例では、Autonomous AI Databaseのトランザクションに関連するメトリックを表示します。このスクリーンショットは、Autonomous AI Databaseメトリックを表示する方法を示しています。

    表1-5メトリック

    メトリック 摘要 Units
    BlockChanges 1秒当たりの変更されたブロックの平均数。(統計: 平均、間隔: 1分) 変更/秒
    CPUTimeSeconds 一定期間中のデータベース・インスタンスのフォアグラウンド・セッションによる累積CPU時間の平均レート。平均アクティブ・セッションのCPU時間構成要素。(統計: 平均、間隔: 1分) 秒/秒
    CpuUtilization すべてのコンシューマ・グループにわたって集計された、パーセントで表したCPU使用率。使用率は、データベースで使用可能なCPUの数(OCPUの数の2倍)を基準にレポートされます。(統計: 平均、間隔: 1分) パーセント
    CurrentLogons 選択した間隔中に成功したログオン数。(統計: 合計、間隔: 1分) 件数
    DBTimeSeconds 一定期間中のデータベース・インスタンスのフォアグラウンド・セッションによる累積データベース時間(CPU + 待機)の平均レート。平均アクティブ・セッションとも呼ばれます。(統計: 平均、間隔: 1分) 秒/秒
    ExecuteCount 選択した間隔中にSQL文を実行したユーザー・コールおよび再帰コールの数。(統計: 合計、間隔: 1分) 件数
    IOPS 1秒当たりの入出力操作の平均数。(統計: 平均、間隔: 1分) 操作/秒
    IOThroughputMB 1秒当たりの平均スループット(MB)。(統計: 平均、間隔: 1分) MB/秒
    LogicalBlocksRead 1秒当たりのSGA/メモリー(バッファ・キャッシュ)からのブロック読取りの平均数。(統計: 平均、間隔: 1分) 読取り/秒
    EcpusAllocated 選択した期間中にサービスによって割り当てられたECPUの実際の数。(統計: 件数、間隔: 1分) 整数
    ParseCount 選択した間隔中のハード解析とソフト解析の数。(統計: 合計、間隔: 1分) 件数
    ParsesByType 1秒当たりのハード解析またはソフト解析の数。(統計: 平均、間隔: 1分) 解析/秒
    RedoSizeMB 1秒当たりの生成済REDOの平均量(MB)。(統計: 平均、間隔: 1分) MB/秒
    Sessions データベース内のセッション数。(統計: 平均、間隔: 1分) 件数
    StorageAllocated 一定の間隔中に表領域によって割り当てられた領域の最大量。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域のデータを提供します。(統計: 最大、間隔: 30分) GB
    StorageAllocatedByTablespace 一定の間隔中に表領域によって割り当てられた領域の最大量。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域のデータを提供します。(統計: 最大、間隔: 30分) GB
    StorageUsed 一定の間隔中に使用された領域の最大量。(統計: 最大、間隔: 30分) GB
    StorageUsedByTablespace 一定の間隔中に表領域によって使用された領域の合計量。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域のデータを提供します。(統計: 最大、間隔: 30分) GB
    StorageUtilization プロビジョニングされたストレージ容量のうち、現在使用中の割合。すべての表領域の割当て済領域の合計を表します。(統計: 平均、間隔: 30分) パーセント
    StorageUtilizationByTablespace 表領域によって使用されている領域の割合。コンテナ・データベースの場合、このメトリックはルート・コンテナ表領域のデータを提供します。(統計: 平均、間隔: 30分) パーセント
    TransactionCount 選択した間隔中のユーザー・コミットとユーザー・ロールバックを合せた数。(統計: 合計、間隔: 1分) 件数
    TransactionsByStatus 1秒当たりのコミット済またはロールバック済トランザクションの数。(統計: 平均、間隔: 1分) トランザクション/秒
    UserCalls 選択した間隔中のログオン、解析および実行コールを合せた数。(統計: 合計、間隔: 1分) 件数

    プラガブル・データベースのメトリック

    プラガブル・データベース・メトリックを表示するには、OCIコンソールに移動し、データベース管理(診断および管理)を有効にしてメトリックを表示します。詳細は、「プラガブル・データベースのデータベース管理の有効化」を参照してください

CloudWatchでのダッシュボードの構築

AmazonのCloudWatchダッシュボードは、AWSのリソース、アプリケーション、サービスをリアルタイムで監視するための統合的で柔軟な方法を提供します。複数のリージョンおよびアカウントの主要メトリック、ログおよびアラームを単一のビューにまとめることで、より迅速なインサイトを獲得し、業務の可視性を高めることができます。折れ線グラフ、数値パネル、ゲージなどのウィジェットを使用すると、システムの健全性を簡単に追跡し、パフォーマンスの傾向を特定し、リソース使用率を監視できます。ワークフローに合せたダッシュボードを設計し、サービス間でデータを関連付け、問題に迅速に対処できるため、CloudWatchダッシュボードは、あらゆるクラウド環境で高可用性とスムーズな運用を実現するための重要なツールです。

ダッシュボードは、CloudWatchコンソールから作成することも、PutDashboard API (CLIまたはSDK経由)を使用してプログラム的に作成することもできます。APIは、ダッシュボードのレイアウトおよびウィジェットを説明するJSON文字列を取ります。既存のダッシュボードからJSONを再利用して、新しいダッシュボードを作成することもできます。詳細は、CloudWatch APIリファレンスのPutDashboardを参照してください。

AWS Consoleからのダッシュボードの作成

  1. AWSコンソールで、CloudWatchを選択します。
  2. 左側のメニューから、「ダッシュボード」を選択し、「ダッシュボードの作成」ボタンを選択します。
  3. フィールドに「ダッシュボード名」を入力し、「ダッシュボードの作成」ボタンを選択します。
  4. 「ウィジェットの追加」ページで、「ウィジェット・タイプ」を選択します。
    1. グラフ(折れ線/積上げ面): 「構成」を選択し、「メトリック・グラフの追加」ダイアログで1つ以上のメトリックを選択します。「ウィジェットの作成」を選択します。
      1. メトリックがリストされていない場合(過去14日間のデータがない場合など)、手動で追加できます。詳細は、CloudWatchダッシュボードのグラフ・メトリックの手動作成を参照してください。
  5. 「ウィジェットの追加」を選択し、ステップ4を繰り返してウィジェットを追加します。メトリックは必要な数だけ追加できます。
  6. 任意のグラフで、「情報」アイコンをクリックしてメトリックの説明を表示します。
  7. 「ダッシュボードの保存」ボタンをクリックし、変更を保存します。

たとえば、カスタム・ダッシュボードは、Exadata VMクラスタ内の2つの仮想マシンのメトリックを使用して作成されます。このダッシュボードには、クラスタ内の2つのVMのCPU使用率SWAP使用率メモリー使用率ロード平均などのメトリックの比較分析が表示されます。このセクションには、「アクション」ボタンが表示されます。

CloudWatchアラーム

このトピックでは、しきい値を超えるとモニター対象リソースに通知または自動的に調整されるメトリックをモニターするアラームを設定する方法について説明します。

メトリック・アラームは、単一のCloudWatchメトリック、またはCloudWatchメトリックに基づいて算術式の結果を監視します。監視対象のメトリックまたは式が、設定された数の評価期間にわたって指定されたしきい値を超えると、1つ以上のアクションがトリガーされます。これらのアクションには、Amazon Simple Notification Service (SNS)を介した通知の送信、Amazon EC2または自動スケーリング・アクションの実行、OpsItemsまたはAWS Systems Managerでのインシデントの作成が含まれます。

次の例では、電子メールおよびテキストメッセージによる通知を有効にする Amazon SNSトピックを作成します。AutonomousMonitorという名前のトピックを作成し、通知を受信するように勤務先Eメール・アドレスをサブスクライブします。このSNSトピックは、後でCloudWatchアラームを構成するときにも使用されます。

  1. 次のコマンドを実行して、Amazon SNSトピックを作成します:
    aws sns create-topic --name <Name of the SNS topic>
  2. 次のコマンドを実行して、トピックをサブスクライブし、通知エンドポイントの電子メール・プロトコルおよび電子メール・アドレスを指定します。
    aws sns subscribe --topic-arn <ARN of the SNS topic created> --protocol email --notification-endpoint <Email ID>
  3. 電子メール・アドレスがメッセージの受信を開始する前に、サブスクリプションを確認してください。
    1. 電子メールを確認し、Amazon SNSから受信した電子メールの「確認」サブスクリプションを選択します。
    2. Amazon SNSは自動的にWebブラウザを開き、サブスクリプションIDとともにサブスクリプション確認を表示します。
    このスクリーンショットは、サブスクリプションIDを含むサブスクリプション確認の例を示しています。
  4. サブスクリプションのステータスを確認します。ステータスが「確認済」の場合、1が返されます。
    aws sns get-topic-attributes \
    
      --topic-arn < ARN of the topic > \
    
      --query 'Attributes.SubscriptionsConfirmed' \
    
      --output text
  5. これで、任意のダッシュボード・ウィジェットにCloudWatchアラームを作成できます。3つのネームスペース(AWS/ODB)からメトリックを収集します。次の問合せを使用して、各ネームスペースで使用可能なメトリックを識別できます。
    aws cloudwatch list-metrics --namespace "AWS/ODB"
  6. 任意のメトリックを選択し、次のコードを使用してCloudWatchアラームを作成します。正しいネームスペース、ディメンションおよびメトリック名を指定してください。次の例では、データベースが60%を超える場合に高いCPU使用率のアラームを作成する方法を示します。
    aws cloudwatch put-metric-alarm \
    
      --alarm-name cpu_monitor_ATP \
    
      --alarm-description "Alarm when CPU exceeds 60% for ATP PDBTESTARNAB" \
    
      --metric-name CpuUtilization \
    
      --namespace AWS/ODB \
    
      --statistic Average \
    
      --period 60 \
    
      --threshold 60 \
    
      --comparison-operator GreaterThanThreshold \
    
      --dimensions Name=ociCloudAutonomousVmClusterId,Value=ocid1.cloudautonomousvmcluster.oc1.iad.anuwcljtbpyurlyac4bbp52ehggvqadbtsjeqwuiqcgah4i6mndr6swd6u2a \
    
                   Name=deploymentType,Value=Dedicated \
    
                   Name=resourceId,Value=ocid1.autonomousdatabase.oc1.iad.anuwcljtbpyurlyai6xy7kik3wdj4sz273wjg2kolfbkse6ons7v2dcte76q \
    
                   Name=cloudExadataInfrastructureId,Value=exa_e913o1khws \
    
                   Name=cloudAutonomousVmClusterId,Value=avmc_xgzshl9ela \
    
                   Name=displayName,Value="CPU Utilization" \
    
                   Name=resourceName,Value=PDBTESTARNAB \
    
                   Name=region,Value=iad \
    
                   Name=autonomousDBType,Value=ATP \
    
                   Name=ociCloudExadataInfrastructureId,Value=ocid1.cloudexadatainfrastructure.oc1.iad.anuwcljtbpyurlyazqzf3ggqwaydvu32l34izfzm4a4vnsay7b67iaedza6a \
    
      --evaluation-periods 2 \
    
      --alarm-actions arn:aws:sns:us-east-1:182399700237:AutonomousMonitor
    このスクリーンショットは、ワークロードがCPU使用率を100%超えた例を示しています。
  7. 次のスクリーンショットは、受信する電子メールを示しています。このスクリーンショットは、受信するEメールの例を示しています。