Cloud Logging 概览

本文档简要介绍了 Cloud Logging, 具有存储、搜索、分析和监控支持的日志管理系统。 Cloud Logging 会自动从 Google Cloud 资源收集日志。 您还可以从应用、本地资源 以及其他云服务提供商的资源。您还可以 配置提醒政策,以便 Cloud Monitoring 通知您 是否在您的日志中报告了特定类型的事件。出于监管或 您可以确定日志数据的存储位置。

从应用和第三方软件收集日志

您可以通过检测 使用 Cloud Build 客户端库。不过,有时 对应用进行插桩所需的操作例如,对于一些 您可以使用 Ops Agent 将写入到 将 stdoutstderr 关联到您的 Google Cloud 项目。

您还可以从第三方应用(例如 nginx)中收集日志数据, 安装 Ops Agent,然后将其配置为写入日志 从该应用复制到您的 Google Cloud 项目。

请参阅 您应该使用哪一个:Logging 代理还是客户端库? 可帮助您确定哪种方法最适合 要求。

问题排查和分析日志

您可以使用 Google Cloud 控制台查看和分析日志数据,方法有: 日志浏览器或 Log Analytics 页面。您可以查询和 查看两个界面的日志;但它们使用不同的查询语言 它们具有不同的功能

当您需要 排查并分析您的服务和应用的性能 我们建议您使用日志浏览器该界面的设计初衷是 让您可以查看各个日志条目并查找相关日志条目。对于 例如,如果日志条目属于 错误组,系统会对该条目进行注释 其中包含一个选项菜单,供您访问有关该错误的更多信息。

当您有意 对日志执行汇总操作,例如计算 一段时间内发送到特定网址的 HTTP 请求的平均延迟时间,使用 Log Analytics 界面。通过此接口,您可以使用 SQL 来查询您的日志数据,因此您可以使用 SQL 可帮助您了解日志数据。

如果您希望以编程方式查询日志数据,可以使用 Cloud Logging API 或 Google Cloud CLI,用于从 Google Cloud 项目。

如需了解详情,请参阅 查询和查看日志概览

监控日志

您可以配置 Cloud Logging,以便在出现某些类型的事件时收到通知 会发生在您日志中这些通知可能会在以下情况下发送: 出现在日志条目中,或者在您的日志数据中检测到趋势时。 如果您想查看 Google Cloud 服务的错误率, 那么您可以查看预先配置的 Cloud Logging 信息中心。

例如,如果您想在某个特定时间点 消息,例如发生了与安全性相关的重大事件,那么您可以 创建基于日志的提醒政策。基于日志的提醒政策可监控 特定模式的日志。如果找到了该模式,则 监控会发送通知并创建突发事件。 基于日志的提醒政策适用于重要但罕见的事件, 如下所示:

  • 您希望在审核日志中出现活动时收到通知; 例如,某用户访问了某个服务账号的安全密钥。
  • 您的应用将部署消息写入日志,并且您希望在记录部署更改时收到通知。

或者,您可能想要监控趋势或事件的发生次数 。对于这些情况,您可以创建基于日志的指标。 基于日志的指标可以统计与某些 也可以提取并整理回复时间等信息 转换为直方图。您还可以配置提醒政策,以便在发生以下情况时通知您: 效果会发生哪些变化 例如,响应时间增加到不可接受的水平。 基于日志的指标是适合您的需求 执行下列任一操作:

  • 统计某封邮件(如警告或错误)的出现次数, 并在出现次数 超出了阈值。
  • 观察数据趋势,例如日志中的延迟时间值, ,并在值出现不可接受的方式变化时收到通知。
  • 创建图表以显示从日志中提取的数字数据。

如需了解详情,请参阅监控日志

日志存储

您无需配置日志的存储位置。默认情况下,您的 Google Cloud 项目会自动将收到的所有日志 Cloud Logging 日志存储桶。例如,如果您的 Google Cloud 项目包含一个 Compute Engine 实例 系统会自动为您存储 Compute Engine 生成的文件。 不过,如有需要,您也可以 您的日志存储空间,例如存储哪些日志; 以及日志的存储位置

您可以将日志条目路由或转发至以下目的地, 可以位于同一 Google Cloud 项目中,也可以位于不同的 Google Cloud 项目中:

  • Cloud Logging 存储桶:在 Cloud Logging 中提供存储空间。 日志存储桶可存储日志条目 发送给多个 Google Cloud 项目的数据您可以将 将 Cloud Logging 数据与其他数据升级,以便使用 Log Analytics,然后创建关联的 BigQuery 数据集。对于 如需了解如何查看存储在日志存储分区中的日志条目,请参阅 查询和查看日志概览查看路由到 Cloud Logging 存储分区的日志
  • BigQuery 数据集:提供 BigQuery 数据集。您可以使用大数据分析功能 针对已存储的日志条目进行触发。若要将您的 Cloud Logging 数据与其他数据 我们建议您升级日志存储分区 Log Analytics,然后创建关联的 BigQuery 数据集。 如需了解如何查看路由到 BigQuery 的日志条目,请参阅 查看路由到 BigQuery 的日志
  • Cloud Storage 存储桶:提供 Cloud Storage 中的日志条目存储。日志 存储为 JSON 文件了解如何查看日志 请参阅查看路由到 Cloud Storage 的日志
  • Pub/Sub 主题:为第三方集成提供支持。日志 将条目格式化为 JSON,然后路由到 Pub/Sub 主题。有关如何查看路由到以下实例的日志条目的信息: Pub/Sub,请参阅 查看路由到 Pub/Sub 的日志
  • Splunk:提供对 Splunk 的支持。 您必须将日志条目路由到 Pub/Sub 主题,然后 订阅该主题
  • Google Cloud 项目:将日志条目路由到其他 Google Cloud 项目。时间 您将日志条目路由到另一个 Google Cloud 项目,即目的地 项目的日志路由器会接收并处理日志条目。通过 目标项目中的接收器确定接收到的日志条目是如何 路由。Error Reporting 可以在目标位置 项目将这些日志条目路由到该目标位置拥有的日志存储桶 项目。
  • 其他资源:将您的日志条目路由到受支持的目的地, 属于不同的项目如需了解要使用的路径,请参阅 目标路径格式

如需了解详情(包括数据区域性支持),请参阅 路由和存储概览

日志类别

日志类别旨在帮助描述可用的日志记录信息 向您;这些类别不会相互排斥:

  • 平台日志是您的 Google Cloud 服务写入的日志。这些记录 可以帮助您调试和排查问题,也有助于您更好地了解 您正在使用的 Google Cloud 服务例如 VPC 流日志记录 虚拟机实例发送和接收的网络流。

  • 组件日志与平台日志类似,但它们是由 在您的系统上运行的 Google 提供的软件组件。对于 例如,GKE 提供了软件组件 在他们自己的虚拟机上运行,也可以在自己的数据中心运行。日志是通过 用户的 GKE 实例,并将其发送到 Google Cloud 项目。GKE 使用日志或其元数据 提供用户支持

  • 安全日志可帮助您了解“谁何时在何处执行了什么操作”:

    • Cloud Audit Logs 提供有关以下各项的信息: 您在 Google Cloud 控制台内的管理活动和访问权限 Google Cloud 资源。 启用审核日志有助于提高安全性、审核和合规性 实体会监控 Google Cloud 数据和系统, 漏洞或外部数据滥用。 如需查看 Google Cloud 支持的服务列表,请参阅 具有审核日志的 Google 服务

    • Access Transparency 向您提供 Google 员工在下列情况下所执行操作的日志 Google Cloud 内容。Access Transparency 日志 可帮助您跟踪对 监管要求 如需查看 Google Cloud 支持的服务列表,请参阅 具有 Access Transparency 日志的 Google 服务

  • 用户写入的日志是由自定义应用和服务写入的日志。 通常,这些日志使用 方法:

  • 多云日志混合云日志是指来自以下来源的日志 其他云服务提供商,例如 Microsoft Azure 和 来自本地基础架构的日志

日志数据模型

Cloud Logging 用于整理日志数据的数据模型 决定了您可以查询数据的维度。例如: 由于日志是单个条目的已命名集合,因此您可以查询 按日志名称存储数据同样,由于每个日志 格式为 LogEntry 对象的日志条目,您 可以编写仅检索 LogEntry 字段与某些条件匹配。例如,只能展示 severity 字段的值为 ERROR 的日志条目。

每个日志条目都会记录状态或描述一个特定事件,例如 基本上包含以下各项:

  • 时间戳,用于指示事件发生的时间或 Cloud Logging 收到事件的时间。
  • 日志条目来源的相关信息。此来源称为 受监控的资源。受监控资源的示例包括 Compute Engine 虚拟机实例和 Google Kubernetes Engine 容器 如需查看受监控的资源类型的完整列表,请参阅 受监控的资源和服务
  • 载荷,也称为消息,以非结构化文本 数据还是作为 JSON 格式的结构化文本数据
  • 它所属的日志的名称。日志名称包含完整的 日志条目所属资源的路径,后跟 标识符。以下是日志名称的示例:

    • projects/my-project/logs/stderr
    • projects/my-project/logs/stdout
    • projects/my-project/compute.googleapis.com/activity

访问权限控制

Identity and Access Management 角色用于控制主账号访问日志的能力。 您可以向主账号授予预定义角色,也可以 创建自定义角色如需详细了解所需权限,请参阅 访问权限控制

保留

日志条目会在日志存储分区中存储指定的时长,然后被删除。如需了解详情,请参阅 转送和存储概览:保留

价格和费用控制

有关价格的信息,请参阅 Cloud Logging 价格

如需了解降低 Logging 费用的策略,请参阅 Logging 费用控制