选择插桩方法

本页面包含有关在不同 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 结构的日志输出到 stdoutstderr。如需查看框架列表,请参阅推荐的日志记录框架

GKE 会自动收集写入 stdoutstderr 的日志。如需了解详情,请参阅 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 结构的日志输出到 stdoutstderr。如需查看框架列表,请参阅推荐的日志记录框架

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

Cloud Functions

如需了解 Cloud Functions 的一般信息,请参阅 Cloud Functions 概览

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

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

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

App Engine

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

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

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

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

推荐的日志记录框架

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

代码示例

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

OpenTelemetry 相关参考信息

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

一般参考信息:

Go

Java

JavaScript

Python