本指南介绍了 Logging 代理,这是一种基于在虚拟机 (VM) 实例上运行的 fluentd 的应用。
在默认配置中,Logging 代理会将常见第三方应用和系统软件中的日志流式传输到 Logging;请参阅默认日志列表。您可以将该代理配置为流式传输更多日志;如需详细了解代理配置和操作,请前往配置 Logging 代理。
最好在所有虚拟机实例上都运行 Logging 代理。该代理可在 Linux 和 Windows 上运行。
如需安装 Logging 代理,请参阅安装 Logging 代理。
支持的操作系统
您可以使用以下操作系统,在兼容的虚拟机 (VM) 实例上运行 Logging 代理:
- CentOS 7 和 CentOS 8
- Rocky Linux 8
- Red Hat Enterprise Linux 7 和 Red Hat Enterprise Linux 8
- Debian 9“Stretch”、10“Buster”和 11“Bullseye”
- Ubuntu LTS 20.04 (Focal Fossa)
- Ubuntu Minimal LTS 20.04 (Focal Fossa)
- SUSE Linux Enterprise Server 12 和 12 SP5 for SAP
- SUSE Linux Enterprise Server 15、15 SP2 for SAP、15 S3 for SAP、15 SP4 for SAP 和 15 SP5 for SAP
- OpenSUSE Leap 15、15.2、15.3 和 15.4
- Windows Server 2016 和 2019
- Windows Server Core 2016 和 2019
- Amazon Linux AMI(不含 Amazon Linux 2.0 AMI)
如果您运行的是 Container-Optimized OS 虚拟机,请按照 Container-Optimized OS 说明从虚拟机收集日志。
受支持的环境
Logging 代理与以下环境兼容:
Compute Engine 实例。Logging 代理会将日志发送到与每个虚拟机实例关联的项目。
对于没有外部 IP 地址的实例,您必须启用专用 Google 访问通道,以允许 Logging 代理发送日志。
Amazon Elastic Compute Cloud (Amazon EC2) 实例。 Logging 代理会将 AWS 中的日志发送到 Google Cloud 项目。
为使 Logging 代理正常运行,运行它的 Amazon EC2 实例必须能够与 Google Cloud APIs 通信,尤其是 Logging API。这需要外部 IP 地址或 VPC 互联网网关。
这些虚拟机实例运行 Logging 代理时,至少需要 250 MiB 的常驻 (RSS) 内存,但建议留出 1 GiB 可用内存。举例来说,按每秒处理 100 个 1 KB 大小的日志条目的速率计算,使用默认配置的 Logging 代理将占用 5% 的 CPU(单核)和 150 MiB 的内存。
以下虚拟机实例使用自己的软件支持 Logging,因此不支持在其上手动安装 Logging 代理:
App Engine 标准环境实例。App Engine 内置了对 Logging 的支持。如需了解详情,请转至编写应用日志。
App Engine 柔性环境实例。除 App Engine 标准环境中所含的那些日志外,在 App Engine 柔性环境中运行的应用还可以写入其他日志。如需了解详情,请转至编写应用日志。
Google Kubernetes Engine 节点实例。 默认情况下,系统会为新容器集群启用使用 Logging 收集日志的功能,您也可以为现有集群启用该功能。如需了解相关信息,请参阅为 GKE 配置日志记录和监控。
对于在 Google Distributed Cloud 上运行的实例,代理会收集系统日志,但不会收集应用日志。
Cloud Run 容器实例。Cloud Run 内置了对 Logging 的支持。如需了解详情,请转到记录和查看日志。
Cloud Run functions HTTP 函数和后台函数。Cloud Run functions 内置了对 Logging 的支持。如需了解详情,请转到写入、查看和响应日志。
支持本地和混合云
Google Cloud 与 observIQ 合作,以一种一致且可预测的方式为本地和混合云平台提供日志记录服务。通过使用 BindPlane,您可以收集自己的数据并将其发送到 Logging 进行分析。BindPlane 与 Cloud Logging 集成,可从您的基础架构中捕获数据,并且包含在您的项目中,不会产生额外的费用。
如需详细了解 observIQ 和 BindPlane,请参阅 observIQ 和 BindPlane 简介。
代理访问要求
运行代理需要访问以下 DNS 名称:
OAuth2 令牌服务器:
oauth2.googleapis.com
旧版代理可能需要访问
www.googleapis.com
(完整网址:https://www.googleapis.com/oauth2/v3/token
)。如果您使用的是旧版代理,建议您升级代理到最新版本。
Logging API:
logging.googleapis.com
安装代理需要访问以下 DNS 名称:
(Linux) Google Cloud package repository:
packages.cloud.google.com
Google 下载服务器:
dl.google.com
Logging 代理源代码
除非您想了解相关源代码或有其他特殊需求,否则无需关注本部分中的信息。您可以通过安装说明中描述的脚本来安装 Logging 代理。
Logging 代理 google-fluentd
是 fluentd 日志数据收集器的修订版。google-fluentd
分布在两个独立的程序包中。源代码可从相关的 GitHub 代码库中获取:
- 名为
google-fluentd
的 GitHub 代码库,其中包含核心fluentd
程序、自定义封装脚本以及适用于 Cloud Logging API 的输出插件。- 输出插件作为 Ruby gem 封装,并包含在
google-fluentd
程序包中。它也可以通过 fluent-plugin-google-cloud 的 Ruby gem 托管服务单独获取。 - 与 Windows 安装程序相关的内容位于 windows-installer 文件夹中。
- 输出插件作为 Ruby gem 封装,并包含在
- 名为
google-fluentd-catch-all-config
的 GitHub 代码库,其中包含 Logging 代理用于从各种第三方软件包中注入日志的配置文件。
Logging 代理版本说明
如需查看
google-fluentd
Linux 软件包的版本说明,请访问google-fluentd/releases
,其中的版本标志采用[Major].[Minor].[Patch]
语义化版本格式。您可以在同一位置找到 Windows 安装程序的版本说明:
google-fluentd/releases
。 但是,其版本标志带有Windows
前缀。您可以在
fluent-plugin-google-cloud/releases
中找到独立的 gemfluent-plugin-google-cloud
的版本说明,其中的版本标志采用[Major].[Minor].[Patch]
语义化版本格式。
弃用政策
Logging 代理需遵守 Google Cloud Observability 代理弃用政策。
后续步骤
安装代理后,请在日志浏览器中查看日志。