查看日志(经典版)

本指南介绍了如何使用 Cloud Logging 日志查看器(经典版)搜索日志及查看日志条目。

准备工作

无需工作区即可使用 Logging,除非您要向 Logging 发送来自 Amazon Web Services (AWS) 的日志。

日志查看器显示单个 Google Cloud 项目的日志。如果您使用的是工作区,则 Logging 不会合并多个受监控项目的日志。您必须选择特定项目才能查看其日志。

如果您使用的是工作区和 AWS,请选择 AWS 连接器项目以查看 AWS 日志。

如果您通过 BindPlane 提取本地日志和混合云日志,则可以在 generic_node 资源类型下找到这些日志。

使用入门

  1. 转到 Cloud Console 中的 Logging > 日志(日志查看器)页面:

    转到“日志查看器”页面

  2. 在页面顶部选择一个现有 Google Cloud 项目,或者创建一个新项目。

  3. 使用下拉菜单选择您要查看其日志的资源。

如果您没有看到任何日志,请参阅下文的问题排查部分。

日志查看器查询界面

日志查看器中有两种查询界面:

  • 基本查询界面 - 用于通过菜单选择日志,具有简单的搜索功能。
  • 高级查询界面 - 用于查看来自多个日志的日志条目,并具有更复杂的搜索功能。

在上述任一界面中,您都可以使用搜索查询框最右侧的下拉箭头 (▾) 在两个界面之间进行切换。

下面的屏幕截图显示了日志查看器的基本查询界面布局。此屏幕截图显示了来自 App Engine 应用的日志条目:

日志查看器

基本查询界面包含以下几大部分(如上方屏幕截图中的红色数字所示),其中一些与高级查询界面相同:

  1. 窗口标签页 - 供您查看日志(“日志查看器”页面),或选择其他 Logging 功能:指标(请参阅基于日志的指标)、导出(请参阅使用日志查看器导出)和日志提取(请参阅日志排除项)。
  2. 基本查询界面中的搜索查询框 - 供您按标签或通过文字搜索查询日志条目。系统显示的是基本查询,而您可以通过最右侧的下拉箭头 (▾) 切换到高级查询界面或获取指向您的查询的链接。日志查询在界面中被标记为“过滤条件”,因为借助它们可以选择一组特定的日志条目。
  3. 基本选择器菜单 - 供您选择要显示的资源、日志和严重级别:

    • 资源:您当前项目中的可用资源。
    • 日志:您的项目中当前资源提供的日志类型。
    • 日志严重性:日志严重级别。
  4. 时间范围选择器下拉菜单 - 供您查询特定日期和时间范围的日志。

  5. 页面顶部的流式显示选择器 - 用于控制是否在收到新的日志条目时显示该条目。

  6. 日志条目表 - 包含符合当前查询和自定义字段的日志条目。

  7. 每个日志条目前面的展开箭头 (▸) - 供您查看相应条目的完整内容。如需了解详情,请参阅展开日志条目

  8. 位于最右侧的查看选项菜单 - 包含其他显示选项。

  9. 位于最右侧的下载日志菜单 - 供您下载一组日志条目。如需了解详情,请参阅下载日志条目

  10. 对每个日志条目都会显示的更多 (⋮) 选项 - 供您在日志条目上添加图钉、在其资源上下文中显示日志条目,以及将日志条目的网址复制到剪贴板。

最后,日志查看器使用游标位置突出显示相关的日志条目,并在更多 (⋮) 旁边显示一个图钉 (📌) 符号。

滚动和流式显示日志

首次打开日志查看器时,您会看到足以占满屏幕的最新日志条目。滚动浏览日志条目时,日志查看器将尝试获取更多条目。您可通过日志上下方的黄色长条确定是否有更多日志条目。

屏幕顶部的图标可控制何时刷新日志:

  • 点击刷新图标 () 可检索最新日志;向下滚动即可显示这些日志。
  • 点击播放图标 () 可流式显示最新日志。如果您选中某个日志条目或者滚动显示日志,流式显示便会停止。
  • 点击暂停图标 () 可停止流式显示。

滚动到某个时间

您可以使用搜索查询框下方的时间范围选择器菜单,按日期和时间查询日志条目。

时间范围选择器

默认选项为过去 1 小时。您可以使用下拉菜单选择其他时间范围或定义一个范围:

  • 选择跳转到指定时间可查询特定日期和时间的日志。
  • 选择自定义可指定自定义范围或时区。

如需显示当前日志条目,请点击跳至现在

无论何种情况下,只要进行选择都会使日志查看器刷新显示内容。然后,您可以滚动浏览并检查显示的日志条目。

如需将日期和时间重置到与最新收到的日志条目对应,请点击刷新播放图标。

更改时区

您可以为日志条目选择时区:

  1. 过去 1 小时下拉菜单中,选择自定义
  2. 点击其中一个新菜单中的展开箭头 (▾) 以打开下拉日历。
  3. 时区窗格中,选择您偏好的国家/地区和时区。

进行选择后,日志查看器会刷新显示内容并更新每个日志条目的时区:

自定义时区

展开日志条目

日志条目表默认显示每个日志条目的摘要行。

日志条目摘要行

日志条目摘要行可能包含突出显示的字段。例如,突出显示自定义字段。

摘要行中包含的字段将被选为日志条目字段的子集。如果字段满足以下一个或多个条件,系统默认会显示该字段:

  • 日志条目的类型已知(例如 App Engine 请求日志)。
  • 日志条目包含 httpRequest 字段。
  • 日志条目的一个负载包含名为 message 的字段。

如需查看某个日志条目的完整详细信息,请点击摘要行前端的展开箭头 (▸)。如需在符合当前查询内容的所有日志条目的结构化视图中查看完整详细信息,请点击最右侧的查看选项菜单,然后选择全部展开

“查看选项”菜单

选择全部收起即可收起展开的所有日志条目详细信息。

展开日志条目的摘要行后,日志查看器会显示结构化 (JSON) 表示法:

结构化请求日志条目

如需了解日志条目中的字段,请参阅 LogEntry 类型。

添加自定义字段

自定义字段是日志条目中那些您可以指定要包含在摘要行中的字段。系统会填充这些字段并以蓝色突出显示,前提是您的日志条目中存在相应字段。

摘要行中的自定义字段

您可以通过以下两种方式向日志条目表摘要行添加自定义字段:

  • 展开的日志条目中,点击使用 JSON 表示法的某个字段。在由此显示的面板中,选择向摘要行添加字段

向摘要行添加字段

  • 在日志查看器右上角的查看选项菜单中,选择添加自定义字段(如果此项目中已有自定义字段,此选项将为修改自定义字段)。在由此显示的面板中,添加所需的 JSON 键,然后点击保存。您可以添加多个键,使用英文逗号分隔即可。如需对摘要行中的自定义字段重新排序,请对此面板中的文本重新排序,然后点击保存

向摘要行添加 JSON 字段

您可以通过两种方式从日志条目表摘要行中移除自定义字段:

  • 在包含要移除的自定义字段的任一摘要行中,点击相应字段,然后选择从摘要行中移除字段
  • 在日志查看器右上角的查看选项菜单中,选择修改自定义字段。在由此显示的面板中,删除要移除的 JSON 键,然后点击保存

自定义字段将添加到当前网址中,只要您使用该网址或者位于同一个浏览器会话中,自定义字段就会一直显示。自定义字段无法在全局级别设置,也无法针对某个用户或某个 Google Cloud 项目保存。

默认字段无法从日志条目表中移除。

固定日志条目

如果您已确定一个感兴趣的日志条目并希望调查附近的条目,则可以在该日志条目上添加一个图钉。固定该日志条目后,您可以更改查询,然后日志查看器会自动将搜索集中在固定条目周围。通过固定,您可以在自定义的查询指定的上下文中检查日志条目。日志被固定后,其背景将会变化并会显示一个图钉:

固定的日志条目

如需固定日志条目,请点击其图钉或点击更多 (⋮) 并选择固定此日志条目

为日志条目添加图钉后,该图钉仅对您可见。查看同一日志条目的任何其他用户都不会看到您的图钉,他们的视图也不会进行任何方式的修改。

固定日志条目不会更改查询界面和查询设置,也不会刷新显示的内容。您可以确定查询设置以及刷新日志查看器显示内容的时间。您可以根据需要修改查询设置并刷新显示内容任意次数,而不会影响固定设置。

固定日志条目将停止流式显示功能(如果目前已启用)。

固定某个日志条目后,您可以更改固定的条目或取消固定:

  • 如需固定其他日志条目,请在新日志条目上点击其图钉图标或点击更多 (⋮) 并选择转为固定此日志条目

  • 如需取消固定日志条目,请点击其图钉符号或点击更多 (⋮),然后选择取消固定此日志条目

如果在固定日志条目后启用流式显示功能,则日志查看器将移除图钉。

显示相似日志

您可以在展开的日志条目视图中点击单个字段的值,然后显示或隐藏包含该值的所有日志条目:

显示匹配条目

执行此操作后,日志查看器会切换到高级查询界面。如需修改搜索条件,请修改查询,然后点击提交过滤条件。如需了解详情,请参阅高级查询界面

此外,您可以关联 App Engine 请求日志条目,然后在嵌套结构中查看这些日志条目。如需了解详情,请参阅查看相关请求日志条目并选择您的运行时语言。

显示延迟时间详情

App Engine 请求日志新增了一项功能,即日志查看器提供了指向 Cloud Trace 的链接,方便用户查看日志条目的延迟时间详情。

如需显示日志条目的延迟时间相关选项菜单,请识别 protoPayload.latency 字段:

显示 protoPayload.latency

点击延迟时间值:

显示延迟时间选项

菜单中的前两个选项将显示的日志条目限制为延迟时间更高或更低的日志条目。菜单中的最后一个选项将日志条目限制为包含 Cloud Trace 可查看的跟踪记录详情的日志条目。具体而言,最后一个选项将日志条目限制为启用了查看跟踪记录详情的日志条目。

在 Cloud Trace 中查看延迟时间详情

对于某些 App Engine 请求日志,系统将启用查看跟踪记录详情选项。如果此选项已启用,点击它即可打开 Cloud Trace 并显示相应日志条目的延迟时间详情:

显示跟踪记录时间轴

在资源上下文中显示

如果您已确定一个感兴趣的日志条目并希望确定同一资源类型相关的其他日志条目,请点击该行最右侧的更多 (⋮),然后选择在资源上下文中显示选项:

显示上下文

为响应您的操作,日志查看器将执行以下操作:

  1. 固定此日志条目
  2. 切换到高级查询界面,并使用该资源类型的查询替换该查询内容。
  3. 刷新显示的内容。固定的日志条目会显示在显示内容的底部。

在上下文中显示

共享日志条目

若要共享日志条目,请点击更多 (⋮),然后选择将指向日志条目的链接复制到剪贴板。此操作会使日志查看器为该日志条目生成唯一的网址,并将此网址复制到剪贴板中。

选择日志

使用菜单和搜索查询框查找您要查看的日志:

  • 选择一个资源类型以及要查看其日志的实例。您可以查看相应资源类型的所有实例,也可以选择特定实例。在上方的屏幕截图中,我们选择的是 GCE 虚拟机实例(所有实例)。如需资源类型的列表,请参阅受监控的资源列表

  • 在第 2 个菜单中选择要查看的已命名日志,或者选择所有日志。该菜单将显示所选资源实例正在使用的日志。

  • 在第 3 个菜单中选择要查看的最低严重级别。选择任何日志级别还会显示尚未指定严重级别的日志条目。

  • 在第 4 个菜单中选择要查看的时间范围,或者在第 5 个菜单中选择跳至现在

更改菜单选项后,您会看到匹配的日志条目。

菜单说明

  • 菜单中只显示项目中出现的资源类型、实例和日志名称。添加新的资源类型或实例或者写入到新日志后,菜单可能需要一小段时间才会更新。

  • 在基本查询界面中,一次只能查看一种资源类型的日志条目。高级查询界面则支持多种资源类型。

  • 如果您浏览到当前保留期限之前的某个时间,则不会看到任何日志。如需了解详情,请参阅日志保留期限

下载日志条目

只需点击几下,您就能以 JSON 或 CSV 格式下载存储在日志查看器工作内存中的所有日志条目。考虑到性能原因,日志查看器会尝试一次加载 100 个日志条目,并在其工作内存中保留不超过 300 个日志条目。这些值不可配置。

如需下载日志条目,请点击日志查看器右上角的下载日志菜单。在下载对话框中,为日志条目格式选择 JSON 或 CSV,然后点击下载

显示下载详情

若要在网页中查看 JSON 或 CSV 格式的日志条目,请按照与下载相同的步骤操作,但选择在新标签页中查看

使用日志查看器进行搜索

您可以在基本和高级查询界面中使用查询进一步缩小搜索范围。高级查询界面的大部分功能都与基本查询界面相同,但它的搜索功能更为复杂。

基本查询和高级查询之间的区别

基本查询界面和高级查询界面的语法不同。基本查询界面是基于假设构建的,例如,所有搜索条件都不区分大小写,而高级查询界面却区分大小写。

以下几个部分将重点介绍这两个界面之间语法的主要区别。

关键字“text:”

日志查看器在基本查询中显示文本搜索条件时,会在文本前面添加标签 text:。请勿在高级查询中使用 text: 标签。

下表显示了等效的文本搜索条件:

日志查看器基本查询 具有相同含义的高级日志查询
text:"one two" "one two"
text:three three
text:n=5 "n=5"(需要加英文引号)

如果您在高级查询中不小心使用了 text:,则会在名为 text 的字段中搜索匹配项,但该字段不存在。

字段名称

基本查询界面的特定日志(包括 App Engine 请求日志)具有内置字段名称。高级查询中不存在这些字段名称。

下表显示了 App Engine 请求日志的等效字段搜索条件:

基本查询 高级查询
querystring:var=3 protoPayload.resource:"var=3"
status:400..405 protoPayload.status >= 400 AND protoPayload.status <= 405

如果您在高级过滤条件中使用 querystring:var=3,则会搜索名为 querystring 的字段,但该字段不存在。因此,日志查看器找不到任何匹配的日志条目。

子字符串匹配

在基本查询界面中,所有搜索条件都是不区分大小写的子字符串匹配。也就是说,搜索条件 text:abcsomefieldname:abc 将匹配包含 abcxyabcyxABc 的日志条目。在高级日志查询中,必须使用“包含”搜索运算符 (:) 才能达到同样的效果。

如需进行完全匹配,请使用等号运算符 (=)。比较运算 field=abc 要求 field 仅包含 abc(字母不区分大小写)。在基本查询界面中无法表示该搜索条件。

AND 与 OR

在基本查询界面中,使用同一字段名称(即 text:)的两个比较等式通过 OR 隐式连接,而具有不同标签的比较等式则通过 AND 连接。在高级日志查询中,除非明确指定使用 OR,否则所有比较等式均由 AND 连接。此外,您还可以使用英文括号对比较等式进行分组。下表显示了两种查询界面中的等效搜索条件:

基本查询搜索 高级查询搜索
text:abc querystring:def text:xyz protoPayload.resource:"def" AND ("abc" OR "xyz")

搜索效果

下面的一些提示可用于提升搜索效果:

  • 搜索已编入索引的字段的特定值,例如日志条目的名称、资源类型和资源标签。在基本查询界面中,您可以使用菜单选项执行此操作。在高级查询界面中,请使用如下条件:

    resource.type = "gce_instance"
    logName = "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
    resource.labels.module_id="default"
    resource.labels.instance_id="1234567890"
    
  • 在子字符串搜索条件的基础上选择完全匹配。尤其是对于已编入索引的字段,部分匹配速度会比较慢。在基本查询界面中,所有文本搜索条件都是部分匹配。在高级查询界面中,最好使用等式运算符 (=) 进行测试,不要使用“包含”运算符 (:)。

  • 缩短搜索的时间段。在基本查询界面中无法执行此操作,但您可以在高级查询界面中指定时间范围:

    timestamp >= "2016-11-29T23:00:00Z" AND timestamp <= "2016-11-29T23:30:00Z"
    

如需详细了解搜索效果,请参阅快速查找日志条目

已保存的搜索

您可以将基本或高级日志过滤搜索保存到“已保存的搜索”库中,并为该搜索命名和添加说明。基本过滤条件在保存到“已保存的搜索”库后,会转换为高级过滤条件。您可以命名、管理和分享库中保存的搜索。对于每个 Google Cloud 项目,每位用户最多只能保存 100 个搜索。

若要创建已保存的搜索,请完成以下步骤:

  1. 通过创建高级日志过滤条件过滤出要保存的日志。

  2. 点击保存搜索

    “保存的搜索”按钮

  3. 为您创建的过滤条件命名并添加相关说明,然后点击保存到库

    过滤条件预览窗格显示已保存搜索的过滤条件。

查看已保存的搜索

如需查看您已保存的搜索,请点击显示库

“已保存的搜索”库

修改已保存的搜索

若要应用已保存的过滤条件、删除过滤条件或预览其表示法,请完成以下步骤:

  1. 点击显示库,查看您保存的搜索。

  2. 如需预览或删除已保存的搜索,请点击更多

    修改已保存的搜索

    创建已保存的搜索后,您将无法更改其过滤条件。如果您想更改已保存搜索的过滤条件,请删除已保存的搜索,然后根据所需条件创建新的已保存搜索。

分享已保存的搜索

您可以与拥有项目的 Cloud Identity and Access Management 权限的用户分享您保存的搜索。

如需分享已保存的搜索,请完成以下步骤:

  1. 点击显示库,查看您保存的搜索。

  2. 点击更多 ,然后点击预览

  3. 点击复制指向过滤条件的链接

    分享已保存的搜索

问题排查

本部分提供了相关说明介绍如何排查在与日志查看器交互或在其中搜索日志时出现的常见问题。

Google Cloud 项目选择

如需从 Google Cloud Console 中的任何位置选择 Google Cloud 项目(包括从日志查看器中选择),请使用页面顶部的项目选择器:

GCP Console 项目选择器

Google Cloud 项目 ID

如需从 Google Cloud Console 中的任意位置检索 Google Cloud 项目 ID(包括从日志查看器中检索),请展开页面顶部的项目列表并在 ID 列中查找:

GCP Console 项目 ID 信息

没有任何日志!

如果您没有看到任何日志,请执行以下检查:

  • 是否在页面顶部选择了正确的项目? 如果答案是否定的,请使用页面顶部的下拉菜单选择正确的项目。您必须选择要查看哪个项目的日志。

  • 您的项目是否有活动? 即使项目是全新的,也应该有记录项目已创建这一事实的活动或审核日志。您可以按快速入门的说明操作一遍,以获取更多日志。

  • 时间范围是否过窄?您可以使用搜索查询框下方的下拉菜单选择其他时间范围或定义自定义范围。选择跳转到指定时间即可查询特定日期和时间的日志,也可以使用跳至现在菜单查看当前的日志条目。

  • 时间范围不正确? 如果您要编写包含时间戳的查询,则必须从搜索查询框下方的时间范围选择器中选择无限制

我的搜索条件不起作用!

如果您不确定为什么您的搜索条件在基本查询界面中无效,请暂时切换到高级查询界面:

  1. 选择搜索查询框末尾的 &blacktriangledown; 菜单中的转换为高级过滤条件
  2. 查看高级查询,确定它是否符合您的需求。
  3. 使用浏览器的返回按钮返回基本查询界面。

下面列出了可能会导致您无法看到预期的所有日志条目的其他原因:

  • 您无法看到早于 Logging 保留期限的日志条目。如需了解有效的日志保留期限,请参阅日志保留期限

  • 在高负载时段内,将日志发送到 Logging 或者接收及显示日志的过程可能存在延迟。

  • 日志查看器不会显示带有未来时间戳的日志条目,直到当前时间“赶上”这些时间戳后才会显示。这种情况并不常见,可能是由发送日志的应用中的时间偏差引起的。

后续步骤