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

で確認できます。

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

制限事項

Cloud SQL の AI を活用したトラブルシューティングには、次の制限が適用されます。

始める前に

  1. Gemini Cloud Assist が Google Cloud ユーザー アカウントとプロジェクトに設定されていることを確認します。

    Gemini Cloud Assist を設定したら、サービスが反映されるまで 5 分待ってから、Cloud SQL で AI を活用したトラブルシューティングを有効にする必要があります。

  2. インスタンスが Cloud SQL Enterprise Plus エディション インスタンスであることを確認します。
  3. Cloud SQL インスタンスが新しいネットワーク アーキテクチャを使用していることを確認します。
  4. Cloud SQL Enterprise Plus エディションの Query Insights と Cloud SQL Enterprise エディションを有効にします。

必要なロールと権限

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

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

これらの事前定義ロールには、AI を活用したトラブルシューティングの使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

AI を活用したトラブルシューティングを使用するには、次の権限が必要です。

  • databaseinsights.performanceIssues.detect
  • databaseinsights.performanceIssues.investigate

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

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

AI を活用したトラブルシューティングを有効にする

Cloud SQL インスタンスで AI を活用したトラブルシューティングを有効にすると、Cloud SQL はデータベースのパフォーマンスを分析し、クエリの実行中の異常を検出できます。Cloud SQL がクエリのパフォーマンスの異常を検出するか、システムの負荷が高いことを特定すると、AI を活用したトラブルシューティングが証拠に基づいて状況を分析し、推奨事項を提示します。

Cloud SQL インスタンスで AI を活用したトラブルシューティングを有効にするには、次の操作を行います。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [構成] タイルで、[構成の編集] をクリックします。
  4. [インスタンスのカスタマイズ] で [Query Insights] を開きます。
    1. まだ選択されていない場合は、[Query Insights を有効にする] を選択します。
    2. Cloud SQL Enterprise Plus エディションでのみ、まだ選択されていない場合は、[Enterprise Plus の機能を有効にする] を選択します。
  5. Cloud SQL Enterprise Plus エディションでのみ、[AI アシストによるトラブルシューティングを有効にする] を選択します。Cloud SQL Enterprise エディションのインスタンスの場合、AI を活用したトラブルシューティングは、Gemini Cloud Assist を有効にした場合にのみ使用できます。
  6. [保存] をクリックします。
  7. 最良の結果を得るには、 Google Cloud コンソールで AI を活用したトラブルシューティングを有効にして 24 時間待ってから、Cloud SQL がインスタンス、データベース、クエリの平均パフォーマンスのベースラインを構築できるようにします。
  8. Cloud SQL Enterprise Plus エディションの Query Insights を有効にすると、インスタンスの再起動が必要になります。AI 支援トラブルシューティングのみを有効にしている場合、インスタンスの再起動は必要ありません。Cloud SQL Enterprise Plus エディションで Query Insights を有効にする方法については、Query Insights を使用してクエリ パフォーマンスを改善するをご覧ください。

Gemini Cloud Assist を開く

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

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. ナビゲーション パネルで [Query Insights] を選択します。
  4. [Cloud Assist] パネルを開くには、 [Gemini Cloud Assist チャットを開く、または閉じる] をクリックします。
  5. [Cloud Assist パネル] で、目的の情報を表すプロンプトを入力します。
  6. プロンプトを入力したら、[ メッセージを送信] をクリックします。Gemini は、過去 1 時間の情報に基づいてプロンプトに応答します。

低速なクエリのトラブルシューティング

AI アシスタントを使用して低速なクエリのトラブルシューティングを行うには、 Google Cloud コンソールで Cloud SQL インスタンスの [Query Insights] ダッシュボードに移動します。

上位クエリのテーブル

低速なクエリのトラブルシューティングは、[Query Insights] ダッシュボードの [上位クエリのテーブル] セクションで AI アシスタンスを使用して開始できます。

Cloud SQL を使用すると、特定の検出期間中にパフォーマンスが平均よりも低速なクエリを特定できます。[Query Insights] ダッシュボードで期間を選択すると、Cloud SQL は、選択した期間終了の 24 時間前の検出期間を使用して、クエリのパフォーマンスが平均よりも遅いかどうかを確認します。

[データベースの負荷] グラフの期間フィルタや、データベースやユーザーなどの他のフィルタを調整すると、Cloud SQL は [上位クエリのテーブル] を更新し、新しいクエリリストと更新された検出期間に基づいて異常検出を再実行します。

Cloud SQL Enterprise Plus エディションのインスタンスの場合、Cloud SQL が異常を検出すると、次の処理が行われます。

クエリの実行速度が想定よりも遅い場合は、[警告] warning_spark アイコンが表示されます。いずれかのアイコンをクリックすると、Gemini Cloud Assist が使用されてクエリ実行の分析が支援され、問題の原因となった可能性のあることに関する分析結果が表示されます。これらの観察結果に基づいて、Gemini Cloud Assist は問題の解決に役立つ仮説を生成します。

[Query Insights] ダッシュボードの [上位クエリ] テーブルで、低速なクエリのトラブルシューティングを行う手順は次のとおりです。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. SQL ナビゲーション メニューで [Query Insights] をクリックします。
  4. [実行されたクエリ] グラフで、[期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。
  5. [上位のクエリ] テーブルの [クエリ] タブで、データベースのクエリのリストを確認します。
  6. クエリの [平均実行時間(ミリ秒)] の横に 警告 warning_spark アイコンが表示されている場合、Cloud SQL はクエリのパフォーマンスの異常を検出しています。Cloud SQL は、選択した期間の終了前に発生した 24 時間以内の異常をチェックします。
  7. [警告] warning_spark アイコンをクリックします。
  8. [Query is slower than usual] ダイアログで、[New Investigation] をクリックして、Gemini Cloud Assist の AI アシスタントによるトラブルシューティングを開始します。約 2 分後に、[調査の詳細] ペインが開き、次のセクションが表示されます。
    • 問題。調査中の問題の説明(調査の開始時間と終了時間を含む)。
    • 観察。問題に関する観察結果のリスト。たとえば、クエリのロック待機率が予想よりも高いなど、ロック競合の詳細が含まれます。
    • 仮説。実行速度の遅いクエリに対処するために AI が推奨するアクションのリスト。
  9. クエリに関連付けられているすべての調査を表示するには、[クエリが通常より遅い] ダイアログで [すべての調査を表示] をクリックします。[Gemini Cloud Assist] ページが開き、現在実行中の調査と以前に完了した調査をすべて確認できます。たとえば、プロジェクトやラベルでページをフィルタして、必要な特定の調査を見つけることができます。

    または、以前の調査をすべて表示するには、[通知] アイコン をクリックし、調査に関連付けられている通知を選択して、[Gemini Cloud Assist] ページを開きます。

  10. または、任意のクエリのレイテンシを調査する場合は、次の手順を行います。
    1. 調査する特定のクエリを特定します。
    2. [アクション] 列で、そのクエリに関連付けられている [アクション] アイコンをクリックします。
    3. メニューで [レイテンシを調査] を選択して、Gemini Cloud Assist 調査を実行します。

クエリの詳細

[クエリの詳細] ページで AI アシスタントを使用して、低速なクエリのトラブルシューティングを行うこともできます。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [Query Insights] をクリックして [Query Insights] ダッシュボードを開きます。
  4. [Query Insights] ダッシュボードで、[上位のクエリ] で表示するクエリをクリックします。[クエリの詳細] ページが表示されます。
  5. Cloud SQL Enterprise Plus エディションの場合、Cloud SQL がクエリの異常を検出すると、[クエリの詳細] ページに次のインジケーターの 1 つ以上が表示されます。
    • 詳細画面に「This query is slower than usual」というメッセージと [調査] オプションが表示されます。
    • [クエリ レイテンシ] グラフの「Query slower than usual」というメッセージ。このメッセージが表示されたら、[調査] ボタンをクリックして、Gemini Cloud Assist の AI アシスタントによるトラブルシューティングを開始します。

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

      • 問題。調査中の問題の説明(調査の開始時間と終了時間を含む)。
      • 観察。問題に関する観察結果のリスト。たとえば、クエリのロック待機率が予想よりも高いなど、ロック競合の詳細が含まれます。
      • 仮説。実行速度の遅いクエリに対処するために AI が推奨するアクションのリスト。
  6. 省略可: [期間フィルタ] を使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。[クエリの詳細] ページの [期間フィルタ] または他のフィルタ([データベース]、[ユーザー] など)を調整すると、Cloud SQL は異常検出を再実行します。
  7. Cloud SQL がクエリの異常を検出しない場合は、[クエリのレイテンシ] カードの [調査] ボタンをクリックして、クエリの分析を実行できます。

クエリのレイテンシを分析する

AI アシスタントを使用すると、クエリのレイテンシの詳細を分析してトラブルシューティングできます。

分析期間

分析期間は、[Query Insights] ダッシュボードの [データベースの負荷] グラフまたは [クエリの詳細] ページで選択した期間の終了前の 24 時間で構成されます。Cloud SQL は、この期間を使用して、ベースライン指標と異常の期間中に取得された指標を比較します。

[クエリの詳細] ページで、Cloud SQL Enterprise Plus エディションの場合、Cloud SQL がクエリの異常を検出した場合、[Query Insights] ダッシュボードからクエリを選択すると、Cloud SQL は異常の終了から最後の 24 時間を使用してクエリのベースライン パフォーマンス分析を実行します。Cloud SQL がクエリの異常を検出しなかった場合、クエリに対して異常検出を再度実行します。この場合、Cloud SQL は、選択した期間終了の 48 時間前を分析期間のパフォーマンス ベースラインとして使用します。

異常が検出された期間

検出された異常期間は、Cloud SQL Enterprise Plus エディションのインスタンスにのみ適用されます。

異常が検出された期間は、Cloud SQL がクエリのパフォーマンスの異常な変化を検出した期間を表します。Cloud SQL は、分析期間中にクエリに対して測定されたベースライン パフォーマンスを使用します。

選択した期間内にクエリに対して複数の異常が Cloud SQL によって検出された場合は、最後に検出された異常が使用されます。

ブロックされたアクティブ クエリ

特定のアクティブ クエリがブロックされている場合や、想定よりもはるかに長く実行されている場合は、他の依存クエリがブロックされる可能性があります。

Cloud SQL では、特定の長時間実行クエリまたはブロックされたアクティブ クエリを終了できます。

詳細については、ブロックされたアクティブなクエリをご覧ください。

クエリのパフォーマンスに関するプロンプトの例

Gemini Cloud Assist を使用してプロンプトを入力し、クエリのパフォーマンスを改善することもできます。Gemini Cloud Assist は、選択した Cloud SQL インスタンスとデータベースに関する質問に回答します。

プロンプト レスポンスの種類
データベース内のレイテンシ別の上位のクエリは何ですか?
  • レイテンシ別に並べ替えられたクエリの概要。Gemini は、Query Insights データベースの負荷グラフで選択した期間フィルタでレスポンスのスコープを設定します。
  • レイテンシでクエリを特定して並べ替える方法に関するガイダンス。
このデータベース インスタンスで最も遅いクエリはどれですか? レイテンシ別の最も遅いクエリを特定する方法に関するガイダンス。

高いデータベース負荷のトラブルシューティング

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

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

インスタンスの概要ページ

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

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [概要] ページの [グラフ] メニューで、データベースの指標を選択します。任意の指標(CPU 使用率など)を選択できます。
  4. 省略可: 特定の分析期間を選択するには、[期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、30 日、またはカスタム範囲を選択します。

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

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

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

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

Query Insights ダッシュボード

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

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

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

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

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

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

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

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

分析期間

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

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

指標分析

Cloud SQL で分析を開始すると、次の指標を含むさまざまな指標に大幅な変化がないかどうかが確認されます。

  • 秒間クエリ数(QPS)
  • CPU
  • メモリ
  • ディスク I/O

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

推奨事項

Gemini Cloud Assist が分析を完了すると、[調査の詳細] ペインの [仮説] セクションに、問題の修復に役立つ実用的な分析情報が一覧表示されます。

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

システム パフォーマンスに関するプロンプトの例

Gemini Cloud Assist を使用してプロンプトを入力し、システムのパフォーマンスに関する情報を収集することもできます。Gemini Cloud Assist は、選択した Cloud SQL インスタンスに関する質問に回答します。

プロンプト レスポンスの種類
過去 7 日間のこのデータベース インスタンスのエラーログ エントリはいくつありますか? 重大度のタイプ別にグループ化されたログエントリの概要。Gemini は、インスタンスのパフォーマンス グラフで選択した期間フィルタでレスポンスのスコープを設定します。
今日の午後 2 時頃、このデータベース インスタンスの CPU 使用率はどのくらいでしたか? 指標の結果は、期間内の CPU 使用率のパーセンテージ範囲です。

接続に関する問題のトラブルシューティング

接続の問題のトラブルシューティングは、Gemini Cloud Assist を使用するか、接続エラーが発生したときに調査を開始することで開始できます。AI アシスタンスは、クライアントが Cloud SQL データベースに接続しようとしたときに問題が発生する理由を特定するために、複数のソースを評価します。

接続に関する問題を調査する

AI アシスタンスを使用して接続の問題のトラブルシューティングを行うには、次の操作を行います。

  1. Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [AI を活用したトラブルシューティングでデータベースの問題を解決する] ペインで、[調査を探索] をクリックします。
  4. [調査オプション] ウィンドウで、[接続の使用状況] セクションを探します。
  5. 省略可: [期間] フィルタを使用して、1 時間、6 時間、1 日、7 日、またはカスタム範囲のいずれかの特定の分析期間を選択します。
  6. [調査] をクリックします。

    Gemini は、インスタンスのメタデータ、ログ、ネットワーク構成の自動分析を開始します。分析が完了すると、[調査の詳細] ペインに次のセクションが表示されます。

    • 問題: 接続障害の概要(影響を受けるリソースとタイムスタンプを含む)。
    • モニタリング結果: データベースが max_connections の上限に達したときや、アクティブな同時接続がインスタンス メタデータと相互参照されたときなどのシグナルから収集された証拠。証拠を使用して、トラフィックの急増や未終了のセッションがインスタンスのダウンタイムの原因であるかどうかを判断できます。
    • 仮説: AI によって生成された根本原因と修復手順。

接続に関する問題のプロンプトの例

Gemini Cloud Assist を使用して、クライアントと Cloud SQL インスタンス間の接続に関する問題のトラブルシューティングを行うこともできます。

プロンプト レスポンスの種類
接続エラーが表示されるのはなぜですか? Gemini はデータベースへの接続を評価し、マネージド接続プーリングの有効化などの改善策を推奨します。

インデックスの推奨事項を取得する

Query Insights で Cloud SQL からインデックスの推奨事項を取得できます。インデックスの推奨事項の取得について詳しくは、インデックス アドバイザーを使用するをご覧ください。

インデックスの推奨事項に関するプロンプトの例

Gemini Cloud Assist を使用して、データベースでインデックスを使用する方法に関する詳細情報を取得します。Gemini Cloud Assist は、選択した Cloud SQL インスタンスに関する質問に回答します。

プロンプト レスポンスの種類
過去 7 日間に実行されたクエリのインデックスの推奨事項を表示します。 インデックスのメリットを享受できるクエリの種類に関するガイダンス。

アクティブなクエリをモニタリングする

[Query Insights] ダッシュボードを使用してアクティブなクエリをモニタリングし、必要に応じて長時間実行プロセスを終了します。詳細については、アクティブなクエリをモニタリングするをご覧ください。

アクティブなクエリ プロンプトの例

Gemini Cloud Assist を使用して、レイテンシや CPU 負荷が高いクエリの詳細を確認します。Gemini Cloud Assist は、選択した Cloud SQL インスタンスに関する質問に回答します。

プロンプト レスポンスの種類
データベースで現在実行されている上位のクエリは何ですか? 最も実行時間の長いクエリと最もリソース使用量の多いクエリを見つける方法に関するガイダンス。

次のステップ