Oracle NoSQL Database Cloud Serviceのモニタリング

Oracle Cloud Infrastructure Monitoringサービスを使用すると、メトリックおよびアラーム機能を使用してクラウド・リソースを能動的および受動的にモニターできます。モニタリング・サービスは、メトリックを使用してリソースおよびアラームをモニターし、これらのメトリックがアラームで指定されたトリガーを満たしたときに通知を行います。

特定のリソースのヘルス、容量またはパフォーマンスに関連する測定。アラームはトリガー・ルールおよび問合せです。アラームは、メトリックを使用してクラウド・リソースを受動的にモニターします。アラームの作成時に通知設定を構成できます。

メトリックは、Monitoringサービスに、ディメンション(メトリック定義で指定されたリソース識別子)およびメタデータとともに、RAWデータ・ポイント(指定されたメトリックに対するタイムスタンプと値のペア)として発行されます。モニタリング・サービスは、通知サービスによって管理される構成された宛先にアラーム・メッセージを公開します。

メトリックを問い合せると、モニタリング・サービスは指定されたパラメータに従って集計データを返します。範囲(過去24時間など)、統計、および間隔を指定できます。統計は、生のデータ・ポイントに適用される集計関数です。SUM集計関数は、統計の例です。間隔は、特定のRAWデータ・ポイント・セットの変換に使用される時間ウィンドウです。たとえば、5分などです。

コンソールには、選択したリソースのメトリックごとに1つのモニタリング・グラフが表示されます。各グラフ内の集計データは、選択した統計および間隔を反映します。APIリクエストは、必要に応じてディメンションでフィルタリングし、レゾリューションを指定できます。APIレスポンスには、メトリック名とともにソースのコンパートメントとメトリック・ネームスペースが含まれます(メトリックを発行するリソース、サービスまたはアプリケーションを示します)。ネームスペースは、メトリック定義で指定されます。たとえば、Oracle Cloudによって発行されたCpuUtilizationメトリック定義には、oci_computeagentメトリック・ネームスペースがメトリックのソースとしてリストされます。

メトリックおよびアラーム・データには、コンソール、CLIおよびAPIを介してアクセスできます。OCIモニタリング・サービスの概念の詳細は、モニタリングの概念を参照してください。

この記事には次のトピックが含まれます:

Oracle NoSQL Database Cloud Serviceメトリック

Oracle NoSQL Database Cloud Serviceは、メトリック・ネームスペースoci_nosqlを使用してメトリックを発行します。

Oracle NoSQL Database Cloud Serviceのメトリックには、次のディメンションが含まれます:
  • RESOURCEID
    Oracle NoSQL Database Cloud ServiceのNoSQL表のOCID。

    ノート:

    OCIDは、コンソールとAPIの両方でリソース情報の一部として含まれる、Oracle割当ての一意のIDです。
  • TABLENAME

    Oracle NoSQL Database Cloud ServiceのNoSQL表の名前。

  • REPLICA

    別のリージョンから表更新を受信するリージョンの名前。

Oracle NoSQL Database Cloud Serviceにより、メトリックがOracle Cloud Infrastructure Monitoring Serviceに送信されます。Oracle Cloud Infrastructure Console SDKまたはCLIを使用して、これらのメトリックでアラームを表示または作成できます。

表- Oracle NoSQL Database Cloud Serviceメトリック

メトリック メトリック表示名 単位 説明 サイズ
ReadUnits 読取りユニット Units この期間中に消費された読取りユニットの数。 resourceId tableName
WriteUnits 書込みユニット Units この期間中に消費された書込みユニットの数。 resourceId tableName
StorageGB 記憶域サイズ GB 表で消費されたストレージの最大量この情報は1時間ごとに生成されるため、リフレッシュ・ポイントの間にある期限切れの値が表示される場合があります。 resourceId tableName
ReadThrottleCount 読取りスロットル カウント 期間中のこの表での読取りスロットル例外の数。 resourceId tableName
WriteThrottleCount 書込みスロットル カウント 期間中のこの表での書込みスロットル例外の数。 resourceId tableName
StorageThrottleCount ストレージ・スロットル カウント 期間中のこの表でのストレージ・スロットル例外の数。 resourceId tableName
MaxShardSizeUsagePercent 最大シャード・サイズ使用率 パーセンテージ シャードに割り当てられた合計領域に対するシャード内で使用されている領域の比率。これは表に固有であり、すべてのシャードで最大値になります。 resourceId tableName
Replica Lag レプリカ遅延 Millisecond 送信者リージョンから受信者リージョンにグローバル・アクティブ表のデータ変更をレプリケートする際のタイム・ラグ。
resourceId
tableName
replica

また、要件に応じてカスタム・メトリックを公開できます。たとえば、アプリケーション・トランザクションの待機時間(完了したトランザクションごとに費やされた時間)を取得して、そのデータをモニタリング・サービスに投稿するメトリックを設定できます。

NDCSメトリックの説明

Oracle NoSQL Database Cloud Serviceにより、メトリックがOracle Cloud Infrastructure Monitoring Serviceに送信されます。

読取りユニット:

この期間中に消費された読取りユニットの数。これは、最終一貫性読取り操作のための1秒当たり最大1KBのデータのスループットです。データが1 KBを超える場合は、読取りに複数の読取りユニットが必要です。表の「読取りユニット」メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


書込みユニット:

この期間中に消費された書込みユニットの数。書込み操作の場合、1秒当たり最大1KBのデータのスループットです。書込み操作は、挿入、更新および削除操作中にトリガーされます。データが1 KBを超える場合は、書込みに複数の読取りユニットが必要です。表の書込みユニット・メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


StorageGB:

表で消費されたストレージの最大量表のストレージ・メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。

ノート:

ストレージ・サイズの追跡の開始をシードするには、表の作成から1時間かかります。最初の1時間後、ストレージ統計は5分ごとに更新されます。


ノート:

ストレージGBメトリックは切り捨てられます。したがって、1 GB未満のストレージ使用量が0として表示されます。使用量が1 GBを超えると、チャートにストレージが表示されます。

ReadThrottleCount:

これは、期間内の指定された表の読取りスロットル例外の数を示します。スロットル例外は通常、プロビジョニングされた読取りスループットを超えたことを示します。これらを頻繁に取得する場合は、表の読取りユニットを増やすことを検討する必要があります。表の読取りスロットル数メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


WriteThrottleCount:

これは、期間内の指定された表の書込みスロットル例外の数を示します。スロットル例外は通常、プロビジョニングされた書込みスループットを超えたことを示します。これらを頻繁に取得する場合は、表の書込みユニットを増やすことを検討する必要があります。表の書込みスロットル数メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


StorageThrottleCount:

これは、期間内の指定された表のストレージ・スロットル例外の数を示します。スロットル例外は通常、プロビジョニングされたストレージ容量を超えたことを示します。これらを頻繁に取得する場合は、表のストレージ容量を増やすことを検討する必要があります。表のストレージ・スロットル数メトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


MaxShardSizeUsagePercent

シャードで使用されている領域の割合としての、特定の表のシャード内の領域の最大使用量。

ノート:

Oracle NoSQL Database Cloud Serviceは、シャードにキーをハッシュし、表の記憶域を提供するストレージ・ノードのコレクションに分散を提供します。直接参照することはできませんが、Oracle NoSQL Database Cloud Service表は、可用性とパフォーマンスのためにシャードされ、レプリケートされます。シャード・キーは、100%が主キーに一致するか、主キーのサブセットです。シャード・キーを共有するすべてのレコードは、データの局所性を実現するために共存します。

maxShardSizeUsagepercentが100に達すると、表内で書込み操作を実行できなくなります。表への書込みを実行するには、ストレージ容量を増やす必要があります。このメトリックは、NoSQL表にストレージ・ホットスポットが存在するかどうかを判断するのに役立ちます。

このシナリオは、シャード間で表データを格納する方法の不均衡が原因で発生します。表データの大部分がシャードのサブセットに格納されている場合、不均衡が発生する可能性があります。NoSQLデータベース内の記憶域はシャードされ、シャード・キーは表定義の一部です。階層表では、親表と子表が同じシャード・キーを共有します。子表を含む親表がある場合、すべてのレコードが同じシャード・キーを共有します。これらのデータはすべて一緒に保存されます。親表の子数が少ない場合、1つのシャード内のストレージ領域が少なくなります。この不均衡により、特定のシャードには他のシャードよりもはるかに多くのデータを含めることができます。

ある時点で、1つのシャードが特定の表の領域の使用率が最も高く、そのシャードで使用される割合はMaxShardSizeUsagePercentです。表のmaxShardSizeUsagepercentメトリック・チャートを次に示します。このメトリックは1分ごとに取得され、メトリック・チャートはデフォルトで5分間隔でプロットされます。


メトリックのチャートの表示に加えて、次のオプションがあります。


表ビューを取得して、特定の時点のメトリックの値を確認できます。


MaxShardSizeUsagePercentメトリックの監視

maxShardSizeUsagepercentに達しているかどうかを確認するには、このチャートを定期的に監視する必要があります。このメトリックのアラームを事前に作成できます。


つまり、メトリックが特定の値(90%など)に達したときにアラームをトリガーする必要があります。


OCIアラームは、OCI通知サービスを使用して通知を送信します。通常、アラームは、構成された電子メールを介して通知を送信するように構成されます。maxShardSizeUsagepercentが90%に達すると、電子メール通知が送信されます。


詳細は、アラームおよび通知の管理を参照してください。

表データのシャード間の分散方法に不均衡がある場合、表に割り当てられたストレージ容量を最大限に利用することはできません。このシナリオでは、maxShardSizeUsagepercentは、表に割り当てられた記憶域全体を使用せずに100の値に到達します。表への書込みを続行するには、ストレージを追加する必要があります。このシナリオは、表の設計中にいくつかのガイドラインに従うことで回避できます。
  • 表の正しいシャード・キーを決定します。カーディナリティが高い属性は、シャード・キーに適しています。
  • シャード・ストレージの不均衡状態を回避するために子表の数を制限します。

レプリカ遅延

グローバル・アクティブ表のデータ変更(INSERT/UPDATEまたはDELETE)を送信側リージョンから受信側リージョンにレプリケートする際のタイム・ラグ。グローバル・アクティブ表の送信側リージョンで発生した書込み操作は、タイム・ラグの後に受信側リージョンに反映されます。タイム・ラグに関する情報は、レプリカ・ラグと呼ばれるメトリックとして表されます。レプリカ・ラグは、受信者レプリケーション・リージョン内の表データが、送信者リージョンの表内のデータに対してどのように最新であるかを示すメジャーです。レプリカ・ラグは、レシーバ・リージョン内の表が、ラグ期間中に発生した送信者リージョンからの更新をまだ受信していないことを示します。送信者リージョンに表に対するアプリケーション書込みがない場合、サービスはpingメカニズムを使用してラグの近似を計算し、レシーバ・リージョンでラグ統計を引き続き使用できます。

レプリカ遅延に関する情報を取得します。

受信側リージョンで、グローバル・アクティブ表をクリックし、表情報を表示します。「リソース」で、「メトリック」をクリックします メトリックレプリカ・ラグが表示され、レプリケーション・ラグがミリ秒単位で表示されます。次のチャートの例では、受信側リージョンであるカナダ南東部(トロント)リージョンでレプリカ・ラグ・メトリックが取得されていることがわかります。このグローバル・アクティブ表には、カナダ南東部(モントリオール)リージョンと米国東部(アッシュバーン)リージョンにそれぞれ2つのリージョン表レプリカがあります。チャートには、モントリオールとアッシュバーンのこれらのリージョナル表レプリカ用にそれぞれ2つの線があることがわかります。

次のチャートの「間隔」は、チャートのプロットに使用する時間ウィンドウを示します。1分、5分、1時間および1日の様々な間隔オプションを使用できます。デフォルトでは、レプリカ・ラグは1分ごとに監視され、チャートは5分ごとにプロットされます。「レプリカ・ラグ」メトリックに異なる統計を選択できます。

例1: 受信者リージョンとしてカナダ南東部(トロント)、送信者リージョンとしてカナダ南東部(モントリオール)および米国東部(アッシュバーン)とのレプリカ・ラグ。

次のチャートは、5分間隔の平均統計についてプロットされます。


この例では、モントリオールとアッシュバーンは2つの送信者リージョンで、トロントはメトリックが取得される受信者リージョンです。モントリオールの場合、UTC 12:25のレプリカ・ラグの値を考慮します。2020ミリ秒です。つまり、受信側リージョンのカナダ南東部(トロント)は、過去2020ミリ秒で送信側リージョンのカナダ南東部(モントリオール)で発生した更新を受信していないということです。同様に、アッシュバーンの場合、UTC 12:25のレプリカ・ラグの値も考慮してください。2954ミリ秒です。つまり、受信者リージョンのカナダ南東部(トロント)は、過去2954ミリ秒の送信者リージョンの米国東部(アッシュバーン)で発生した更新を受信していないということです。

例2:米国東部(アッシュバーン)をレシーバ・リージョン、カナダ南東部(モントリオール)およびカナダ南東トロントを送信リージョンとして遅延するレプリカ。

この例では、モントリオールとトロントは2つの送信者リージョンで、アッシュバーンはメトリックが取得される受信者リージョンです。


例3:レプリカは、受信側リージョンとしてカナダ南東部(モントリオール)、送信側リージョンとして米国東部(アッシュバーン)およびカナダ南東部トロントとラグします。

この例では、アッシュバーンとトロントは2つの送信者リージョンで、モントリオールはメトリックが取得される受信者リージョンです。


レプリカ・ラグのチャートの表示に加えて、次のオプションがあります。


表ビューを取得して、特定の時点におけるレプリカ・ラグの値を確認できます。


Oracle NoSQL Database Cloud Serviceメトリックの表示またはリスト

コンソールから、Oracle NoSQL Database Cloud Serviceで使用可能なメトリックを表示できます。また、OCI CLIコマンドを使用して、Oracle NoSQL Database Cloud Serviceで使用可能なメトリックのリストを取得できます。

  1. ナビゲーション・メニューを開き、「監視および管理」.をクリックします「モニタリング」で、「サービス・メトリック」をクリックします。
  2. コンパートメントおよびメトリック・ネームスペース(oci_nosql)を選択します。

クラウド・シェルから、次のコマンドを実行します。リクエストで指定された条件に一致するメトリック定義が返されます。コンパートメントOCIDが必要ですlistコマンドで使用可能なOPTIONSの詳細は、メトリックのリストを参照してください。

oci monitoring metric list --compartment-id <Compartment_OCID> --namespace oci_nosql

たとえば次のようにします。
oci monitoring metric list --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya --namespace oci_nosql
レスポンスの例:
{
  "data": [
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageGB",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    }
  ]
}

Oracle NoSQL Database Cloud Serviceメトリックの収集方法

特定のメトリック・セット(集計データ)を収集するためのメトリック問合せを作成できます。メトリック問合せには、集計データを返すために評価するMonitoring Query Language (MQL)式が含まれます。問合せには、メトリック、統計および間隔を指定する必要があります。

メトリック問合せを使用すると、クラウド・リソースを積極的および受動的にモニターできます。オンデマンドで自然発生的に生成するメトリック問合せにより、積極的にモニターします。コンソールで、複数の問合せからのデータが表示されるようにチャートを更新します。再利用する問合せを格納します。条件またはトリガー・ルールをメトリック問合せに追加するアラームを使用して受動的にモニターします。

メトリック問合せ構文(太字要素が必要です):
metric[interval] {dimensionname=dimensionvalue}.groupingfunction.statistic
次のしきい値アラーム構文(boldface要素)が必要です。
metric[interval]{dimensionname=dimensionvalue}.groupingfunction.statistic alarmoperator alarmvalue

サポートされるパラメータ値については、Monitoring Query Language (MQL)リファレンスを参照してください。

問合せ例

シンプル・メトリック問合せ

ストレージ・スロットルの合計は、コンパートメント内のすべての表の1分間隔でカウントされます。

メトリック・チャート(コンソール)に表示される行数: 表当たり1行。

StorageThrottleCount[1m].sum()
フィルタされたメトリック問合せ

ストレージ・スロットルの合計は1分間隔でコンパートメントにカウントされ、単一の表にフィルタされます。

メトリック・チャート(コンソール)に表示される行数: 1。

StorageThrottleCount[1m]{tableName = "demoKeyVal"}.sum()
集計メトリック問合せ

平均について集計された、コンパートメントにフィルタされた60分間隔での読取り操作の集計平均。

メトリック・チャート(コンソール)に表示される行数: 表当たり1行。

ReadUnits[60m]{compartmentId="ocid1.compartment.oc1.phx..exampleuniqueID"}.grouping().mean()
グループ集計されたメトリック問合せ

コンパートメント内の1つの表にフィルタされた、60分間隔の読取りユニット別の読取りスロットル数の集計平均。

メトリック・チャート(コンソール)に表示される行数: 読取りユニット当たり1行。

ReadThrottleCount[60m]{tableName = "demoKeyVal"}.groupBy(ReadUnits).mean()

メトリック問合せの作成

メトリック問合せを作成するには、2つの方法があります。コンソールまたはOCI CLIコマンドを使用して問合せを作成できます。

  1. ナビゲーション・メニューを開き、「監視および管理」.をクリックします「モニタリング」で、「メトリック・エクスプローラ」をクリックします。

    「メトリック・エクスプローラ」ページに、問合せを作成するためのフィールドを含む空のチャートが表示されます。

  2. 新しいクエリーのフィールドに入力します。
    • コンパートメント:モニターするOracle NoSQL Database Cloud Service表を含むコンパートメント。デフォルトでは、最初のアクセス可能なコンパートメントが選択されます。
    • メトリック・ネームスペース:モニターする表のメトリックを生成するOracle NoSQL Database Cloud Service。例: oci_nosql。
    • リソース・グループ(オプション):メトリックが属するグループ。リソース・グループは、カスタム・メトリックで提供されるカスタム文字列です。サービス・メトリックに適用されません。
    • メトリック名:メトリックの名前。指定できるメトリックは1つのみです。メトリックの選択は、選択したコンパートメントとメトリック・ネームスペースによって決まります。例: ReadUnits
    • 間隔:集計ウィンドウ。
    • 統計:集計関数。
    • メトリック・ディメンション:評価されるメトリック・データを絞り込むためのオプションのフィルタ。
      • ディメンション・フィールド: Oracle NoSQL Database Cloud Serviceメトリックの場合、ディメンション名とディメンション値のペアとしてresourceIdまたはtableNameを選択できます。
    • メトリック・ストリームの集計:メトリック・チャートに1行をプロットして、選択した統計のすべてのメトリック・ストリームの合計値を表します。
  3. 「チャートの更新」をクリックします。

    チャートには、新規問合せの結果が表示されます。非常に小さい値または大きい値は、メガ(10の6乗)を表すMなど、国際単位系(SI単位)で示されます。単位は選択したメトリックに対応し、統計によって変更されません。

  4. 問合せをMQL (Monitoring Query Language)式として表示するには、「拡張モード」を選択します。
    • 拡張モードは、右側のチャートの下にあります。

      拡張モードでは、MQL構文を使用して問合せを編集し、結果をグループ別に集計します。MQL構文では、追加のパラメータ値もサポートされています。ベーシック・モードおよび拡張モードの問合せパラメータの詳細は、Monitoring Query Language (MQL)リファレンスを参照してください。

クラウド・シェルから、次のコマンドを実行します。リクエストで指定された条件に一致する集計データを返します。コンパートメントOCIDが必要です

oci monitoring metric-data summarize-metrics-data --compartment-id<Compartment_OCID> --namespace oci_nosql --query-text [text]

--query-textは、集計するメトリック・データ・ポイントを検索するときに使用するMonitoring Query Language (MQL)式です。問合せには、メトリック、統計および間隔を指定する必要があります。intervalでサポートされる値: 1m - 60m (および1h)。オプションで、ディメンションおよびグループ化関数を指定できます。サポートされているグループ化関数: groups()、groupBy()。summary-metrics-dataコマンドで使用可能なOPTIONSの詳細は、「メトリック・データの集計」を参照してください。次の例では、フィルタされたメトリック問合せを作成して、コンパートメント内の読取りユニットの合計を1分間隔で取得し、単一の表にフィルタします。

たとえば次のようにします。
oci monitoring metric-data summarize-metrics-data --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'ReadUnits[1m]{tableName="articles"}.sum()'
レスポンスの例:
{
  "data": [
    {
      "aggregated-datapoints": [
        {
          "timestamp": "2022-02-17T11:03:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:04:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:05:00+00:00",
          "value": 0.0
        },

        ...
        ...
        ...

        {
          "timestamp": "2022-02-17T13:59:00+00:00",
         "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:00:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:01:00+00:00",
          "value": 0.0
        }
      ],
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyav7f67yuj3t2q6rk7lp2a2obfdxa6hg2ho2ea7qabin4q",
        "tableName": "demo"
      },
      "metadata": {},
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resolution": null,
      "resource-group": null
    }
  ]
}

アラームの作成

アラーム問合せを評価し、アラームが起動状態にあるときに、他のアラーム・プロパティとともに通知を送信するアラームを作成できます。トリガーされると、アラームは(Notificationsで)構成されたトピックにアラーム・メッセージを送信し、そのトピックのすべてのサブスクリプションにメッセージを送信します。Slack、Eメール、SMSおよびPagerDutyは、通知の構成済トピックの例の一部です。

構成すると、繰返し通知により継続的に起動状態であることが構成した繰返し間隔で通知されます。アラームがOK状態に戻ったとき、またはアラームがリセットされたときにも通知されます。

アラーム問合せには、集計データを返すために評価するMonitoring Query Language (MQL)式が含まれます。問合せには、メトリック、統計および間隔を指定する必要があります。

アラームを作成する方法は2つあります。コンソールまたはOCI CLIを使用して、問合せを作成できます。

  1. ナビゲーション・メニューを開き、「監視および管理」.をクリックします「モニタリング」で、「アラーム定義」をクリックします。
  2. 「アラームの作成」をクリックします。

    ノート:

    「サービス・メトリック」ページで、事前定義済問合せからアラームを作成することもできます。「オプション」を展開し、この問合せで「アラームの作成」をクリックします。サービス・メトリックの詳細は、「Oracle NoSQL Database Cloud Serviceのメトリックの表示またはリスト」を参照してください。
  3. 「アラームの作成」ページの「アラームの定義」で、アラーム設定を入力または更新します:

    ノート:

    Basic ModeとAdvanced Modeを切り替えるには、「Switch to Advanced Mode」または「Switch to Basic Mode」(「Define Alarm」の右側)をクリックします。
    • 警報名:新しい警報の使いやすい名前。この名前は、このアラームに関連する通知のタイトルとして送信されます。機密情報を入力しないでください。
    • アラーム重大度:アラームが起動状態にあるときに必要となる、認識されたレスポンス・タイプ。
    • アラーム本文:配信される通知の解読可能な内容。Oracleでは、アラーム状態を解決するためのガイダンスを提供することをお薦めしています。例: 「High Read Throttle Count」
    • タグ(オプション):リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。
    • メトリックの説明: アラーム条件について評価するメトリック。
      • コンパートメント:モニターするOracle NoSQL Database Cloud Service表を含むコンパートメント。デフォルトでは、最初のアクセス可能なコンパートメントが選択されます。
      • メトリック・ネームスペース:監視する表のメトリックを生成するOracle NoSQL Database Cloud Service。例: oci_nosql。
      • リソース・グループ(オプション):メトリックが属するグループ。リソース・グループは、カスタム・メトリックで提供されるカスタム文字列です。サービス・メトリックに適用されません。
      • メトリック名:メトリックの名前。指定できるメトリックは1つのみです。メトリックの選択は、選択したコンパートメントとメトリック・ネームスペースによって決まります。例: ReadUnits
      • 間隔:集計ウィンドウ。
      • 統計:集計関数。
    • メトリック・ディメンション:評価されるメトリック・データを絞り込むためのオプションのフィルタ。
      • ディメンション・フィールド: Oracle NoSQL Database Cloud Serviceメトリックの場合、ディメンション名とディメンション値のペアとしてresourceIdまたはtableNameを選択できます。
    • メトリック・ストリームの集計:メトリック・チャートに1行をプロットして、選択した統計のすべてのメトリック・ストリームの合計値を表します。
    • トリガー・ルール:アラームを起動状態にするために満たす必要がある条件。この条件では、StorageGBの90%などのしきい値を指定できます。
      • 演算子:条件のしきい値で使用する演算子。
      • 値:条件に使用する値。
      • トリガー遅延分数:アラームが起動状態になるまでに条件を維持する必要がある分数。
  4. 問合せ結果の表示を変更するには、右側の結果の上にある適切なオプションをクリックします。
    • データ表を表示:データ・ポイントをリストし、それぞれのタイムスタンプとバイト数を示します。
    • グラフを表示(デフォルト):グラフにデータ・ポイントを表示します。
  5. 通知の設定:「通知」で、フィールドに入力します。
    • 宛先:通知に使用するトピック。
    • 通知の繰返し:アラームが起動状態になっている間、指定した間隔で通知を再送信します。
    • 通知頻度:通知の再送信を待機する期間。
    • 通知の抑制:評価および通知を一時停止する抑制時間ウィンドウを設定します。システム・メンテナンス期間中のアラーム通知を回避するのに役立ちます。
  6. 新しいアラームを無効にする場合、「このアラームを有効化」をクリアします。
  7. 「アラームの保存」をクリックします。

クラウド・シェルから次のコマンドを実行して、指定したコンパートメントに新しいアラームを作成します。コンパートメントOCIDが必要です

oci monitoring alarm create --compartment-id <Compartment_OCID> --namespace oci_nosql --query-text [text] --destinations [complex type] --display-name [text] --is-enabled [boolean] --metric-compartment-id [text] --severity [text]

--query-textは、集計するメトリック・データ・ポイントを検索するときに使用するMonitoring Query Language (MQL)式です。問合せには、メトリック、統計および間隔を指定する必要があります。intervalでサポートされる値: 1m - 60m (および1h)。オプションで、ディメンションおよびグループ化関数を指定できます。サポートされているグループ化関数: groups()、groupBy()。create alarmコマンドで使用可能なオプションの詳細は、create - alarmを参照してください。次の例では、1分間隔のコンパートメントでStorageGBの90パーセンタイルが85より大きい場合にアラーム問合せを使用してアラームを作成し、単一の表にフィルタ処理します。

しきい値アラームの例:
oci monitoring alarm create --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'StorageGB[1m]{tableName="demo"}.groupBy(WriteUnits).percentile(0.9) > 85' 
--display-name HighStorageConsumption --metric-compartment-id demonosql --severity Critical --is-enabled true

アラームの管理

アラームの管理方法については、次のガイドラインに従ってください。

  • 各メトリックの一連のアラートを作成します。
    Oracle NoSQL Database Cloud Service表によって生成されるメトリックごとに、次のリソース動作を定義するアラームを作成します。
    • リスクあり - メトリック値で示されているように、Oracle NoSQL Database Cloud Serviceは動作不能になるリスクがあります。たとえば、表のストレージ・サイズは高使用率のリスクがあります。
    • 非最適化 - Oracle NoSQL Database Cloud Serviceは、メトリック値で示されるように、非最適化レベルで実行しています。たとえば、ReadUnitsまたは書込みユニットは高レイテンシです。
    • リソースが稼働中または停止中 - Oracle NoSQL Database Cloud Serviceにアクセスできないか、動作していません。たとえば、ReadThrottleCountまたはWriteThrottleCountの高数値です。
  • アラームに応答するプロセスを設定します。
    アラームの重大度に基づいて、次の異なる方法でアラームに応答することを選択できます。
    • 「Critical to At-Risk」アラームの場合、インスタンスを最適な運用レベルに戻すために修復が必要なため、すぐに運用チームに通知することを決定できます。PagerDutyと電子メールの両方で、担当チームへのアラーム通知を構成し、インスタンスが動作不能状態になる前に調査と適切な修正をリクエストします。繰返し通知は1分ごとに設定します。アラーム通知に応答したら、アラームを抑制して通知を一時的に停止します。メトリックが最適な値に戻ったら、抑制を削除します。
    • 警告または非最適アラームの場合、Oracle NoSQL Database Cloud Service表が通常よりも多くのストレージ・サイズを消費していることを適切な個人またはチームに通知できます。ストレージ・サイズを調査して削減するための即時アクションは必要ないため、適切な連絡先に通知するようにしきい値アラームを構成します。適切な開発者またはチームへの電子メール通知のみを設定し、電子メール通知の騒音を削減するために24時間ごとに繰返し通知を送信します。