排查 Log Analytics 配置问题

本文档介绍了如何解决使用 Google Cloud 控制台的日志分析页面时可能发生的错误。

错误消息

本部分介绍了您可能会看到的错误消息,以及如何解决相应的错误情况。

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 控制台的日志分析页面的查询窗格中输入了 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. 如果您已将查询复制到剪贴板,然后将查询粘贴到 Query 窗格中,运行查询,然后执行保存操作。

访问“日志分析”页面被拒

您在 Google Cloud 控制台中打开日志分析页面,此时系统会显示“权限遭拒”错误消息。

如需获取加载日志分析页面、运行查询和查看日志所需的权限,请让管理员授予您项目的以下 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 Admin (roles/logging.admin) 和 Logs Configuration Writer (roles/logging.configWriter) 角色中包含先前的权限。

如需了解角色和权限,请参阅使用 IAM 进行访问权限控制

未能删除关联的 BigQuery 数据集

您不再需要关联的数据集,但会停用用于删除该数据集的选项。

如需解决此错误,请让 Google Cloud 项目的系统管理员授予您包含以下权限的 IAM 角色:

  • logging.links.delete

Logging Admin (roles/logging.admin) 和 Logs Configuration Writer (roles/logging.configWriter) 角色中包含先前的权限。

此权限允许您从 Google Cloud 控制台的日志存储页面中删除关联的数据集。如需详细了解角色和权限,请参阅使用 IAM 进行访问权限控制