通过OpenTelemetry接入Java应用数据

OpenTelemetry简介

OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方供应商无关的服务。它是一组标准和工具的集合,旨在管理观测类数据,如 Traces、Metrics、Logs 等 ,目前已经是业内的标准。

前提条件

  • 下载OpenTelemetry Agent
  • 下载OpenTelemetry Collector
  • 目前基调听云应用与微服务只支持OpenTelemetry Java探针的数据接入。
  • 在平台获取License 及接入点信息,具体操作如下:

    • 获取License:将鼠标悬浮在平台左下角的账号名称位置,在悬浮菜单中选择账户管理,在账号信息页签中查看LicenseKey。

      img

    • 获取接入点信息:接入点为应用与微服务Data Center开放的一个端口。您可以在SkyWalking探针接入页面中获取接入点信息。

      image-20220925215632342

数据上报说明

您可以通过两种方式集成OpenTelemetry Trace和Metric数据,分别是直接上报和OpenTelemetry Collector转发。向基调听云应用与微服务Data Center上报数据时目前仅支持HTTP协议。

img

直接上报

如果您的应用使用了OpenTelemetry Agent,可以通过OpenTelemetry gRPC协议直接向DC发送数据,您只需要配置接入点信息以及license信息。您可以通过以下两种方式直接上报数据。

  • 方式一:通过修改Java启动的VM参数上报数据。
java -javaagent:<opentelemetry-agent-path>
         -Dotel.service.name=<appName>
       -Dotel.exporter.otlp.protocol=http/protobuf
         -Dotel.exporter.otlp.endpoint=<endpoint>
         -Dotel.resource.attributes=tingyun.license=<license>
         -jar myapp.jar
  • 方式二:通过新增环境变量上报数据。
#新增环境变量
OTEL_RESOURCE_ATTRIBUTES=tingyun.license=<license>
OTEL_SERVICE_NAME=<appName>
OTEL_EXPORTER_OTLP_ENDPOINT=<endpoint>
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

#启动应用
java -javaagent:<opentelemetry-agent-path> \
     -jar myapp.jar

OpenTelemetry Collector转发

如果您的应用使用了OpenTelemetry Agent和OpenTelemetry Collector,OpenTelemetry Agent将接入点配置为本地部署的OpenTelemetry Collector地址后(无需修改其他配置),需在OpenTelemetry Collector配置OTLP Exporter向应用与微服务的DC上报数据。

  1. 修改collector 配置文件otel-config.yaml,并按照下发配置修改exporters部分。

    exporters:
      otlphttp:
        endpoint: <endpoint>
    service:
      pipelines:
        traces:
          exporters: [otlphttp]
        metrics:
          exporters: [otlphttp]
    
  2. 启动OpenTelemetry Collector。

组件支持列表

OpenTelemetry Java探针支持的组件列表,请参见此文档

平台暂不支持功能

基调听云应用与微服务对接入的OpenTelemetry 探针数据暂不支持以下功能:

  • 无心跳告警
  • 应用分析

    • 定义指标
  • 线程剖析
    • JVM信息下HTTP信息的展示
    • 环境信息下除环境信息以外的信息
  • 事务分析

    • 自定义指标
  • 线程剖析
  • 连接池
  • 健康规则
  • 应用配置(包括所有配置:自定义嵌码、采样率、配置数据项等)
  • 追踪详情:全栈快照、数据项

results matching ""

    No results matching ""