在自定义信息中心内显示日志和错误

本文档介绍了如何在自定义信息中心内显示日志数据和错误数据。

如需显示日志数据,您可以向信息中心添加以下微件:

  • 如需显示当前 Google Cloud 项目中的最新日志条目,请添加日志面板 widget。您还可以配置日志面板,以显示存储在 Google Cloud 项目中可通过当前指标范围访问的日志条目。

  • 如需识别日志数据中的模式和趋势,请添加显示 SQL 查询结果的 Log Analytics 图表微件。

如需显示错误组,您可以添加错误报告面板。错误报告面板会显示单个 Google Cloud 项目的最新错误组。

将日志面板和错误报告面板添加到自定义信息中心后,您可以在指标所在的上下文中查看日志和错误。由于日志面板允许您过滤日志条目,因此您可以将其配置为仅显示您感兴趣的日志条目。同样,您也可以使用 Error Reporting 面板识别错误并排查失败原因。

日志浏览器和日志面板

日志浏览器是调查日志的标准方法。日志面板不会取代日志浏览器;相反,它提供了一种在与指标相同的上下文中查看日志条目的方法。

日志面板会在行上显示日志条目,并包含严重性、时间戳和日志条目摘要列。如需查看日志条目的 JSON 格式表示,请点击查看日志详细信息按钮。每个条目摘要的结构因日志类型而异。例如,下图显示了两个日志条目:

日志面板中的两个日志条目的图片。

在上一张照片中,第一个日志条目显示了有关服务请求的信息。摘要显示了有关服务的信息、电子邮件地址,以及条目的 JSON 结构的字符串格式版本。第二个条目显示请求的结果,仅显示一个总结所发生的操作的句子。

日志面板已经过预先配置,可显示存储在当前 Google Cloud 项目中的日志条目。但是,您可以将日志面板配置为显示当前指标范围内任何项目中存储的日志条目。

日志面板支持与日志浏览器相同的查询语言。

日志面板不支持存储空间视图。如果只能通过存储视图查看日志,请使用 Logs Explorer。如需了解存储视图,请参阅优化范围

如需了解有关 Cloud Logging 的一般信息,请参阅以下资源:

准备工作

  • 如需使用 Google Cloud 控制台获取将日志微件添加到自定义信息中心所需的权限,请让管理员授予您项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  • 信息中心最多可容纳 40 个微件。

添加和配置日志面板

本部分介绍如何使用 Google Cloud 控制台添加和配置日志面板。如需了解如何使用 Cloud Monitoring API 将日志面板添加到信息中心,请参阅包含 LogsPanel 微件的信息中心

添加日志面板

如需使用控制台将日志面板添加到信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  信息中心

    前往信息中心

  2. 选择一个信息中心,或点击创建信息中心
  3. 在工具栏中,点击  添加微件
  4. 添加微件对话框中,选择  日志
  5. 可选:更新默认配置:

    1. 添加标题。

    2. 如需显示多个 Google Cloud 项目(而不仅仅是当前项目)的日志,请点击 项目,然后进行选择。

    3. 如需限制日志面板显示的日志,请在查询编辑器字段中输入查询。

    如需详细了解前面的步骤,请参阅配置日志面板

  6. 如需将更改应用于信息中心,请在工具栏中点击 Apply。如需舍弃更改,请点击取消

  7. 要保存修改后的信息中心,请在工具栏中点击保存

默认情况下,日志面板会显示日志条目表。您可以使用严重程度菜单和过滤栏设置暂时更改显示的日志。您还可以使用指针修改日志面板的大小和位置。

配置日志面板

日志面板已预先配置为显示当前 Google Cloud 项目中存储的所有日志条目。但是,您可能只对指示某种错误情况的日志条目感兴趣,或者您可能想要查看多个项目的日志。本部分介绍如何修改日志面板的默认配置。

要配置标题、显示日志的项目列表或者要输入查询,请执行以下操作:

  1. 将指针放在日志面板上以激活工具栏,然后选择  修改 widget

    以下屏幕截图是配置窗格的示例:

    日志面板配置窗格示例。

  2. 可选:添加标题,系统会在日志面板上显示。

  3. 可选:如需显示多个 Google Cloud 项目的日志,请点击 项目,然后进行选择。

    默认情况下,系统仅显示当前 Google Cloud 项目中的日志条目。但是,日志面板可以显示可通过当前指标范围访问的任何 Google Cloud 项目的日志。

    您无权查看 Google Cloud 项目的日志,项目菜单将显示消息“您无权查看此项目中的日志”。如需解决权限错误,请与您的系统管理员联系,让他们授予您项目的 Logs Viewer (roles/logging.viewer) 角色。

  4. 可选:如需限制日志面板显示的日志,请在查询编辑器字段中输入查询。

    如果您已停用自动运行查询的功能,请在输入查询后点击运行查询

    要填充查询编辑器字段,您可以在字段中输入文本,也可以从菜单中选择。查询编辑器字段使用与日志浏览器相同的查询语言。如需了解问题排查信息,请参阅语法问题

    严重级别日志名称菜单允许您选择多个选项。以下是与多个严重级别匹配的查询语句示例:

     severity=(WARNING OR ERROR OR CRITICAL OR ALERT OR EMERGENCY)
    

    在您选择一个资源后,资源菜单会激活另一个菜单和添加按钮。此菜单可让您选择资源类型、特定资源类型的服务,或资源类型的服务的方法。例如,如需为已审核的资源类型添加子句,请选择已审核的资源,然后选择添加。这些步骤会将以下子句添加到查询编辑器字段中:

     resource.type="audited_resource"
    

    同样,如需为特定的已审核服务添加子句,请选择已审核的资源,从所有服务菜单中选择该服务,然后选择添加。以下是使用此方法创建的子句的示例:

     resource.type="audited_resource" resource.labels.service="bigquery.googleapis.com"
    
  5. 可选:将模板变量应用到日志面板。如需了解详情,请参阅向自定义信息中心添加临时过滤条件对 widget 应用永久过滤条件

  6. 如需将更改应用于信息中心,请在工具栏中点击 Apply。如需舍弃更改,请点击取消

  7. 要保存修改后的信息中心,请在工具栏中点击保存

过滤日志条目

您可以通过修改以下字段或菜单的值,修改日志面板显示的日志条目:

  • 信息中心时间选择器:该查询仅检索按此字段指定的时间间隔写入的日志条目。

  • 日志面板上的过滤条件字段:您指定的过滤条件将在查询完成后应用。系统仅为当前会话保留此字段的值。

  • 日志面板上的严重级别菜单:在查询完成后应用按严重级别进行过滤。此字段的值仅为当前会话保留。

  • 日志面板指定的查询:查询字段决定了要检索哪些日志。如果未指定查询,则检索所选时间间隔内的所有日志。如果您指定了查询,则日志面板将显示 Show query 图标,该图标会将当前查询显示为提示。

    如需修改查询,请执行以下操作之一:

    • 若要永久更改此查询,请修改日志面板。
    • 如需临时更改查询,请使用信息中心工具栏在资源标签上添加过滤条件。例如,如果您添加信息中心范围的过滤条件 cluster_name: mycluster,则查询会更新为包含 resource.labels."cluster_name"="mycluster"。如需了解详情,请参阅添加临时过滤条件添加永久过滤条件
  • 日志面板指定的 Google Cloud 项目:如需修改此设置,请修改日志面板。

本部分的其余内容提供了有关如何过滤日志条目的更多信息。

按日期过滤日志条目

如需在日志面板中显示最近的日志,请使用信息中心工具栏中的时间字段。例如,选择 1 小时。如果您未选择自定义时间范围,日志面板将始终显示最新的日志,即使这些日志早于所选时间范围也是如此。

调查突发事件时,您可能希望将日志条目限制为特定时间段内的条目。要将日志条目配置为显示固定时间段内的日志,请执行以下一项或两项操作:

  • 使用时间范围选择器选择时间范围。
  • 在配置窗格的查询编辑器字段中输入 timestamp 子句,然后选择应用过滤条件

指定时间段后,日志面板不会自动刷新。

按严重级别过滤日志条目

在监控对失败情况的调试时,您可能只想查看错误消息,并在显示结果中隐藏所有其他日志条目。如需将日志面板配置为仅显示满足特定严重级别的日志条目,请执行以下一项或两项操作:

  • 如需应用临时过滤条件,请在日志面板中为严重级别菜单选择一个值。此菜单指定最低严重级别。例如,“警告”值会使系统检索严重级别为“错误”的日志条目,但不会检索严重级别为“通知”的日志条目。默认情况下,此字段的值设置为 Default,即包括所有日志条目。

    当您离开信息中心时,严重级别菜单的设置将被舍弃。

  • 如需应用永久过滤条件,请在配置窗格的查询编辑器字段中输入 severity 子句,然后选择应用过滤条件

按字符串或短语过滤日志条目

通过按特定字符串或短语过滤日志条目,您可以从视图中排除不感兴趣的日志条目。例如,如需查看包含特定电子邮件地址的日志条目,您可以按该地址进行过滤。

  • 如需应用临时过滤条件以仅查看包含特定字词或短语的日志条目,请使用 过滤条件字段。include-test 不区分大小写。

    如果您添加多个过滤条件,则仅显示匹配所有过滤条件的日志,因为相邻过滤条件之间插入了隐式 AND。但是,您可以明确插入 OR 运算符:

    • 例如,如果添加过滤条件 GetCompute,将显示同时包含这两个字词的日志条目。

    • 例如,如果添加过滤条件 GetORCompute,将显示包含 GetCompute 的日志条目。

    过滤条件字段的值不是永久的。

  • 如需应用永久过滤条件,请修改存储在查询编辑器字段中的查询,然后选择应用过滤条件。如需了解查询语法,请参阅 Logging 查询语言

    例如,如需仅显示 MESSAGE 字段包含字符串“lamp”的日志条目,请将子句 jsonPayload.MESSAGE:"lamp" 添加到查询编辑器 字段。

配置示例

以下是一些配置示例:

  • 如需查看最近的日志,请将信息中心工具栏设置为 1 小时,将查询编辑器字段留空,并将日志面板字段保留为默认值值。

  • 如需暂时仅显示严重级别至少为“警告”的日志,请在日志面板严重级别菜单中选择警告

    当您刷新页面或离开信息中心时,日志面板严重级别菜单的值会重置为默认

  • 如需将日志面板配置为仅显示严重级别为“警告”的日志,请在查询编辑器字段中添加子句 severity=WARNING

    存储在查询编辑器字段中的查询会被保存。即使您刷新页面或重新加载信息中心,日志面板也仅显示与指定警告级别匹配的日志。

  • 如需将日志面板配置为仅显示 Compute Engine 实例日志,请在查询编辑器字段中添加子句 resource.type="gce_instance"

如果没有日志条目满足当前设置,则会显示消息“找不到与当前过滤条件相符的条目”。如果您既在查询编辑器字段中配置了查询,又设置了日志面板过滤条件,设置可能会冲突。如需了解详情,请参阅日志面板显示“找不到条目”消息

在日志浏览器中查看日志条目

日志面板显示日志条目的关键字段,而不显示完整的日志条目。如需检查日志条目的所有字段,请执行以下操作:

  1. 在日志面板中选择在日志浏览器中查看
  2. 在对话框中,选择要在其中打开日志浏览器的 Google Cloud 项目。

    日志浏览器会在新的浏览器标签页中打开,并自动应用您在日志面板中选择的过滤条件。

  3. 选择要查看的日志条目。

添加通过 Log Analytics 查询生成的图表

本部分介绍如何配置通过 Log Analytics 查询生成的图表,并将其保存到自定义信息中心。借助 Log Analytics,您可以使用 SQL 查询来搜索和汇总日志,以生成有用的数据分析。

除了使用 Log Analytics 页面配置图表并将图表保存到信息中心之外,您还可以通过以下方式直接在 Monitoring 中保存 Log Analytics 图表:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  信息中心

    前往信息中心

  2. 选择一个信息中心,或点击创建信息中心
  3. 在工具栏中,点击  添加微件
  4. 添加微件对话框中,转到数据部分,然后选择日志分析
  5. 配置微件面板中,使用 SQL 构建查询,然后点击运行查询,配置要在图表上显示的数据。
  6. 可选:在结果标签页中,使用显示面板自定义图表配置。

    显示面板中,您可以更改图表类型,还可以通过更改维度、测量和细分来自定义要绘制的行和列:

    • 维度:维度必须是时间戳、数字或字符串列。默认情况下,该维度设置为架构中第一个基于时间戳的列。如果查询中没有时间戳,则会选择第一个字符串列作为维度。您还可以在图表显示面板中自定义维度。选择时间戳列作为维度后,图表会显示数据随时间的变化。

    • 测量:您可以在图表显示面板中选择多个测量。选择测量时,您还必须选择要对其分组值执行的聚合函数,例如 countsumaveragepercentile-99。例如,count-distinct 会返回给定列中唯一值的数量。

    • 细分:如需根据另一个列将单个数据系列拆分为多个数据系列,请添加细分。

    如需详细了解如何自定义图表配置,请参阅自定义图表配置

  7. 要保存修改后的信息中心,请在工具栏中点击保存

您还可以在将 Log Analytics 图表保存到信息中心后对其进行修改。如需了解详情,请参阅修改 widget 的配置

添加错误报告面板

本部分介绍如何使用 Google Cloud 控制台添加和配置错误报告面板。如需了解如何使用 Cloud Monitoring API 将 Error Reporting 面板添加到信息中心,请参阅包含 ErrorReportingPanel widget 的信息中心

如需使用控制台将错误报告面板添加到信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  信息中心

    前往信息中心

  2. 选择一个信息中心,或点击创建信息中心
  3. 在工具栏中,点击  添加微件
  4. 添加微件对话框中,前往可视化图表部分,然后选择 Error Reporting 面板
  5. 选择已显示错误组的项目,点击 Projects,然后进行选择。
  6. 可选:更新标题。
  7. 可选:如需限制显示错误的资源,请执行以下操作:

    1. 点击 所有资源,然后选择一项资源。
    2. 选择资源后,您可以选择应用,也可以使用其他菜单来优化过滤条件:

      • 如需显示 App Engine 资源的错误,请选择 GAE 服务,然后点击应用

      • 如需显示特定 App Engine 服务的错误,请依次选择 GAE 服务和相应服务,然后点击应用

  8. 如需将更改应用于信息中心,请在工具栏中点击 Apply。如需舍弃更改,请点击取消

    以下示例展示了一个错误报告面板:

    错误报告面板配置窗格示例。

  9. 要保存修改后的信息中心,请在工具栏中点击保存

问题排查

后续步骤