使用 BindPlane 记录本地资源

本文档是由两篇文章组成的系列文章中的一篇,它们介绍了如何将 Cloud LoggingCloud Monitoring 服务扩展至本地基础架构和应用。

  • Logging(本文档):了解 Logging 如何支持从本地资源进行日志记录。
  • Monitoring:了解 Monitoring 如何支持监控本地资源。

出于以下原因,您可以考虑使用 Logging 对本地资源进行日志记录,并使用 Monitoring 监控本地资源:

  • 在将基础架构迁移至 Google Cloud 时,您需要一个临时解决方案,并且您需要在本地资源停用前对其进行日志记录和监控。
  • 您可能拥有一个多样化的计算环境,包含多个云和本地资源。

无论是哪种情况,您都可以借助 Logging API、Monitoring API 和BindPlane 来深入了解您的本地资源。本文档适用于希望为 Google Cloud 资源和其余的本地基础架构及应用制定日志记录策略的 DevOps 人员、经理和高管。

使用 Logging 提取日志

您可以使用 API 以两种受支持的方式将日志提取至 Logging:

  • 使用 observIQ 中的 BindPlane 从本地或其他云来源中注入日志。
  • 直接在应用中使用 Cloud Logging API 或者通过自定义代理来使用 Cloud Logging API。

使用 BindPlane 提取 Logging 日志

下图的架构展示了 BindPlane 如何提取日志以及这些日志如何被提取到 Logging 中。

使用 Logging 和 BindPlane 提取本地日志的架构。

BindPlane 使用户能够在想要收集日志的主机上远程部署和管理收集器。如需了解详情,请参阅 BindPlane 架构。 由于只需要进行设置的配置而非开发,此选项的部署需要的工作量最少。

优点:

  • 只需要进行配置而非开发。
  • 包含在使用 Logging 的费用中。
  • 是 Logging 产品和支持服务支持的配置。
  • 可扩展到默认配置未提供的日志。

缺点:

  • 需要使用第三方工具。
  • 如果默认不提供日志源,则可能需要提供自定义配置。提供的日志列表可在来源中找到。

直接使用 Logging API

下图的架构展示了如何通过检测收集日志并将其提取到 Logging 中。

使用 Logging API 直接提取本地日志的架构。

直接使用 API 意味着您需要检测应用以将日志直接发送到 API,或开发自定义代理以将日志发送到 API。由于需要进行开发,此选项需要的工作量最大。

优点:

  • 灵活性高,因为您可以使用客户端日志库来进行检测。

缺点:

  • 需要为基础架构日志提供独立的解决方案,例如自定义代理。
  • 需要检测代码,这可能意味着更高的实现成本。
  • 需要使用批处理和其他可扩缩的提取技术来获得合适的提取性能。
  • 仅为 Logging API 提供支持服务,不包括自定义开发的代码。

使用 BindPlane

本文档介绍如何使用 observIQ 中的 BindPlane 工具将日志注入到 Logging 中。由于 BindPlane 包含在 Logging 的费用中,因此无需进行开发并可提供受产品支持的解决方案。

代理、来源和目标位置

如需详细了解代理、来源和目标位置,请参阅 BindPlane 快速入门指南

用例示例

企业客户使用 BindPlane 注入以下本地日志记录场景中的日志:

  1. 对自定义应用日志中的日志数据进行解析和过滤自定义。
  2. 从 Linux 或 Windows 虚拟机收集操作系统事件。
  3. 从网络或其他兼容设备注入 syslog 流。
  4. 收集 Kubernetes 系统和应用日志。

将日志从本地发送到 Logging

设置 BindPlane 并开始发送日志后,日志将被发送到 Logging。如需查看、处理和导出日志,请前往 Google Cloud 控制台。日志被列为 generic_nodegeneric_task 资源类型。如需详细了解每种资源类型中包含的标签,请参阅 Logging 资源列表

Cloud Logging 使用两种资源类型支持非 Cloud Logging 日志:

  • 通用节点:标识其他资源类型都不适用的机器或其他计算资源。标签值必须唯一标识该节点。
  • 通用任务:标识其他资源都不适用的应用进程,例如由自定义编排系统安排的进程。标签值必须唯一标识该任务。

在 Logging 中查看日志

在 Google Cloud 控制台中,通用节点在 Logging 页面的列表中显示为一种资源类型。

Logging 资源列表

以下日志作为 generic_node 资源类型捕获并显示在 Logging 中。

Logging 日志列表。

以下日志条目使用结构化日志记录格式,由于日志载荷被存储为 jsonPayload,因此可提供更丰富的日志搜索格式。结构化日志记录格式使日志更易于访问,因为您可以将载荷中的字段用作搜索的一部分。BindPlane 日志记录代理提供从原始日志条目到 Logging 中的结构化日志的映射。

结构化日志记录格式的日志条目。

总结

通过 Logging 中可用的日志,您可以充分利用 Logging 的功能。日志显示在 Google Cloud 控制台中。您可以使用 Logging 导出功能导出日志,并使用基于日志的指标用这些日志在 Monitoring 中创建指标和提醒。

后续步骤