过滤日志并创建基于日志的指标

Crashlytics 数据和(可选)Firebase 会话数据导出到 Cloud Logging 后,您可以过滤日志创建基于日志的指标。这两种方法都有助于查看、使用和分析特定数据。

如果您尚未查看如何使用数据?,请务必查看,其中提供了有关如何使用存储在 Cloud Logging 中的数据的完整列表和示例。

使用查询过滤日志

过滤日志有助于查看特定数据,还可以降低数据存储和进一步分析的费用。您可以使用 LQL(日志记录查询语言)过滤日志。

如需了解如何使用查询过滤日志,请访问使用 Logs Explorer 的查询示例构建日志查询。下表介绍了这些查询可用的字段。

过滤条件示例

对于 Crashlytics,下面是一些查询的初始过滤条件示例:

  • 查找特定应用版本的所有严重崩溃:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • 识别在特定设备型号(例如 Pixel 6a)上发生的崩溃:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • 在所有严重事件中搜索特定 OutOfMemoryError

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • 查找特定 Crashlytics 问题 ID 的事件:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

日志架构

每个日志条目都有一个预定义的结构和多个可查询字段(请参阅 LogEntry)。

了解导出数据的日志架构,包括 Crashlytics 数据Firebase 会话数据设备日志

创建基于日志的指标

您可以查看和构建基于日志的指标,然后在 Cloud Monitoring 中使用这些指标创建图表、自定义信息中心和自定义提醒。

  • 利用自动记录的预定义系统指标,例如在特定时间段内发生的日志记录事件的数量。

  • 为您的项目创建用户定义的指标。您可以统计与给定查询匹配的日志条目数,或使用匹配的日志条目跟踪特定值。您可以使用正则表达式进行过滤。请务必查看用户定义的指标的价格

  • 还可以使用 Cloud Monitoring 记录包含特定消息的日志条目数,或提取日志条目中报告的延迟时间信息。然后,您可以在图表和自定义提醒中使用这些指标。

基于日志的指标示例

以下是两个示例用户定义的基于日志的指标,您可以根据导出的 Crashlytics 和 Firebase 会话数据创建这些指标:

  • 使用 Crashlytics 数据:
    创建一个名为 firebase/crashlytics_events 的指标,其标签为 errorType, 并将其定义为:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"

  • 使用 Firebase 会话数据:
    创建一个名为 firebase/session_events、标签为 eventType 的指标,并将其定义为:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"

后续步骤