AI アシスタンスによるモニタリングとトラブルシューティング

このドキュメントでは、AI アシスタンスを使用して Spanner リソースのモニタリングとトラブルシューティングを行う方法について説明します。Spanner と Gemini Cloud Assist の AI を活用したトラブルシューティング ツールを使用して、データベースの高負荷をトラブルシューティングできます。

始める前に

Google Cloud ユーザー アカウントとプロジェクトに Gemini Cloud Assist を設定する。

Gemini Cloud Assist を設定すると、サービスが反映されるまでに数分かかることがあります。Spanner で AI を活用したトラブルシューティングを有効にする前に、伝播が完了するまで待ちます。

必要なロールと権限

AI を活用したトラブルシューティングを使用するために必要な権限を取得するには、Spanner インスタンスをホストするプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Gemini Cloud Assist Investigations の使用に必要なロールと権限の詳細については、Gemini Cloud Assist Investigations を使用した問題のトラブルシューティングをご覧ください。

Gemini Cloud Assist を開く

Spanner で Gemini Cloud Assist を使用する手順は次のとおりです。

  1. Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
  2. [Spanner インスタンス] に移動
  3. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  4. [Cloud Assist] パネルを開くには、 [Gemini Cloud Assist チャットを開始または終了します] をクリックします。
  5. [Cloud Assist パネル] で、目的の情報を表すプロンプトを入力します。
  6. プロンプトを入力したら、[] [メッセージを送信] をクリックします。

    Gemini は、過去 1 時間の情報に基づいてプロンプトに応答します。

高いデータベース負荷についてのトラブルシューティングを行う

Google Cloud コンソールの [Query Insights] ダッシュボードまたは [システム分析情報] ダッシュボードを利用すると、システムでデータベースの負荷が平均よりも高い場合に、データベースを分析し、イベントのトラブルシューティングを行うことができます。Spanner では、選択した期間の 24 時間前のデータを基に、データベースの予想負荷が算出されます。負荷イベントの増加の原因を調べ、パフォーマンス低下の原因を分析できます。また、Spanner では、データベースを最適化してパフォーマンスを高めるための推奨事項も提供されます。

データベースの負荷が高い場合のトラブルシューティングに AI アシスタンス機能を使用するには、 Google Cloud コンソールの [システム分析情報] ダッシュボードまたは [Query Insights] ダッシュボードに移動します。

Query Insights ダッシュボード

次の手順に沿って、[Query Insights] ダッシュボードで AI アシスタンス機能を使用してデータベースの負荷が高い問題のトラブルシューティングを行います。

  1. Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
  2. [Spanner インスタンス] に移動
  3. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  4. 省略可: [データベース] リストで、データベースをクリックします。
  5. [Query Insights] をクリックして [Query Insights] ダッシュボードを開きます。
  6. 省略可: [期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。
  7. クエリ実行時間別のデータベース負荷が高いと思われる特定の箇所のデータを見るには、グラフのその部分を拡大します。拡大表示するには、グラフの一部をクリックして選択します。

    [合計 CPU 使用率(すべてのクエリ)] グラフで、[パフォーマンスを調査] ボタンをクリックして、Gemini Cloud Assist の AI アシスタンス機能を使用してデータベース負荷が高い問題のトラブルシューティングを開始します。

    約 2 分後に [調査の詳細] ペインが開き、次のセクションが表示されます。

    • 問題。調査対象の問題の説明(調査の開始時刻と終了時刻を含む)。
    • 観察。問題に関する観察結果のリスト。たとえば、クエリのロック待機率が予想よりも長いなど、ロック競合の詳細が含まれる場合があります。
    • 仮説。実行速度の遅いクエリに対処するために AI が推奨するアクションのリスト。

システム分析情報ダッシュボード

次の手順に沿って、[システム分析情報] ダッシュボードで AI アシスタンス機能を使用してデータベースの負荷が高い問題のトラブルシューティングを行います。

  1. Google Cloud コンソールで、[Spanner インスタンス] ページに移動します。
  2. [Spanner インスタンス] に移動
  3. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  4. 省略可: [データベース] でデータベースをクリックします。
  5. ナビゲーション メニューで [システム分析情報] をクリックします。
  6. 省略可: [期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。

    負荷が高いと思われる特定の箇所のデータを見るには、グラフのその部分を拡大します。たとえば、負荷が高い箇所では、CPU 使用率が 100% に近い値で示されている可能性があります。拡大表示するには、グラフの一部をクリックして選択します。

    [調査を探索] ボタンをクリックして、Gemini Cloud Assist の AI アシスタンス機能を使用してデータベース負荷のトラブルシューティングを開始します。

    約 2 分後に [調査の詳細] ペインが開き、次のセクションが表示されます。

    • 問題。調査対象の問題の説明(調査の開始時刻と終了時刻を含む)。
    • 観察。問題に関する観察結果のリスト。たとえば、クエリのロック待機率が予想よりも長いなど、ロック競合の詳細が含まれる場合があります。
    • 仮説。実行速度の遅いクエリに対処するために AI が推奨するアクションのリスト。

高いデータベース負荷について分析する

AI アシスタント機能を使用すると、データベースの負荷について詳しく分析し、トラブルシューティングを行うことができます。

分析期間

Spanner では、[Query Insights] ダッシュボードまたは [システム分析情報] ダッシュボードのデータベース負荷グラフで選択した期間に基づいて、データベースが分析されます。24 時間未満の期間を選択した場合は、その期間全体が分析されます。24 時間を超える期間を選択した場合は、直近の 24 時間のみが分析対象となります。

データベースのベースライン パフォーマンス分析の計算を行うために、分析期間には 24 時間のベースライン期間が含まれます。選択した期間が月曜日以外の曜日である場合、Spanner では選択した期間の直前 24 時間がベースラインとして使用されます。選択した期間が月曜日の場合は、選択した期間の 7 日前がベースラインとして使用されます。

指標分析

Spanner での分析を開始すると、次の指標に大幅な変化がないかどうかが確認されます(ただし、これらに限定されません)。

  • CPU 使用率
  • 読み取りと書き込みのレイテンシ、P50 と P99
  • 読み取りと書き込みの秒間クエリ数(QPS)
  • ノード数
  • セッション指標
  • ロック待機時間
  • トランザクション中止数
  • クエリの統計情報
  • トランザクションの統計情報
  • ロックの統計情報
  • スプリットの統計情報

Spanner では、分析期間におけるパフォーマンス データ内のデータベースのベースライン集計データが比較されます。主要な指標のしきい値の大幅な変化が検出されると、データベースで発生するおそれのある状況が示されます。特定された状況は、選択した期間においてデータベースの負荷が高くなっている根本原因を説明している可能性があります。

推奨事項

Gemini Cloud Assist が分析を完了すると、[調査の詳細] ペインの [仮説] セクションに、問題の修正に役立つ行動につながるインサイトが表示されます。

場合によっては、分析結果に基づいた推奨事項が得られないこともあります。

次のステップ