Cloud Monitoring によるモニタリング

このドキュメントでは、Cloud Monitoring コンソールを使用して Cloud Spanner インスタンスをモニタリングする方法について説明します。

Cloud Monitoring コンソールには、Cloud Spanner 用のモニタリング ツールがいくつか用意されています。

Cloud Spanner をプログラムでモニタリングする場合は、Cloud Monitoring 用の Cloud クライアント ライブラリを使用して指標を取得します。

始める前に

Cloud Monitoring を使用するには、ワークスペースが必要です。ワークスペースがない場合は、新しいワークスペースを作成できます。

Cloud Monitoring のキュレート ダッシュボードの使用

Cloud Monitoring には、次のような Cloud Spanner インスタンスに関する重要な情報を要約して示すキュレート ダッシュボードが用意されています。

  • インシデント: ユーザー作成のモニタリング アラート。オープン、アクティブ、解決済みのいずれかの状態になります。
  • イベント: Cloud Spanner 監査ログの一覧(有効かつ利用可能な場合)。
  • インスタンス: Cloud Spanner インスタンスの概要。ノード数、データベース数、インスタンスの状態などが表示されます。
  • スループットとストレージ使用量の集計グラフ

Cloud Spanner ダッシュボードを表示する手順は次のとおりです。

  1. Google Cloud Console で [モニタリング] を選択するか、次のボタンを使用します。

    [モニタリング] に移動

  2. ナビゲーション パネルに [リソース] が表示されている場合は [リソース] を選択し、[Cloud Spanner] を選択します。それ以外の場合は、[ダッシュボード] を選択し、[Cloud Spanner] という名前のダッシュボードを選択します。

インスタンスとデータベースの詳細の表示

Cloud Spanner のキュレート ダッシュボードを開くと、すべてのインスタンスの集計データが表示されます。[インスタンス] の下のインスタンス名をクリックすると、特定のインスタンスの詳細を表示できます。

ダッシュボードには、インスタンスのメタデータ、インスタンス内のデータベース、リージョン別に分類された指標のグラフなどが表示されます。

インスタンス ダッシュボード ページでは、インスタンス内の特定のデータベースのグラフを表示することもできます。

  1. 右側のインスタンス指標グラフの上にある [Database metrics] をクリックします。

  2. [Select a breakdown] プルダウン リストで、調査するデータベースを選択します。

    Monitoring コンソールに、データベースのグラフが表示されます。

Cloud Spanner のカスタムグラフの作成

Cloud Monitoring を使用して、Cloud Spanner の指標のカスタムグラフを作成できます。Metrics Explorer を使用して、一時的なアドホック グラフを作成するか、カスタム ダッシュボードに表示するグラフを作成できます。

特に、Cloud Monitoring では、2 つ以上の指標の相関関係の有無を示すカスタムグラフを作成できます。たとえば、Cloud Spanner インスタンスの CPU 使用率レイテンシとの相関関係を確認できます。これにより、インスタンスにノードを追加する必要があることや一部のクエリの CPU 使用率が高くなっていることが示される場合があります。

この例を開始する手順は次のとおりです。

  1. Google Cloud Console で [モニタリング] を選択するか、次のボタンを使用します。

    [モニタリング] に移動

  2. ナビゲーション パネルに [Metrics Explorer] が表示されている場合は選択します。 それ以外の場合は、[リソース] を選択して [Metrics Explorer] を選択します。

  3. [VIEW OPTIONS] タブをクリックし、[Log scale on Y-axis] チェックボックスをオンにします。このオプションは、1 つの指標の値が他の指標より著しく大きい場合に、複数の指標を比較するのに役立ちます。

  4. 右側のペインの上にあるプルダウン リストで [Line] を選択します。

  5. [Metrics] タブをクリックします。グラフに指標を追加できるようになりました。

レイテンシの指標をグラフに追加する手順は次のとおりです。

  1. [Find resource type and metric] ボックスに値「spanner.googleapis.com/api/request_latencies」を入力し、ボックスの下に表示される行をクリックします。
  2. [Filter] ボックスに値「instance_id」を入力し、確認するインスタンス ID を入力して、[APPLY] をクリックします。
  3. [Aggregator] プルダウン リストで、[max] をクリックします。
  4. 省略可: レイテンシ パーセンタイルを変更します。

    1. [SHOW ADVANCED OPTIONS] をクリックします。
    2. [Aligner] プルダウン リストをクリックし、表示するレイテンシのパーセンタイルをクリックします。

      ほとんどの場合、一般的なレイテンシの量を把握するために 50 パーセンタイル レイテンシを確認する、または、最も遅い 1% のリクエストのレイテンシを把握するために 99 パーセンタイル レイテンシを確認する必要があります。

CPU 使用率の指標をグラフに追加する方法は次のとおりです。

  1. [ADD METRIC] をクリックします。
  2. [Find resource type and metric] ボックスに値「spanner.googleapis.com/instance/cpu/utilization」を入力し、ボックスの下に表示される行をクリックします。
  3. [Filter] ボックスに値「instance_id」を入力し、確認するインスタンス ID を入力して、[APPLY] をクリックします。
  4. [Aggregator] プルダウン リストで、[max] をクリックします。

これで、Cloud Spanner インスタンスの CPU 使用率とレイテンシの指標を表示するグラフが表示されました。両方の指標が同時に予想より高い場合、問題を解決するための追加の手順を行うことができます。

カスタムグラフの作成の詳細については、Cloud Monitoring のドキュメントをご覧ください。

Cloud Spanner 指標にアラートを作成する

Cloud Spanner インスタンスを作成するときに、インスタンスのコンピューティング リソースを提供するノードの数を選択します。インスタンスのワークロードが変化しても、Cloud Spanner ではインスタンス内のノード数が自動的に調整されません。そのため、インスタンスが CPU 使用率の推奨最大値ノードあたりのストレージの推奨上限内に収まるように、いくつかのアラートを設定する必要があります。

推奨アラート ポリシーを作成するには、次の表に示す手順と設定を使用します。

優先度の高い CPU

Cloud Spanner の優先度の高い CPU 使用率が推奨しきい値を上回ったときにトリガーするアラート ポリシーを作成するには、次の設定を使用します。

[Target] ペイン
フィールド

Resource type* Cloud Spanner Instance
Metric CPU Utilization by priority
Filter instance_id = YOUR_INSTANCE_ID
priority = high
Aggregator max
Advanced Aggregation Aligner: mean
Alignment Period: 10 m
* このリソースと指標タイプを選択することは、[Find resource type and metric] ペインに、値「spanner.googleapis.com/instance/cpu/utilization_by_priority」を入力することと同じです。
[Conditions] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold マルチリージョン インスタンスの場合: 45%
リージョン インスタンスの場合: 65%
For 10 minutes

稼働平均 24 時間 CPU

次の設定を使用して、Cloud Spanner の CPU 使用率の 24 時間の移動平均が推奨しきい値を上回った場合にトリガーされるアラート ポリシーを作成します。

[Target] ペイン
フィールド

Resource type* Cloud Spanner Instance
Metric Smoothed CPU utilization
Filter instance_id = YOUR_INSTANCE_ID
Aggregator sum
Advanced Aggregation Aligner: mean
Alignment Period: 10 m
* このリソースと指標タイプを選択することは、[Find resource type and metric] ペインに、値「spanner.googleapis.com/instance/cpu/smoothed_utilization」を入力することと同じです。
[Conditions] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold 90%
For 10 minutes

ストレージ

次の設定を使用して、Cloud Spanner インスタンスのストレージが推奨しきい値を上回ったときにトリガーするアラート ポリシーを作成します。

[Target] ペイン
フィールド

Resource type* Cloud Spanner Instance
Metric Storage used
Filter instance_id = YOUR_INSTANCE_ID
Aggregator sum
Advanced Aggregation Aligner: max
Alignment Period: 10 m
* このリソースと指標タイプを選択することは、[Find resource type and metric] ペインに、値「spanner.googleapis.com/instance/storage/used_bytes」を入力することと同じです。
[Conditions] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold ノードあたりの最大ストレージの 75% にノード数を掛けて、しきい値を設定します。現在のノード上限については、Cloud Spanner の割り当てと上限をご覧ください。

ノードあたり 2 TB の上限の場合、推奨しきい値は次のとおりです。

1649267441664 にインスタンス内のノードの数を乗算します。
For 10 minutes

次のステップ