Google Stackdriver(现在称为Google Cloud Operations Suite)是Google提供的一套监控、日志记录和错误报告工具,用于管理云服务和应用程序的性能。本文档介绍了如何使用日志浏览器查找、过滤和排除属于错误组的日志条目。错误组 通过分组帮助您识别环境中的趋势和反复出现的问题 包含错误的值的日志条目 例如异常类型、帧或消息
查找日志条目的错误组详情
如需跟踪应用中的重复性错误并管理其解决状态,请使用 Google Cloud 控制台的 Error Reporting 页面。Error Reporting 页面列出了错误组,包括 有关具体错误类型、错误发生次数、 以及每个群组的解决状态
Error Reporting 会自动设置 创建错误组过程中的 error_groups
ID 字段。字段 包含字母数字字符、-
和 _
。
如需查询特定错误组,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Error Reporting 页面:
您也可以使用搜索栏查找此页面。
- 点击相应错误名称。
- 在最近的示例面板中,点击任意日志条目中的查看日志,系统会将您重定向到日志浏览器页面。
-
在 Logs Explorer 中,查询编辑器字段会填充
error_groups
ID 字段。例如errorGroups.id="CJqhkd7Qvsbj2QE"
。构成该错误组的日志条目列表会显示在 查询结果窗格。
查询属于任何错误组的日志条目并查找错误 请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
-
如需查看与任何错误组关联的日志条目,请在查询编辑器字段中输入以下过滤条件:
errorGroups.id:*
-
在查询结果窗格中,选择显示
Error group 按钮的日志条目。
-
点击
错误组按钮,然后 选择查看错误组详情:
例如,以下屏幕截图显示了两个严重级别至少为“错误”的日志条目。其中一个条目带有
注解 错误组按钮。以下屏幕截图还展示了此按钮提供的选项:
选择查看错误组详情后,系统会打开 Error Reporting 页面并显示有关错误组的信息。
您还可以使用
中的选项 错误组按钮,用于更改日志浏览器中的哪些日志条目 会显示:
-
要更详细地调查错误组,请选择 显示此错误组中的条目。日志浏览器会刷新 仅显示同一错误组中的那些日志条目。您现在可以申请 向错误组的日志条目添加额外的查询参数。
-
如需从查询结果中移除特定错误组,请选择隐藏此错误组中的条目。Logs Explorer 会刷新,并且此错误组中的所有日志条目都会从显示屏中隐藏。
日志过滤功能技巧
在Google Stackdriver中查找包含错误组的日志条目,你可以使用日志过滤功能。以下是一些常用的日志分析技巧和步骤:
-
使用日志级别过滤:
- 你可以指定日志级别来过滤错误日志。例如,如果你想要查找所有严重性为
ERROR
或更高的日志条目,可以使用以下过滤表达式:logName:"projects/YOUR_PROJECT_ID/logs/YOUR_LOG_NAME" AND severity>=ERROR
- 这个表达式会返回指定日志名称中所有严重性等级为
ERROR
或更高的日志条目。
- 你可以指定日志级别来过滤错误日志。例如,如果你想要查找所有严重性为
-
根据资源过滤:
- 如果你知道错误日志来自特定的资源,比如特定的Compute Engine实例,你可以使用资源类型和标签来过滤日志:
resource.type="gce_instance" AND resource.labels.instance_id="your-instance-id"
- 这个表达式会匹配来自特定Google Compute Engine虚拟机实例的日志条目。
- 如果你知道错误日志来自特定的资源,比如特定的Compute Engine实例,你可以使用资源类型和标签来过滤日志:
-
根据时间范围过滤:
- 你可以指定一个时间范围来过滤日志条目:
timestamp >= "2022-01-01T00:00:00Z" AND timestamp < "2022-02-01T00:00:00Z"
- 这个表达式会匹配在指定时间范围内的日志条目。
- 你可以指定一个时间范围来过滤日志条目:
-
根据日志内容过滤:
- 如果你知道错误日志中包含特定的文本,比如“error”,你可以使用
textPayload
来过滤:textPayload:"error"
- 这个表达式会匹配日志消息中包含“error”这个词的日志条目。
- 如果你知道错误日志中包含特定的文本,比如“error”,你可以使用
-
使用组合条件过滤:
- 你可以组合使用上述条件来精确过滤你需要的日志条目。例如,如果你想要查找特定虚拟机实例中包含“error”文本的
ERROR
级别日志:resource.type="gce_instance" AND resource.labels.instance_id="your-instance-id" AND textPayload:"error" AND severity=ERROR
- 你可以组合使用上述条件来精确过滤你需要的日志条目。例如,如果你想要查找特定虚拟机实例中包含“error”文本的
-
使用NOT操作符过滤:
- 如果你想要排除包含特定文本的日志条目,可以使用NOT操作符:
NOT textPayload:"some-text"
- 如果你想要排除包含特定文本的日志条目,可以使用NOT操作符:
通过使用这些过滤表达式,你可以在Stackdriver中有效地查找和分析包含错误组的日志条目。记得将过滤表达式中的占位符(如YOUR_PROJECT_ID
、YOUR_LOG_NAME
和your-instance-id
)替换为实际的值。
查找包含错误组的日志条目
https://cloud.google.com/logging/docs/analyze/find-logs-error-groups?hl=zh-cn