インスタンスのモニタリング

Cloud Bigtable は、Google Cloud Console で入手できるグラフを使用して視覚的に、または Cloud Monitoring API を使用してプログラムによりモニタリングできます。

Cloud Console では、モニタリング データを次の場所で使用できます。

  • Bigtable のモニタリング
  • Bigtable インスタンスの概要
  • Google Cloud のオペレーション スイートの Cloud Monitoring
  • Key Visualizer

モニタリング ページとインスタンス ページでは、Bigtable の使用状況の概要を確認できます。Key Visualizer を使用すると、アクセスキーの詳細を行キーでドリルダウンし、特定のパフォーマンスの問題を解決できます。

CPU 使用率とディスク使用量について

インスタンスのモニタリングでどのツールを使用する場合でも、インスタンスの各クラスタの CPU とディスクの使用状況をモニタリングすることが重要です。クラスタの CPU 使用率やディスク使用量が一定のしきい値を超えると、クラスタの性能が低下し、データの読み取りや書き込みを試行するとエラーが発生することがあります。

CPU 使用率

クラスタのノードは CPU リソースを使用して読み取り、書き込み、管理タスクを処理します。ノードの数がクラスタのパフォーマンスに及ぼす影響については、通常のワークロードでのパフォーマンスをご覧ください。

Bigtable は、CPU 使用率について以下の指標をレポートします。

指標 説明
平均 CPU 使用率

クラスタ内にあるすべてのノードの平均 CPU 使用率。

推奨最大値により、使用率が急増した場合のヘッドルームを確保できます。

クラスタが構成の推奨最大値を超過する時間が数分間にわたる場合は、クラスタにノードを追加します。

最もホットなノードの CPU 使用率

クラスタで最もビジーなノードの CPU 使用率。

最もホットなノードが頻繁に推奨値を超える場合、平均 CPU 使用率が適切な範囲にあっても、ごく一部のデータに他のデータよりも頻繁にアクセスしている可能性があります。

  • Key Visualizer ツールを使用して、CPU 使用率の急上昇を引き起こしている可能性があるホットスポットをテーブル内で特定します。
  • スキーマ設計を確認し、読み取りと書き込みが各テーブル間で均等に分散されるようにします。
アプリ プロファイル、メソッド、テーブルによる CPU 使用率

アプリ プロファイル、メソッド、テーブルによる CPU 使用率。

クラスタの CPU 使用率が予想よりも高い場合は、この指標を使用して、特定のアプリ プロファイル、API メソッド、テーブルの CPU 使用率が CPU の負荷が高くなっている原因かどうか判断します。

こうした指標の値は、以下を超えてはいけません。

構成 推奨の最大値1
  1. 推奨の最大値は、クラスタ全体に対する値です。アプリ プロファイル、メソッド、テーブルごとの CPU 使用率に推奨の最大値はありません。よりきめ細かな指標を使用して、クラスタの CPU 使用率が高くなっている原因を確認してください。
単一クラスタ

平均 CPU 使用率 70%
最もホットなノードの CPU 使用率 90%

単一クラスタ ルーティングを使用する任意のクラスタ数

平均 CPU 使用率 70%
最もホットなノードの CPU 使用率 90%

複数クラスタ ルーティングの 2 つのクラスタ

平均 CPU 使用率 35%
最もホットなノードの CPU 使用率 45%

複数クラスタ ルーティングを使用する 3 つ以上のクラスタ

構成によります。一般的な使用例については、レプリケーション設定の例をご覧ください。

ディスク使用量

インスタンスのクラスタごとに、Bigtable はそのインスタンスのすべてのテーブルのコピーを個別に格納します。

Bigtable はディスク使用量をバイナリ単位でトラッキングします。たとえば、バイナリ ギガバイト(GB)では、1 GB は 230 バイトです。この測定単位はギビバイト(GiB)とも呼ばれます。

Bigtable は、ディスク使用量について以下の指標をレポートします。

指標 説明
ストレージの利用率(バイト)

クラスタに格納されているデータの量。

この値は費用に影響します。また、後述のように、データ量の増加に伴い各クラスタにノードを追加することが必要になる場合があります。

ストレージの利用率(最大に対するパーセント)

クラスタのストレージ容量のうち、使用されている容量の割合。この容量はクラスタ内のノード数に基づいています。

一般的に、データを追加する場合は、ストレージ合計でハードリミットの 70% を超過しないでください。大量のデータをインスタンスに追加する予定がない場合は、ハードリミットの 100% まで使用できます。

ストレージ上限の推奨パーセンテージを超えて使用している場合は、クラスタにノードを追加してください。既存のデータを削除することもできますが、コンパクションが発生するまでは、削除されたデータの占有容量が少なくなるどころかむしろ多くなります

この値の計算方法については、ノードあたりのストレージ使用率をご覧ください。

ディスク負荷

HDD の読み取りと書き込みに使用できる最大帯域幅のうち、クラスタが使用している容量の割合。HDD クラスタの場合のみ使用可能です。

この値が頻繁に 100% に達する場合、レイテンシが増加することがあります。クラスタにノードを追加して、ディスク負荷の割合を下げます。

インスタンスのパフォーマンスの概要の取得

インスタンスの概要ページを使用して、インスタンスのクラスタの現在のステータスを確認します。

概要ページには、各クラスタに関するいくつかの主要指標の現在値が表示されます。

指標 説明
平均 CPU 使用率 クラスタ内にあるすべてのノードの平均 CPU 使用率。
最もホットなノードの CPU 使用率

クラスタで最もビジーなノードの CPU 使用率。

最も使用頻度の高いノードの推奨最大値を超えると、クラスタでレイテンシなどの問題が発生する可能性があります。

読み取られた行数 1 秒あたりに読み取られた行の数。
書き込まれた行数 1 秒あたりに書き込まれた行の数。
読み取りスループット 送信されたレスポンス データの 1 秒あたりの非圧縮バイト数。この指標は、フィルタの適用後に返されたデータの全量を表します。
書き込みスループット データの書き込み時に受信した 1 秒あたりの非圧縮バイト数。
システムエラー率 Bigtable サーバー側で失敗したすべてのリクエストの割合。
入力のレプリケーション レイテンシ 別のクラスタへの書き込みがこのクラスタにレプリケートされるまでの、99 番目のパーセンタイルでの最大時間(秒)。
出力のレプリケーション レイテンシ このクラスタへの書き込みが別のクラスタにレプリケートされるまでの、99 番目のパーセンタイルでの最大時間(秒)。

これらの主要指標の概要を表示するには:

  1. Cloud Console で Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 指標を表示するインスタンスをクリックします。インスタンスのクラスタに関する現在の指標が Cloud Console に表示されます。

パフォーマンスの時間推移のモニタリング

Bigtable インスタンスのモニタリング ページを使用して、インスタンスの過去のパフォーマンスを確認します。各クラスタのパフォーマンスを分析し、Bigtable リソースの種類ごとに指標を細分化できます。グラフでは、過去 1 時間から過去 6 週間の期間を表示できます。

Bigtable リソースのグラフ

Bigtable のモニタリング ページでは、以下のタイプの Bigtable リソースのグラフが表示されます。

  • インスタンス
  • テーブル
  • アプリケーション プロファイル
  • レプリケーション

グラフは以下の指標について利用できます。

指標 対象 説明
CPU 使用率 インスタンス
テーブル
アプリ プロファイル
クラスタ内にあるすべてのノードの平均 CPU 使用率。
CPU 使用率(最もホットなノード) インスタンス

クラスタで最もビジーなノードの CPU 使用率。

最も使用頻度の高いノードの推奨最大値を超えると、クラスタでレイテンシなどの問題が発生する可能性があります。

読み取りレイテンシ インスタンス
テーブル
アプリ プロファイル

読み取りリクエストがレスポンスを返すまでの時間。

読み取りレイテンシの測定は、Bigtable がリクエストを受信すると開始され、データの最後のバイトがクライアントに送信されると終了します。大量のデータのリクエストの場合、クライアントがレスポンスを使用できるかどうかによって読み取りレイテンシが影響を受ける可能性があります。

書き込みレイテンシ インスタンス
テーブル
アプリ プロファイル

書き込みリクエストがレスポンスを返すまでの時間。

ユーザーエラー率 インスタンス

Bigtable サーバー側のエラーではなく、リクエストの内容が原因で発生したエラーの割合。ユーザーエラー率には、次のステータス コードが含まれます。

  • INVALID_ARGUMENT
  • NOT_FOUND
  • PERMISSION_DENIED
  • RESOURCE_EXHAUSTED
  • OUT_OF_RANGE

ユーザーエラーの多くは構成上の問題が原因で発生します(たとえば、間違ったクラスタ、テーブル、アプリ プロファイルがリクエストで指定されている場合)。

システムエラー率 インスタンス Bigtable サーバー側で失敗したすべてのリクエストの割合。システムエラー率には、次のステータス コードが含まれます。
  • UNKNOWN
  • ABORTED
  • UNIMPLEMENTED
  • INTERNAL
  • UNAVAILABLE
自動フェイルオーバー インスタンス
テーブル
アプリ プロファイル

短時間の停止や遅延などのフェイルオーバー シナリオにより、クラスタ間で自動的に再ルーティングされたリクエストの数。アプリ プロファイルがマルチクラスタ ルーティングを使用している場合、自動で再ルーティングされる可能性があります。

このグラフには、手動で再ルーティングされたリクエストは反映されません。

ストレージの利用率(バイト) インスタンス
テーブル

クラスタに格納されているデータの量。

この指標には、データが格納時に Bigtable によって圧縮されるという事実が反映されています。

ストレージの利用率(最大に対するパーセント) インスタンス

クラスタのストレージ容量のうち、使用されている容量の割合。この容量はクラスタ内のノード数に基づいています。

この値の計算方法については、ノードあたりのストレージ使用率をご覧ください。

ディスク負荷 インスタンス HDD の読み取りと書き込みに使用できる最大帯域幅のうち、クラスタが使用している容量の割合。HDD クラスタの場合のみ使用可能です。
読み取られた行数 インスタンス
テーブル
アプリ プロファイル

1 秒あたりに読み取られた行の数。

1 つのリクエストで多数の行を読み取ることができるため、読み取りリクエストの数よりもこの指標を確認したほうが Bigtable のスループット全体についてより有益な情報が得られます。

書き込まれた行数 インスタンス
テーブル
アプリ プロファイル

1 秒あたりに書き込まれた行の数。

1 つのリクエストで多数の行を書き込むことができるため、書き込みリクエストの数よりもこの指標を確認したほうが Bigtable のスループット全体についてより有益な情報が得られます。

読み取りリクエスト インスタンス
テーブル
アプリ プロファイル
1 秒あたりのランダム読み取りとスキャン リクエストの数。
書き込みリクエスト インスタンス
テーブル
アプリ プロファイル
1 秒あたりの書き込みリクエストの数。
読み取りスループット インスタンス
テーブル
アプリ プロファイル
送信されたレスポンス データの 1 秒あたりの非圧縮バイト数。この指標は、フィルタの適用後に返されたデータの全量を表します。
書き込みスループット インスタンス
テーブル
アプリ プロファイル
データの書き込み時に受信した 1 秒あたりの非圧縮バイト数。
ノード数 インスタンス クラスタ内のノード数。

これらのリソースの指標を表示するには:

  1. Cloud Console で Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 指標を表示するインスタンスをクリックします。

  3. 左側のペインで [モニタリング] をクリックします。Cloud Console に、インスタンスに関する一連のグラフと、インスタンスの指標を示す表が表示されます。デフォルトでは、Cloud Console には過去 1 時間の指標が表示されます。また、インスタンスのクラスタごとに異なる指標が表示されます。

    すべてのグラフを表示するには、グラフが表示されるペインでスクロールします。

    テーブルレベルで指標を表示するには、[テーブル] をクリックします。

    個別のアプリ プロファイルの指標を表示するには、[アプリケーション プロファイル] をクリックします。

    インスタンス全体の指標をまとめて表示するには、グラフの上にある [グループ条件] セクションで [インスタンス] をクリックします。

    より長い期間の指標を表示するには、[1 時間] の横の矢印をクリックします。既定の期間を選択するか、カスタムの期間を入力して [適用] をクリックします。

レプリケーションに関するグラフ

モニタリング ページには、時間の経過に伴うレプリケーション レイテンシを示すグラフが表示されます。50 番目、99 番目、100 番目のパーセンタイルにおける書き込みのレプリケーションの平均レイテンシを表示できます。

時間の経過に伴うレプリケーション レイテンシを表示するには:

  1. Cloud Console で Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. 指標を表示するインスタンスをクリックします。

  3. 左側のペインで [モニタリング] をクリックします。[インスタンス] タブが選択された状態でページが開きます。

  4. [レプリケーション] タブをクリックします。Cloud Console に、時間の経過に伴うレプリケーション レイテンシが表示されます。デフォルトでは、Cloud Console には過去 1 時間のレプリケーション レイテンシが表示されます。

    テーブルまたはクラスタ別にグループ化されたレイテンシ グラフ間で切り替えるには、[Group by] メニューを使用します。

    表示するパーセンタイルを変更するには、[パーセンタイル] メニューを使用します。

    より長い期間の指標を表示するには、[1 時間] の横の矢印をクリックします。既定の期間を選択するか、カスタムの期間を入力して [適用] をクリックします。

Cloud Monitoring によるモニタリング

Bigtable は使用状況の指標Cloud Monitoring にエクスポートします。これらの指標はさまざまな方法で使用できます。

  • Cloud Monitoring API を使用してプログラムによってモニタリングします。
  • Metrics Explorer で可視化してモニタリングします。
  • アラート ポリシーを設定する
  • カスタム ダッシュボードに Bigtable の使用状況の指標を追加します。
  • Python 用 Matplotlib などのグラフ描画ライブラリを使用して、Cloud Bigtable の使用状況に関する指標のプロットや分析を行います。

Metrics Explorer で使用状況の指標を確認するには:

  1. Cloud Console で [モニタリング] ページを開きます。

    [モニタリング] ページを開く

    アカウントを選択するよう求められたら、Google Cloud へのアクセスに使用するアカウントを選択します。

  2. [Resources] をクリックし、[Metrics Explorer] をクリックします。

  3. [Find resource type and metric] に「bigtable」と入力します。Bigtable リソースと指標のリストが表示されます。

  4. グラフを表示する指標をクリックします。

Cloud Monitoring の使用方法の詳細については、Cloud Monitoring のドキュメントをご覧ください。

Bigtable 指標の一覧については、指標をご覧ください。

次のステップ