Cloud Monitoring でインスタンスをモニタリングする

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

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

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

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

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

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

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

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

    [モニタリング] に移動

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

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

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

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

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

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

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

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

Spanner 指標のカスタムグラフを作成する

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

具体的には、Cloud Monitoring では 2 つ以上の指標の相関関係の有無を示すカスタムグラフを作成できます。たとえば、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] をクリックします。

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

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

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

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

次の例は、一部の Spanner 指標のアラート ポリシーを設定する方法を示しています。使用可能な指標の全一覧については、Spanner の指標一覧をご覧ください。

優先度の高い CPU

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

[新しい条件]
フィールド

リソースと指標 [リソース] メニューで、[Spanner インスタンス] を選択します。
[指標カテゴリー] メニューで、[インスタンス] を選択します。
[指標] メニューで、[優先度別の CPU 使用率] を選択します。

(metric.type は spanner.googleapis.com/instance/cpu/utilization_by_priority です。)
フィルタ instance_id = YOUR_INSTANCE_ID
priority = high
時系列全体
時系列のグループ化の基準
マルチリージョン インスタンスの場合: location
リージョン インスタンスの場合は空白のままにします。
時系列全体
時系列集計
sum
ローリング ウィンドウ 10 m
ローリング ウィンドウ関数 mean
アラート・トリガーの構成
フィールド

条件タイプ Threshold
アラート トリガー Any time series violates
しきい値の位置 Above threshold
しきい値 マルチリージョン インスタンスの場合: 45%
リージョン インスタンスの場合: 65%
再テスト ウィンドウ 10 minutes

稼働平均 24 時間 CPU

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

[新しい条件]
フィールド

リソースと指標 [リソース] メニューで、[Spanner インスタンス] を選択します。
[指標カテゴリー] メニューで、[インスタンス] を選択します。
[指標] メニューで、[Smoothed CPU utilization] を選択します。

(metric.type は spanner.googleapis.com/instance/cpu/smoothed_utilization です。)
フィルタ instance_id = YOUR_INSTANCE_ID
時系列全体
時系列集計
sum
ローリング ウィンドウ 10 m
ローリング ウィンドウ関数 mean
アラート・トリガーの構成
フィールド

条件タイプ Threshold
アラート トリガー Any time series violates
しきい値の位置 Above threshold
しきい値 90%
再テスト ウィンドウ 10 minutes

ストレージ

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

[新しい条件]
フィールド

リソースと指標 [リソース] メニューで、[Spanner インスタンス] を選択します。
[指標カテゴリー] メニューで、[インスタンス] を選択します。
[指標] メニューで [ストレージ使用状況] を選択します。

(metric.type は spanner.googleapis.com/instance/storage/utilization です。)
フィルタ instance_id = YOUR_INSTANCE_ID
時系列全体
時系列集計
sum
ローリング ウィンドウ 10 m
ローリング ウィンドウ関数 max
アラート・トリガーの構成
フィールド

条件タイプ Threshold
Condition triggers if Any time series violates
しきい値の位置 Above threshold
しきい値 ノードあたりの最大ストレージに特定のしきい値を設定する必要はありません。ただし、保存容量の上限に近づいた際のアラートを設定することをおすすめします。詳細については、ストレージ使用率の指標をご覧ください。
再テスト ウィンドウ 10 minutes

次のステップ