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

Google Cloud Platform ConsoleStackdriver Monitoring で利用できるグラフを使用すると、Cloud Bigtable インスタンスを視覚的にモニタリングできます。また、Stackdriver Monitoring を使用してプログラム手法でモニタリングすることもできます。

Google Cloud Platform Console と Stackdriver Monitoring を介して利用可能なデータから、Cloud Bigtable の使用状況の概要を把握できます。また、Key Visualizer ツールを使用すると、行キーごとのアクセス パターンを分析し、特定のパフォーマンス問題のトラブルシューティングを行うことができます。詳細については、Key Visualizer スタートガイドをご覧ください。

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

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

CPU 使用率

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

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

指標 説明
平均 CPU 使用率

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

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

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

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

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

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

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

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

構成 推奨最大値
単一クラスタ

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

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

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

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

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

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

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

ディスク使用量

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

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

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

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

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

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

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

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

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

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

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

ディスク負荷

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

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

GCP Console でパフォーマンスの概要を確認

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

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

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

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

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

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

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

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

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

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

GCP Console で時間の経過に伴うパフォーマンスをモニタリング

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

Cloud Bigtable リソースのグラフ

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

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

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

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

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

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

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

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

  • INVALID_ARGUMENT
  • NOT_FOUND
  • PERMISSION_DENIED
  • RESOURCE_EXHAUSTED
  • OUT_OF_RANGE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    個別のテーブルやアプリケーション プロファイルを表示するには、[指標を表示する対象] プルダウン リストをクリックして、[テーブル] または [アプリケーション プロファイル] を選択します。

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

    長い期間の指標を表示するには、グラフの右上にある時系列のいずれかをクリックします。

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

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

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

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

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

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

  3. 左側のペインで [モニタリング] をクリックします。

  4. [指標を表示する対象] プルダウン リストで [レプリケーション] を選択します。GCP Console に、時間の経過に伴うレプリケーション レイテンシが表示されます。デフォルトでは、GCP Console には過去 1 時間のレプリケーション レイテンシが表示されます。

    グラフの一部が灰色のバーになっていることがあります。このバーは、受信書き込みがなかったか、Cloud Bigtable サービスに問題があったため、その期間にレプリケーションが発生していないことを示します。この期間のレイテンシ指標は正確でない可能性があります。

    指標をインスタンス全体で集計するか、クラスタごとに個別に表示するかを変更するには、[グループ条件] のボタンのいずれかを使用します。

    表示するパーセンタイルを変更するには、[パーセンタイル] のボタンのいずれかを使用します。

    長い期間の指標を表示するには、グラフの右上にある時系列のいずれかをクリックします。

Stackdriver Monitoring を使ったインスタンスのモニタリング

Stackdriver Monitoring を使用すると、Cloud Bigtable からエクスポートされる使用状況の指標をプログラム手法でモニタリングできます。Cloud Bigtable の使用状況の指標は、Stackdriver Monitoring API または Metrics Explorer を使用してトラッキングできます。また、使用状況の指標に基づいてアラート ポリシーを設定したり、Cloud Bigtable の使用状況の指標に関するグラフをカスタム ダッシュボードに追加したりできます。

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

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

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

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

  2. [リソース] をクリックし、[Metrics Explorer] をクリックします。

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

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

Python 用 Matplotlib などのグラフ描画ライブラリを使用して、Cloud Bigtable の使用状況に関する指標のプロットや分析を行うこともできます。詳しくは、Stackdriver Monitoring および Cloud Bigtable での Matplotlib の使用に関するチュートリアルをご覧ください。

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Bigtable ドキュメント