Log Analytics 構成のトラブルシューティング

このドキュメントでは、Google Cloud コンソールの [Log Analytics] ページを使用するときに発生する可能性のあるエラーを解決する方法について説明します。

エラー メッセージ

このセクションでは、表示される可能性のあるエラー メッセージと、対応するエラー状態を解決する方法について説明します。

No completion signal within allotted timeframe エラー メッセージ

SQL クエリを入力し、[クエリを実行] を選択します。クエリが完了せず、次のエラー メッセージが表示されます。

The query failed to execute and return results due to error: No completion signal within allotted timeframe.

このエラーを解決するには、以下のいずれかを行います。

  • ログがクエリされる期間を短くしてから、クエリを再試行します。 たとえば、クエリ間隔が 14 日の場合は、間隔を 7 日に短縮してからクエリを実行します。

  • リンクされた BigQuery データセットを作成し、BigQuery インターフェースからクエリを実行します。BigQuery インターフェースでは、Cloud Logging インターフェースよりも実行時間が長いクエリがサポートされています。詳細については、BigQuery を使用してログをクエリするをご覧ください。

FROM clause must contain exactly one view エラー メッセージ

Google Cloud コンソールの [Log Analytics] ページのクエリペインに SQL クエリを入力しますが、SQL パーサーは次のエラーを表示します。

FROM clause must contain exactly one log view

上記のエラーは、FROM ステートメントで指定されたテーブルを特定のログビューに対して解決できない場合に報告されます。

このエラーを解決するには、テーブル名の構文が正しいことを確認してください。

  • テーブル名がログ分析の命名規則で必要な構文に従っていることを確認します。BigQuery とログ分析では、テーブル名の要件が異なります。テーブル名に必要な構文は、デフォルトのクエリを表示することで確認できます。

  • ログバケットの Google Cloud プロジェクト ID、リージョン、バケット ID、またはビュー ID にピリオド((.))が含まれている場合は、各フィールドが単一バッククォート((`))で囲まれていることを確認します。

    たとえば、Google Cloud プロジェクト ID が example.com:bluebird の場合、_Default ログバケットの _AllLogs ビューをクエリするには、次の構文を使用してテーブルを指定します。

    
    SELECT *
    FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`
    

    上記のクエリでは、_Default バケットが global リージョンにあることが前提とされています。

クエリを保存できない

SQL クエリを入力して実行し、 [保存] が無効になっている場合は、組織またはフォルダのデフォルトのリソース設定により、組織のポリシー許可されていないロケーションが定義されます。この問題を解決するには、組織の管理者に、組織のポリシーで許可されているロケーションと一致するロケーションをデフォルトのリソース設定で定義するよう依頼してください。詳しくは、組織とフォルダのデフォルト設定を構成するをご覧ください。

[保存] ボタンが有効になっているが、ダイアログを完了してクエリを保存できない場合は、次の手順を行います。

  1. クエリに構文エラーが含まれていないことを確認します。 保存できるのは有効なクエリのみです。
  2. 省略可: クエリをクリップボードにコピーします。
  3. ページを再読み込みします。
  4. クエリをクリップボードにコピーした場合は、クエリを [クエリ] ペインに貼り付け、クエリを実行してから保存を行います。

[Log Analytics] ページへのアクセスが拒否された

Google Cloud コンソールで [Log Analytics] ページを開くと、権限拒否のエラー メッセージが表示されます。

[ログ分析] ページの読み込み、クエリの実行およびログの表示に必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

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

[ログ分析] ページでログエントリを表示してクエリを実行するために必要な権限は、[ログ エクスプローラ] ページでログを表示するために必要な権限と同じです。ユーザー定義バケットに対するビューのクエリ実行、または _Default ログバケットの _AllLogs ビューのクエリ実行のために必要な追加のロールについて詳しくは、Cloud Logging のロールをご覧ください。

Log Analytics を使用するためのログバケットのアップグレードが失敗する

ログバケットを作成して、Log Analytics を使用するオプションを選択するか、既存のログバケットをアップグレードして、Log Analytics を使用します。次のようなエラー状態でアップグレードに失敗します。

Failed precondition (HTTP 400): Constraint "my-constraint" violated for PROJECT_ID  with location global.

上記のエラー メッセージは、使用可能なリージョンを制限する組織のポリシーが組織によって構成されていることを示しています。Log Analytics を使用するようにアップグレードできるログバケットは、global リージョンを使用する必要があります。global リージョンの使用を制限する組織のポリシーを削除できる場合は、ログバケットをアップグレードできます。そうでなければ、ログバケットをアップグレードできません。

リンクされた BigQuery データセットの作成に失敗する

ログバケットを編集してリンクされた BigQuery データセットを作成するか、新しいログバケットを作成して、リンクされたデータセットを作成するオプションを選択しますが、リンクされたデータセットが作成されません。

このエラーを解決するには、次の権限を含む IAM ロールの付与を Google Cloud プロジェクトのシステム管理者に依頼してください。

  • logging.links.create

上記の権限は、Logging 管理者(roles/logging.admin)のロールとログ構成書き込み(roles/logging.configWriter)のロールに含まれています。

ロールと権限の詳細については、IAM によるアクセス制御をご覧ください。

リンクされた BigQuery データセットの削除に失敗する

リンクされたデータセットは不要になりましたが、そのデータセットを削除するオプションが無効になっています。

このエラーを解決するには、次の権限を含む IAM ロールの付与を Google Cloud プロジェクトのシステム管理者に依頼してください。

  • logging.links.delete

上記の権限は、Logging 管理者(roles/logging.admin)のロールとログ構成書き込み(roles/logging.configWriter)のロールに含まれています。

この権限があると、Google Cloud コンソールの [ログストレージ] ページからリンクされたデータセットを削除できます。ロールと権限の詳細については、IAM によるアクセス制御をご覧ください。