将 OpenTelemetry 可观测数据集成到平台

概述

当前产品通过 OTel Java Agent 提供对 Java 服务的指标监控和分布式追踪能力。此外,用户还可以将使用 OTel SDK 开发的服务或来自 OpenTelemetry 兼容系统(如 Harbor 和 GitLab)的可观测数据集成到平台中,利用其数据可视化能力。

本文档旨在指导用户如何将这些可观测数据集成到平台中。

前提条件

确保服务或系统所在的集群已部署服务网格。

步骤

1. 配置 OTel Collector 接收器

OTel Collector 的接收器负责接收和解析来自多个来源的数据。根据数据来源和集成协议,OTel Collector 提供多种接收器。

以下是平台上默认启用的接收器及其使用场景:

OTLP 接收器

OTLP(OpenTelemetry 协议)是 OpenTelemetry 推荐的接收追踪、指标和日志数据的标准协议,支持 gRPC 和 HTTP 传输协议。

协议集群地址
HTTPasm-otel-collector.cpaas-system:4318
GRPCasm-otel-collector.cpaas-system:4317

Zipkin 接收器

Zipkin 接收器用于接收 Zipkin 格式的追踪数据,支持来自 Zipkin 客户端的 HTTP 协议传输。

协议集群地址
Zipkinasm-otel-collector.cpaas-system:9411

  • 如何选择合适的接收器?

    1. 确认要收集的数据类型(追踪、指标、日志)及其支持的协议。

    2. 根据外部服务使用的数据格式和传输协议,从平台上支持的 OTel Collector 接收器列表中选择合适的接收器。

2. 将数据集成到平台

用户开发的服务

集成 OpenTelemetry SDK,将由您的服务生成的可观测数据(如追踪、指标和日志)发送到 OTel Collector。具体步骤如下:

  1. 导入 OpenTelemetry SDK。
  2. 初始化 OpenTelemetry。
  3. 生成并发送追踪数据。

OpenTelemetry 社区提供了不同语言的 SDK 使用示例,请参阅官方文档:

可观测软件的集成

外部服务(如 GitLab 和 Harbor)通常已经具备导出数据的能力。您可以查阅相关软件文档以获取具体的配置方法。

在配置中,您需要为 OTel Collector 设置接收器地址,如下所示:

  1. 如果软件部署在与服务网格相同的集群中:

  2. 如果软件无法直接通过集群地址访问 OTel Collector,您可能需要设置负载均衡器以允许外部服务访问。请联系您的管理员以获取进一步的配置帮助。

3. 验证数据集成

  1. 启动外部服务并进行适当的测试以生成追踪数据。

  2. 验证追踪数据是否已成功接收并由平台中的 OTel Collector 处理。

    • 使用平台的追踪功能查询分布式追踪数据,以验证外部数据集成的成功。