查看路由到 Cloud Logging 存储分区的日志

本文档介绍如何查找您路由到 Cloud Logging 存储分区的日志条目。日志存储分区是 Google Cloud 项目中用于保存日志数据的 Cloud Logging 存储容器。您可以创建日志接收器,将所有或部分日志路由到 Cloud Logging 中的任何存储桶。这种灵活性可让您选择要将日志存储在哪个 Google Cloud 项目中,以及与其一起存储哪些其他日志。

路由到 Cloud Logging 存储分区的日志立即可用。

如需了解如何查看路由到其他目标位置的日志,请参阅以下文档:

准备工作

如需了解如何创建和管理日志存储分区,请参阅以下文档:

如需了解接收器的概念讨论,请参阅路由和存储模型概览:接收器

如需了解如何路由日志,请参阅将日志路由到支持的目标位置

查看日志

如需排查和查看日志存储桶中的各个日志条目,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer

    前往 Logs Explorer

  2. 操作工具栏中,选择优化范围
  3. 优化范围对话框中,选择按存储确定范围
  4. 选择一个或多个日志存储分区,然后点击应用

    如需了解如何运行查询,请参阅在 Logs Explorer 中构建查询

如需对存储在已升级为使用 Log Analytics 的日志存储桶中的日志条目执行分析,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Log Analytics

    转到 Log Analytics

  2. 日志视图列表中,找到相应视图,然后选择查询查询窗格中填充了默认查询,其中包括所查询的表的名称。

    您还可以在查询窗格中输入查询,或修改显示的查询。

    如需查询日志存储桶中的所有日志,请选择 _AllLogs 视图。

  3. 在工具栏中,点击运行查询

    此时将执行查询,并且查询的结果将显示在结果标签页中。

    您可以使用工具栏选项设置查询的格式、清除查询以及打开 BigQuery SQL 参考文档。

    如需了解如何运行查询,请参阅在 Log Analytics 中查询和查看日志

组织日志条目

Logging 日志条目是类型为 LogEntry 的对象。

具有相同日志类型的日志条目(在 LogEntry 引用中称为 [LOG_ID])通常具有相同的格式。下表显示了日志条目示例:

syslog

Compute Engine syslog 是由 Logging 代理 google-fluentd 生成的一种自定义日志类型,该代理在虚拟机实例上运行:

{
  logName: "projects/my-gcp-project-id/logs/syslog",
  timestamp: "2015-01-13T19:17:01Z",
  resource: {
    type: "gce_instance",
    labels: {
      instance_id: "12345",
      zone: "us-central1-a",
      project_id: "my-gcp-project-id"
    }
  },
  insertId: "abcde12345",
  textPayload: "Jan 13 19:17:01 my-gce-instance /USR/SBIN/CRON[29980]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)"
}

request_log

App Engine request_log 中的日志条目包含 protoPayload 字段,此字段保存着类型为 RequestLog 的对象:

{
  logName: "projects/my-gcp-project-id/logs/appengine.googleapis.com%2Frequest_log",
  timestamp: "2015-01-13T19:00:39.796169Z",
  resource: {
    type: "gae_app",
    labels: {
      module_id: "default",
      zone: "us6",
      project_id: "my-gcp-project-id",
      version_id: "20150925t173233"
    }
  }
  httpRequest: {
    status: 200
  }
  insertId: "abcde12345",
  operation: {
    id: "abc123",
    producer: "appengine.googleapis.com/request_id",
    first: true,
    last: true
  }
  protoPayload: {
    @type: "type.googleapis.com/google.appengine.logging.v1.RequestLog"
    versionId: "20150925t173233",
    status: 200,
    startTime: "2017-01-13T19:00:39.796169Z",
    # ...
    appId: "s~my-gcp-project-id",
    appEngineRelease: "1.9.17",
  }
}

activity

activity 日志是管理员活动审核日志。此类日志的负载是 AuditLog 类型的 JSON 表示法:

{
 logName: "projects/my-gcp-project-id/logs/cloudaudit.googleapis.com%2Factivity"
 timestamp: "2017-04-22T13:41:32.245Z"
 severity: "NOTICE"
 resource: {
  type: "gce_instance"
  labels: {
   instance_id: "2403273232180765234"
   zone: "us-central1-b"
   project_id: "my-gcp-project-id"
  }
 }
 insertId: "54DC1882F4B49.A4996C2.6A02F4C1"
 operation: {
  id: "operation-1492868454262-54dc185e9a4f0-249fe233-f73d472a"
  producer: "compute.googleapis.com"
  last: true
 }
 protoPayload: {
  @type: "type.googleapis.com/google.cloud.audit.AuditLog"
  authenticationInfo: {
   principalEmail: "649517127304@cloudservices.gserviceaccount.com"
  }
  requestMetadata: {…}
  serviceName: "compute.googleapis.com"
  methodName: "v1.compute.instances.delete"
  resourceName: "projects/my-gcp-project-id/zones/us-central1-b/instances/abc123"
 }
}

问题排查

如果接收器的目标位置似乎缺少日志,或者您怀疑接收器未正确路由日志,请参阅对路由和接收器进行问题排查

价格

在将日志路由到受支持的目标位置时,Cloud Logging 不会产生费用;但是,目标位置可能会产生费用。除 _Required 日志存储桶外,Cloud Logging 会针对将日志流式传输到日志存储桶,以及对超出日志存储桶默认保留期限的存储收费。

Cloud Logging 不对日志复制或通过 Logs Explorer 页面或 Log Analytics 页面发出的查询收费。

有关详情,请参阅以下文档: