Google Cloud Observability 包含可观测性服务,可帮助您了解应用(包括代理应用)的行为、运行状况和性能。通过了解应用的行为方式以及组件的连接方式,您可以更快、更高效地预测、识别和响应意外更改。
此文档包含以下信息:
- 可观测性、代理可观测性、应用可观测性和 APM 等术语的定义。
- 可观测性服务在开发和维护可靠应用方面的优势。
- Google Cloud Observability 如何帮助您监控和维护应用和基础架构的运行状况。
- 开始使用Google Cloud中的可观测性的步骤。
可观测性
可观测性是一种收集和分析遥测数据的整体方法,可帮助您了解应用(包括智能体应用)及其运行环境的状态。遥测数据包括日志、指标和跟踪记录数据。它还可能包含应用生成的其他数据,例如提示和回答。遥测数据可提供您所需的信息,帮助您了解应用的运行状况和性能。
- 指标数据
- 指标数据是系统定期测量的关于运行状况或性能的数值数据,例如 CPU 利用率和请求延迟时间。指标数据意外变化可能表示需要调查问题。随着时间的推移,您还可以分析模式,以更好地了解使用模式并预测资源需求。
- 日志数据
日志是系统或应用活动随时间生成的记录。每条日志都是一组带时间戳的日志条目,每个日志条目都描述了特定事件。
日志通常包含丰富的详细信息,可帮助您了解应用的特定部分发生的情况。不过,日志数据无法有效地显示应用某个组件的更改与另一个组件中的活动之间的关系。跟踪记录数据可以弥合这一差距。
- 跟踪记录数据
轨迹表示请求在分布式应用各部分中的路径。也就是说,每个轨迹都代表一个端到端操作。由于跟踪记录由 span(单个函数或操作的记录)组成,因此您可以跟踪请求的流程并检查延迟时间数据。此信息有助于您确定问题的根本原因。
对于智能体应用,轨迹会捕获智能体执行的操作。 例如,轨迹可以捕获 MCP 调用。
- 其他数据
通过分析日志、指标和轨迹数据以及其他相关信息,您可以获得更多数据洞见。例如,指示突发事件严重程度的标签或日志中的客户 ID 提供了上下文,这对问题排查和调试非常有用。
智能体可观测性
智能体可观测性是指用于了解软件智能体(尤其是使用大语言模型 (LLM) 构建的 AI 赋能型智能体)的内部状态和行为的方法。由于 AI 智能体具有不确定性和复杂性,因此可观测性对于了解、调试、评估和改进其性能、安全性和可靠性至关重要。
Google Cloud 通过应用监控支持应用可观测性,该功能可创建显示遥测数据、AI 资源指标和未结突发事件等信息的信息中心。 如需了解详情,请参阅本文档中的 Google Cloud中的代理和应用可观测性部分。
应用可观测性和 APM
应用性能监控 (APM) 可监控、诊断和管理软件应用(包括代理应用)的性能、可用性和用户体验。APM 系统通常会提供显示遥测数据和监控遥测数据的服务的信息中心。这些系统可帮助您确定失败的原因。
应用可观测性使用遥测数据生成可帮助您了解应用行为的分析洞见。
Google Cloud 通过应用监控支持应用可观测性,该功能可创建显示遥测数据、AI 资源指标和未结突发事件等信息的信息中心。 如需了解详情,请参阅本文档中的 Google Cloud中的代理和应用可观测性部分。
可观测性服务
可观测性服务可收集、分析和关联遥测数据,例如日志、指标和跟踪记录数据。这些服务提供以下功能,可帮助您保持应用可靠性:
- 主动发现问题,以免用户受到影响。
- 同时排查已知问题和新问题。
- 在开发期间调试应用。
- 了解更改对应用的影响。
- 通过数据探索发掘新的洞见。
如需详细了解可靠性实践(包括与可观测性相关的原则和实践),请阅读 Site Reliability Engineering: How Google Runs Production Systems(《站点可靠性工程:Google 如何运行生产系统》)一书。相关主题包括监控分布式系统、提醒和问题排查。
Google Cloud Observability
Google Cloud Observability 中的服务可帮助您收集、分析和关联来自应用和底层基础架构的遥测数据。这些服务还提供了内置默认设置,可帮助您更快地开始使用。例如,应用监控会为 App Hub 中注册的应用、服务和工作负载创建信息中心和拓扑图。
自动收集遥测数据
创建 Google Cloud 项目时,监控、日志记录和跟踪属于默认启用的服务。这些服务提供用于收集、分析和直观呈现遥测数据的核心功能:
- 自动收集大多数 Google Cloud 服务的遥测数据。
- 自动收集大多数 Google Cloud服务的审核日志。
- 提供可视化服务,包括信息中心和遥测数据探索工具,让您可以查看和检查遥测数据。例如,借助轨迹探索器,您可以查看轨迹、span 和元数据,包括多模态提示和回答。如需了解详情,请参阅查询和查看遥测数据。
- 为您的日志和轨迹数据提供基于 SQL 的分析服务。例如,您可以使用 BigQuery 将日志中的网址与已知恶意网址的公开数据集进行比较。
- 提供应用和遥测监控。例如,您可以创建提醒政策,以便在日志或指标数据满足您指定的条件时收到通知。您还可以使用合成监控来测试应用的性能。
从已插桩的应用中收集遥测数据。插桩是您添加到应用以发出遥测数据的代码。
如需对应用进行插桩,我们建议您使用不受制于供应商的开源插桩框架(例如 OpenTelemetry),而不是使用供应商和产品特有的 API 或客户端库。如需了解这些框架,请参阅 插桩和可观测性以及选择插桩方法。
智能体和应用可观测性
Google Cloud 中的应用监控可提供代理可观测性和应用可观测性。此服务提供信息中心和拓扑图,可帮助您了解 App Hub 应用、服务和工作负载的健康状况和性能。它还会生成并显示 AI 资源的错误率和令牌使用情况等指标。为了生成这些指标,应用监控会使用遵循 OpenTelemetry GenAI 语义惯例的应用特有标签和事件来过滤和汇总跟踪记录数据。
为了实现智能体可观测性,我们建议您使用智能体开发套件 (ADK) 框架构建智能体。 由于 ADK 依赖于 OpenTelemetry,因此 ADK 生成的遥测数据与 OpenTelemetry GenAI 语义惯例保持一致。
如需调试故障、监控费用或分析代理行为(包括来自 Gemini Enterprise Agent Platform、Agent Gateway 和 Model Armor 代理的行为),您需要日志、指标和跟踪数据:
- 日志提供有关事件和错误的信息。
- 借助指标,您可以监控延迟时间和令牌用量。
- 轨迹提供有关执行路径的信息,并经过分析以得出模型调用次数或总令牌使用量等指标。这些派生指标可让您了解客服人员的绩效和行为。如需了解详情,请参阅查看 AI 资源。
- 借助提示和回答数据,您可以使用 Gen AI Evaluation Service 评估智能体的质量和决策能力。
应用的“应用监控”信息中心会显示应用的服务和工作负载列表,例如 Gemini Enterprise 应用、Gemini Enterprise Agent Platform 智能体和 MCP 服务器:
您可以使用基础设施类型或 App Hub 功能类型来识别代理服务和工作负载。功能类型列默认处于隐藏状态。
如需查看代码示例,请参阅以下内容:
支持找出错误
Error Reporting 会分析 Cloud Logging 中的日志条目,以查找错误。当 Error Reporting 发现错误时,它会注释关联的日志条目并创建一个错误组。探索这些错误组,以确定错误的原因和历史记录。
性能分析支持
借助 Cloud Profiler,您可以分析应用的 CPU 和内存用量,以便发现提升性能的机会。
开始使用
本部分介绍了熟悉 Google Cloud中可观测性功能的步骤。
试用快速入门
请通过试用快速入门来熟悉可用的服务。
查看自动收集的数据
大多数 Google Cloud 服务都会自动生成日志和指标数据。这意味着您可以开始查看受支持的Google Cloud 服务的一些可观测性数据,而无需进行额外配置。
- 某些 Google Cloud 服务(例如 Google Kubernetes Engine [GKE]、Compute Engine 和 Cloud SQL)在 Google Cloud 控制台中提供默认信息中心,用于查看服务上下文中的可观测性数据。
- 默认情况下,Compute Engine、GKE 和 Cloud Run 会生成系统指标和日志,您可以配置额外数据集合。
- Cloud Run functions 和 App Engine 会自动生成指标、日志和跟踪记录。
您还可以在 Metrics Explorer 中绘制收集的指标,在日志浏览器中查看日志,或在 Trace 中查看跟踪记录。如需一起查看相关数据,请创建自定义信息中心。例如,您可以创建一个信息中心,其中包含虚拟机的日志、性能指标和提醒政策。
配置 Compute Engine 虚拟机以收集其他数据
默认情况下,Compute Engine 虚拟机仅收集基本系统指标和日志。不过,您可以安装 Ops Agent,以便从 Compute Engine 实例和应用收集其他遥测数据,以进行问题排查、性能监控和提醒。Ops Agent 不是代理式应用。相反,它是一个确定性的软件,用于收集遥测数据。
- 自动收集主机指标,例如 CPU、GPU、内存和进程指标。
- 自动收集系统日志,例如从 Linux 虚拟机收集 syslog,从 Windows 虚拟机收集 Windows 事件日志。
- 使用以下项观察您的应用:
- 第三方应用集成,支持 Postgres、MongoDB 和 Java 虚拟机等热门软件,并提供预先配置的信息中心和提醒政策
- Prometheus 指标
- OpenTelemetry Protocol (OTLP) 指标和跟踪记录
- 应用日志
- 如需查看收集的遥测数据的摘要,请参阅 Ops Agent 概览。
配置 GKE 集群以收集其他数据
默认情况下,GKE 集群会将系统日志和系统指标发送到 Logging 和 Monitoring。Google Cloud Managed Service for Prometheus 处理第三方和用户定义的指标的收集。
- 使用可观测性指标软件包更好地了解应用和集群资源的状态。例如,控制平面指标有助于创建 SLO 以监控服务可用性和延迟时间。
- 监控第三方应用,例如 Postgres、MongoDB 和 Redis。这些集成提供了预配置的信息中心和提醒政策。
配置 Cloud Run 以收集自定义数据
如果您有一项可写入 Prometheus 指标的 Cloud Run 服务,则您可以使用 Prometheus 边车将指标发送到 Cloud Monitoring。
如果 Cloud Run 服务改为写入 OTLP 指标,您可以使用 OpenTelemetry 边车。如需查看示例,请参阅使用 Sidecar 收集 OTLP 指标的教程。