选择插桩方法

本页面包含有关在不同Google Cloud 平台(例如 Google Kubernetes Engine [GKE] 和 Cloud Run)上对应用进行插桩处理的建议。如果您的应用尚未插桩,请将这些建议用作指导,以了解如何对应用进行插桩处理,从而将遥测数据发送到 Google Cloud。本页面上的建议不是唯一的解决方案,其他方法也可以。如需获取更多指导信息,请与Google Cloud 支持团队联系。

我们针对以下各项提供了建议:

如需了解插桩示例,请参阅代码示例部分中列出的文档。

GKE

如需了解 GKE 的一般信息,请参阅 GKE 概览。

类型 建议
指标

我们建议您使用 Google Cloud Managed Service for Prometheus。

对于插桩,请执行以下操作之一:

跟踪

执行以下操作:

  1. 使用适用于您的语言的 OpenTelemetry SDK 和 OTLP 导出器。
  2. 配置 OpenTelemetry 收集器,以将 OTLP 跟踪记录发送到 Google Cloud。
日志

配置应用以将 JSON 结构的日志输出到 stdout 和 stderr。如需查看框架列表,请参阅推荐的日志记录框架。

GKE 会自动收集写入 stdout 和 stderr 的日志。如需了解详情,请参阅 GKE 日志简介。

Compute Engine

如需了解 Compute Engine 的一般信息,请参阅虚拟机实例。

类型 建议
指标和跟踪记录

执行以下操作:

  1. 使用适用于您的语言的 OpenTelemetry SDK 和 OTLP 导出器。
  2. 使用 Ops Agent 收集指标和跟踪记录。如需查看示例,请参阅收集 OpenTelemetry 协议 (OTLP) 指标和跟踪记录。

或者,如果您只想为 Prometheus 格式的指标配置收集,可以使用 Ops Agent Prometheus 接收器来收集使用 Prometheus 客户端库或 OpenTelemetry SDK 插桩的指标。

日志

执行以下操作:

  1. 配置应用以将 JSON 结构的日志输出到文件中。如需查看框架列表,请参阅推荐的日志记录框架。
  2. 安装 Ops Agent 并配置接收器。如需查看示例,请参阅日志记录接收器。

Cloud Run

如需了解 Cloud Run 的一般信息,请参阅 Cloud Run 是什么。

类型 建议
指标和跟踪记录

执行以下操作:

  1. 使用适用于您的语言的 OpenTelemetry SDK 和 OTLP 导出器。
  2. 配置 OpenTelemetry Sidecar 以收集指标和跟踪记录。如需查看示例,请参阅使用 OpenTelemetry sidecar 写入 OTLP 指标。
  3. 将 CPU 设置为在 Cloud Run 中始终分配。由于 OpenTelemetry 插桩会执行后台处理,因此我们建议进行插桩的 Cloud Run 服务使用始终分配的 CPU;如需了解详情,请参阅 CPU 分配(服务)。

或者,如果您只想为 Prometheus 格式的指标配置收集,可以使用适用于 Cloud Run 的 Prometheus sidecar 来收集使用 Prometheus 客户端库或 OpenTelemetry SDK 插桩的指标。

日志

配置应用以将 JSON 结构的日志输出到 stdout 和 stderr。如需查看框架列表,请参阅推荐的日志记录框架。

Cloud Run 会自动收集写入 stdout 和 stderr 的日志。如需了解详情,请参阅写入容器日志。

Cloud Run functions

如需了解 Cloud Run functions 函数的一般信息,请参阅 Cloud Run 函数概览。

类型 建议
指标 Cloud Run functions 不支持直接写入指标。如需生成指标,我们建议您使用基于日志的指标。
跟踪 使用适合您的语言的 SDK 和 Cloud Trace 导出器。
日志

配置应用以将 JSON 结构的日志输出到 stdout 和 stderr。如需查看框架列表,请参阅推荐的日志记录框架。

Cloud Run functions 函数会自动收集写入 stdout 和 stderr 的日志。如需了解详情,请参阅查看和写入 Cloud Run functions 函数日志。

App Engine

如需了解 App Engine 的一般信息,请参阅 App Engine 概览。

类型 建议
指标 使用适合您的语言的 SDK 和 Cloud Monitoring 导出器。
跟踪 使用适合您的语言的 SDK 和 Cloud Trace 导出器。
日志

配置应用以将 JSON 结构的日志输出到 stdout 和 stderr。如需查看框架列表,请参阅推荐的日志记录框架。

App Engine 会自动收集写入 stdout 和 stderr 的日志。如需了解详情,请参阅写入和查看日志。

推荐的日志记录框架

如需收集日志,我们建议您使用可配置为将序列化 JSON 对象输出到 stdout、stderr 或文件的框架。Logging 代理(无论是集成的还是安装的)会爬取文件并写入 Cloud Logging 的结构化日志。对于写入日志数据,我们给出以下建议:

代码示例

如需查看演示如何对应用进行插桩处理以将遥测数据发送到 Google Cloud的代码示例,请参阅以下内容:

OpenTelemetry 相关参考信息

本部分提供指向 OpenTelemetry SDK 以及适用于 OTLP、Cloud Trace 和 Cloud Monitoring 的导出器的链接。

一般参考信息:

Go

Java

JavaScript

Python