Exportação de telemetria aberta
Os rastreamentos gerados pelo MLflow são compatíveis com as especificações de rastreamento do OpenTelemetry. Portanto, os traços do MLflow podem ser exportados para várias soluções de observabilidade que suportam o OpenTelemetry.
Por meio do default, o MLflow exporta traços para o servidor de acompanhamento MLflow. Para permitir a exportação de rastreamentos para um OpenTelemetry Collector, defina a variável de ambiente OTEL_EXPORTER_OTLP_ENDPOINT
(ou OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
) como o URL de destino do OpenTelemetry Collector antes de iniciar qualquer rastreamento .
import mlflow
import os
# Set the endpoint of the OpenTelemetry Collector
os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = "http://localhost:4317/v1/traces"
# Optionally, set the service name to group traces
os.environ["OTEL_SERVICE_NAME"] = "<your-service-name>"
# Trace will be exported to the OTel collector at http://localhost:4317/v1/traces
with mlflow.start_span(name="foo") as span:
span.set_inputs({"a": 1})
span.set_outputs({"b": 2})
O MLflow exporta apenas traços para um único destino. Quando o OTEL_EXPORTER_OTLP_ENDPOINT
variável de ambiente estiver configurado, o MLflow não exportará traços para o Databricks MLflow acompanhamento e o senhor não verá traços na interface do usuário MLflow.
Da mesma forma, se o senhor implantar o modelo no site Databricks servindo modelo com o rastreamento ativado, o uso do OpenTelemetry Collector fará com que os rastreamentos não sejam registrados na tabela de inferências.
Clique nos ícones a seguir para saber mais sobre como configurar o OpenTelemetry Collector para sua plataforma de observabilidade específica.
Plataforma | Documentação do OpenTelemetria |
---|---|
Cão de dados | |
New Relic | |
SignOz | |
Splunk | |
Grafana | |
ServiceNow (Lightstep) |
Configurações
O MLflow usa o OTLP Exporter padrão para exportar traços para instâncias do OpenTelemetry Collector. Assim, você pode usar todas as configurações suportadas pelo OpenTelemetry. O exemplo a seguir configura o OTLP Exporter para usar o protocolo HTTP em vez do default gRPC e define cabeçalhos personalizados:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="http://localhost:4317/v1/traces"
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL="http/protobuf"
export OTEL_EXPORTER_OTLP_TRACES_HEADERS="api_key=12345"
Próximas etapas
- Entenda os conceitos de rastreamento - Saiba como os rastreamentos compatíveis com OpenTelemetry do MLflow são estruturados
- Instrumente seu aplicativo com rastreamento - Adicione extensões personalizadas para enriquecer suas exportações do OpenTelemetry
- Depure problemas de produção - Use rastreamentos exportados para monitorar aplicativos de produção