Google Cloud 中的可观测性

Google Cloud Observability 包含可观测性服务,可帮助您了解应用(包括代理应用)的行为、运行状况和性能。了解应用的行为方式以及组件的连接方式,有助于您更快、更高效地预测、识别和响应意外更改。

此文档包含以下信息:

可观测性

可观测性是一种全面的方法,可用于收集和分析遥测数据,帮助您了解应用(包括智能体应用)及其运行环境的状态。遥测数据包括日志数据、指标数据和跟踪记录数据。它还可以包含应用生成的其他数据,例如提示和回答。遥测数据可提供您所需的信息,帮助您了解应用的健康状况和性能。

指标数据
指标数据是系统定期测量的关于运行状况或性能的数值数据,例如 CPU 利用率和请求延迟时间。 指标数据出现意外变���可能表示存在需要您调查的问题。随着时间的推移,您还可以分析模式,以了解使用模式并预测资源需求。
日志数据

日志是系统或应用活动随时间生成的记录。每条日志都是一组带时间戳的日志条目,每个日志条目都描述了特定事件。

日志数据通常包含丰富的详细信息,可帮助您了解应用的特定部分发生了什么情况。不过,日志数据无法有效地显示一个应用组件中的更改与其他组件中的活动之间的关系。轨迹数据可以弥合这一差距。

跟踪记录数据

跟踪记录表示请求在分布式应用各组件中的路径。也就是说,每个轨迹都代表一个完整的端到端操作。由于跟踪记录由 span 组成,而 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 资源的指标,例如错误率和 token 使用情况。为了生成这些指标,应用监控会使用遵循 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 中绘制收集的指标数据,在Logs Explorer中查看日志数据,或在 Trace 中查看跟踪记录数据。如需一起查看相关数据,请创建自定义信息中心。例如,您可以创建一个信息中心,其中包含虚拟机的日志数据、效果指标数据和提醒政策。

配置 Compute Engine 虚拟机以收集其他数据

默认情况下,Compute Engine 虚拟机仅收集基本系统指标数据和日志数据。不过,您可以安装 Ops Agent,以便从 Compute Engine 实例和应用收集其他遥测数据,以进行问题排查、性能监控和提醒。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 指标数据的教程。