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 ステートメントで指定されたテーブルを特定のログビューに対して解決できない場合に報告されます。

このエラーを解決するには、テーブル名に適切な構文があることを確認します。

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

  • ログバケットの 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] ページを開くと、権限拒否のエラー メッセージが表示されます。

[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 データセットを作成するか、新しいログバケットを作成して、リンクされたデータセットを作成するオプションを選択しますが、リンクされたデータセットが作成されません。

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

  • logging.links.create

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

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

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

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

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

  • logging.links.delete

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

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