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

目录

Overview

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

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

Prerequisites

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

Steps

1. 配置 OTel Collector 接收器

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

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

OTLP Receiver

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

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

Zipkin Receiver

Zipkin Receiver 用于接收 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 是否成功接收并处理了追踪数据。

    • 使用平台的Tracing功能查询分布式追踪数据,确认外部数据集成是否成功。