本文档是由两篇文章组成的系列文章中的一篇,介绍了如何扩展 Cloud Logging 和 Cloud Monitoring,使其包含本地基础设施和应用。
- 使用 BindPlane 记录本地资源(本文档):了解 Logging 如何支持从本地资源进行日志记录。
- 使用 BindPlane 监控本地资源:了解 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 中。
BindPlane 使用户能够在想要从中收集日志的主机上远程部署和管理代理。如需了解详情,请参阅 BindPlane 架构。 由于只需要进行设置的配置而非开发,此选项的部署需要的工作量最少。
优点:
- 只需要进行配置而非开发。
- 包含在使用 Logging 的费用中。
- 是 Logging 产品和支持服务支持的配置。
- 可扩展到默认配置未提供的日志。
缺点:
- 需要使用第三方工具。
- 如果默认不提供日志源,则可能需要提供自定义配置。提供的日志列表可在来源中找到。
直接使用 Logging API
下图的架构展示了如何通过检测收集日志并将其提取到 Logging 中。
直接使用 API 意味着您需要检测应用以将日志直接发送到 API,或开发自定义代理以将日志发送到 API。由于需要进行开发,此选项需要的工作量最大。
优点:
- 具有灵活性,因为您可以使用客户端日志记录库实现插桩。
缺点:
- 需要为基础架构日志提供独立的解决方案,例如自定义代理。
- 需要代码插桩,这可能意味着实现所需的费用更高。
- 需要使用批处理和其他可扩缩的注入方法来获得适当的注入性能。
- 仅为 Logging API 提供支持服务,不包括自定义开发的代码。
使用 BindPlane
本文档介绍如何使用 observIQ 提供的 BindPlane 将日志注入到 Logging。由于 BindPlane 包含在 Logging 的费用中,因此无需进行开发并可提供受产品支持的解决方案。
代理、来源和目标位置
如需详细了解代理、来源和目标位置,请参阅 BindPlane 快速入门指南。
用例示例
企业客户使用 BindPlane 注入以下本地日志记录场景中的日志:
- 对自定义应用日志中的日志数据进行解析和过滤自定义。
- 从 Linux 或 Windows 虚拟机收集操作系统事件。
- 从网络或其他兼容设备注入 syslog 流。
- 收集 Kubernetes 系统和应用日志。
将日志从本地发送到 Logging
设置 BindPlane 并开始发送日志后,日志将被发送到 Logging。如需查看、处理和导出日志,请前往 Google Cloud 控制台。日志被列为 generic_node
或 generic_task
资源类型。如需详细了解每种资源类型中包含的标签,请参阅 Logging 资源列表。
Cloud Logging 使用两种资源类型支持非 Cloud Logging 日志:
- 通用节点:标识其他资源类型都不适用的机器或其他计算资源。标签值必须唯一标识该节点。
- 通用任务:标识其他资源都不适用的应用进程,例如由自定义编排系统安排的进程。标签值必须唯一标识该任务。
在 Logging 中查看日志
在 Logs Explorer 页面上,所有资源列表包含通用节点作为资源类型。
页面上显示的日志列表作为 generic_node
资源类型捕获。展开相应行可查看日志条目详细信息。
日志条目使用结构化日志记录格式,由于日志载荷被存储为 jsonPayload
,因此可提供更丰富的日志搜索格式。结构化日志记录格式使日志更易于访问,因为您可以将载荷中的字段用作搜索的一部分。BindPlane 代理会提供从原始日志条目到 Logging 中的结构化日志条目的映射。
总结
通过 Logging 中可用的日志,您可以充分利用 Logging 的功能。日志显示在 Google Cloud 控制台中。您可以使用 Logging 导出功能导出日志,并使用基于日志的指标用这些日志在 Monitoring 中创建指标和提醒。
后续步骤
- Logging 和 Monitoring
- Cloud Monitoring 和 Logging 的 BindPlane 设置说明
- 在 Logging 中设置基于日志的指标
- 如需查看更多参考架构、图表和最佳做法,请浏览云架构中心。