跳到主要内容

OpenTelemetry 集成

OpenTelemetry 是一个由 CNCF 支持的项目,它提供了厂商中立的可观测性 API 和 SDK,可以以一致的方式对您的应用程序进行插桩并收集遥测数据。MLflow Tracing 完全兼容 OpenTelemetry,使其摆脱了厂商锁定的限制。

OpenTelemetry

将 OpenTelemetry Traces 摄入 MLflow

MLflow Server 在 /v1/traces 公开了一个 OTLP 端点。该端点允许您从支持 OpenTelemetry 协议的任何语言编写的应用程序(如 Java、Go、Rust 等)收集 traces。

将 MLflow Traces 导出到 OpenTelemetry 后端

MLflow SDK 生成的 Traces 完全兼容 OpenTelemetry trace 规范,允许您将 traces 导出到任何支持 OpenTelemetry 协议的可观测性平台,如 Datadog、Grafana、Prometheus 等。

理解语义约定

MLflow 理解 GenAI 的流行 OpenTelemetry 语义约定,如 GenAI Semantic Conventions、OpenInference、OpenLLMetry 等。使用这些约定生成的 Traces 在 MLflow 中被视为一等公民,并且可以被 pipelined 到其他 MLflow 功能。

OpenTelemetry 原生 MLflow Tracing SDK

要快速开始使用厂商中立的 tracing,您可以使用 OpenTelemetry 原生的 MLflow Tracing SDK。该 SDK 为流行的 GenAI 库提供了便捷的一行代码自动 tracing 体验,并用提示、token 使用量、模型名称等丰富的 AI 特定元数据增强了通用的 OpenTelemetry traces。请参阅快速入门以开始使用 MLflow Tracing SDK。

python
import mlflow
from openai import OpenAI

mlflow.openai.autolog()

client = OpenAI()
response = client.responses.create(model="gpt-5", input="Hello, world!")

MLflow Tracing SDK 也能与已使用 OpenTelemetry 插桩的应用程序无缝协同工作。使用 MLflow 的 AI tracing 功能增强您现有的 HTTP 框架、数据库、网络调用等遥测数据。

将 OpenTelemetry Traces 摄入 MLflow

MLflow Server 在 /v1/traces (OTLP) 公开了一个 OTLP 端点。该端点允许您从支持 OpenTelemetry 协议的任何语言编写的应用程序(如 Java、Go、Rust 等)收集 traces。

有关如何将 traces 收集到 MLflow Server 的更多详细信息,请参阅将 OpenTelemetry Traces 收集到 MLflow

通过 OTLP 导出 MLflow Traces/Metrics

MLflow traces 和 metrics 可以导出到其他兼容 OpenTelemetry 的后端,如 Datadog、Grafana、Prometheus 等,以与您现有的可观测性平台集成。您还可以使用双重导出功能,同时将 traces 发送到 MLflow 和兼容 OpenTelemetry 的后端。

有关更多详细信息,请参阅通过 OTLP 导出 MLflow Traces/Metrics