Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie Microsoft Foundry Toolkit für Visual Studio Code, um lokale Ablaufverfolgungen zu sammeln oder Telemetriedaten für Agents anzuzeigen, die für Microsoft Foundry bereitgestellt wurden. Eine Ablaufverfolgung gruppiert aufgezeichnete Vorgänge für eine Anfrage. Jeder Vorgang ist ein Span mit Zeitangaben, Status und allen Attributen oder Ereignissen, die von der Instrumentierung bereitgestellt werden.
In diesem Artikel wird zuerst die lokale Sammlung und dann die Cloudablaufverfolgung für bereitgestellte Agents behandelt. Wählen Sie die Datenquelle aus, die Ihrer Untersuchung entspricht:
| Approach | Verwenden Sie es für | Daten und Zuständigkeiten |
|---|---|---|
| Agent Inspector | Senden Sie eine lokale Anfrage, prüfen Sie Live-Antworten und Tool-Ereignisse oder halten Sie den Code an einem Haltepunkt an. | Der Server liefert Protokollereignisse und Entwicklungsdiagnosen. Für diesen Ansatz ist der OTLP-Sammler nicht erforderlich, und es wird kein Cloud-Trace-Verlauf erstellt. |
| Lokales Nachverfolgen | Vergleichen Sie aufgezeichnete Modell-, Tool- und Agenten-Spans während der Entwicklung. | Ihre Anwendung exportiert Telemetrie an den lokalen Sammler des Toolkits. Sie konfigurieren die Instrumentierung und verwalten die gespeicherten lokalen Daten. |
| Ablaufverfolgung für Hosted-Agents | Untersuchen Sie Anfragen, die von einem für Foundry bereitgestellten Agent verarbeitet werden. | Ablaufverfolgungen befinden sich in der verbundenen Application Insights-Ressource des Projekts. Zugriff, Aufbewahrung und Gebühren folgen der Azure Ressourcenkonfiguration. |
Ein gehosteter Agent führt Ihren benutzerdefinierten Code im Foundry Agent Service aus. Foundry verwaltet hosting, aber Sie bleiben für den Code und die Abhängigkeiten verantwortlich. Die Ablaufverfolgung ersetzt nicht die Agenterstellung und -bereitstellung.
Prerequisites
- Visual Studio Code mit der aktuellen öffentlichen Foundry Toolkit-Erweiterung. Siehe Foundry Toolkit installieren.
- Eine Anwendung, die Sie lokal ausführen können, mit konfigurierten Modell- und Toolverbindungen.
- Im ersten Beispiel eine Python-Microsoft-Agent-Framework-Anwendung und die ausgewählte Python-Umgebung. Verwenden Sie für andere SDKs das Python- oder JavaScript und TypeScript-Setup.
- Für die Cloudablaufverfolgung sind ein bereitgestellter Agent und eine mit dem Foundry-Projekt verbundene Application Insights-Ressource oder die Berechtigung, eine Verbindung herzustellen oder eine zu erstellen, erforderlich.
- Für Cloudabfragen die Log Analytics Reader-Rolle für die verbundene Application Insights-Ressource. Weisen Sie für geschützte Tabellen auch die Rolle "Privileged Monitoring Data Reader" zu. Siehe die Voraussetzungen für die Foundry-Ablaufverfolgung.
Für die lokale Sammlung sind keine Application Insights- oder Cloud-Telemetrieberechtigungen erforderlich. Modellaufrufe und Toolausführung können weiterhin Remotedienste nutzen und Kosten verursachen.
Lokale Ablaufverfolgungen erfassen
Der lokale Sammler empfängt Telemetrie über das OpenTelemetry-Protokoll (OTLP). Eine Anwendung wird nicht automatisch instrumentiert. Ihr Framework oder eine Instrumentierungsbibliothek muss Spans erstellen und an den Collector exportieren.
Einrichtung von SDK und Sprache
SDKs mit integrierter Instrumentierung benötigen weiterhin einen Exporter. Andere SDKs verwenden ein separates Instrumentierungspaket.
| SDK oder Framework | Python | JavaScript und TypeScript (Node.js) |
|---|---|---|
| Microsoft Agent Framework | Integrierte OpenTelemetry-Instrumentierung. | Keine spezielle Anleitung zur Einrichtung des Toolkits. |
| Azure AI Inference SDK (Vorschau) | Azure SDK Instrumentor. | Azure SDK Instrumentierung. |
| Foundry Projects SDK | Clientseitiger Instrumentor (Vorschau). | Instrumentieren Sie den zugrunde liegenden OpenAI- oder Azure-SDK-Client. |
| Foundry classic Agents SDK | Azure SDK Instrumentor. | Keine spezielle Anleitung zur Einrichtung des Toolkits. |
| Anthropic | OpenLLMetry-Instrumentor. | Traceloop-Instrumentierung. |
| Google GenAI (Gemini) | Google GenAI OpenTelemetry Instrumentor. | Keine spezielle Anleitung zur Einrichtung des Toolkits. |
| LangChain | OpenLLMetry-Instrumentor. | Traceloop-Instrumentierung. |
| OpenAI SDK, einschließlich Azure OpenAI-Clients | OpenLLMetry-Instrumentor. | Traceloop-Instrumentierung. |
| OpenAI Agents SDK | OpenLLMetry-Trace-Prozessor. | Keine dedizierte Einrichtungsanleitung für das Toolkit. |
"Kein dedizierter Toolkit-Einrichtungsleitfaden" bedeutet, dass hier kein SDK-spezifischer Setuppfad für diese Sprache vorhanden ist und nicht, dass der Sammler seine Telemetrie ablehnt. Der Sammler akzeptiert OTLP-Daten. Die Instrumentierung bestimmt, welche Operationen und Nachrichtendetails erfasst werden.
In diesen Beispielen werden ausgewählte Instrumentierungsoptionen verwendet, nicht als vollständige Liste kompatibler Bibliotheken. Die OpenLLMetry- und Traceloop-Instrumentierung sind keine Microsoft-Bibliotheken.
Instrumentierung einrichten
Verwenden Sie diese Vorgehensweise mit einer vorhandenen Python Agent Framework-Anwendung. Lassen Sie den Agenten und den Sammler für diese Anleitung in derselben lokalen Umgebung.
Wählen Sie in der Aktivitätsleiste Foundry Toolkit und dann Developer Tools>Monitor>Tracing aus.
Wählen Sie "Collector starten" aus, bevor Sie die Anwendung ausführen.
Installieren Sie in der Python-Umgebung der Anwendung den gRPC-Exporter, wenn er noch nicht in Ihren Abhängigkeiten deklariert ist:
python -m pip install opentelemetry-exporter-otlp-proto-grpcReferenz: OpenTelemetry Python OTLP-Exporter.
Konfigurieren Sie OpenTelemetry einmal beim Anwendungsstart, bevor Sie den Agenten initialisieren oder ausführen:
import os os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "http://localhost:4317" os.environ["OTEL_EXPORTER_OTLP_PROTOCOL"] = "grpc" from agent_framework.observability import configure_otel_providers configure_otel_providers(enable_sensitive_data=False)Referenz: Observability des Agent-Frameworks.
Wenn Ihre Anwendung oder Hostingbibliothek bereits OpenTelemetry-Anbieter konfiguriert, konfigurieren Sie ihre vorhandenen Exporteure, anstatt ein weiteres Anbietersetup hinzuzufügen. Signalspezifische
OTEL_EXPORTER_OTLP_*_ENDPOINTVariablen können den Basisendpunkt überschreiben. Prüfen Sie, ob vorhandene Trace-, Protokoll- oder Metrikeinstellungen auf einen anderen Ort verweisen.Führen Sie die Anwendung mit ihrem normalen Einstiegspunkt aus, und senden Sie eine Anforderung, die den Agenten anspricht. Lassen Sie die Anfrage abschließen und dem Exporter Zeit zum Senden von Telemetrie geben, bevor der Prozess beendet wird.
Wählen Sie in AblaufverfolgungAktualisieren aus, und wählen Sie dann die neue Ablaufverfolgung aus, um ihre Spans zu untersuchen.
Agent Framework-Instrumente unterstützen Modellclients, Agents und Workflowvorgänge. Andere Frameworks können eine Instrumentierungsbibliothek erfordern. Die OTLP-Kompatibilität ermöglicht es dem Sammler, Daten zu empfangen, während ausgegebene Attribute und generative AI-Semantikkonventionen bestimmen, was der Viewer anzeigt.
Verwenden Sie für ein anderes SDK oder eine andere Sprache das folgende Setup anstelle der Agent Framework-Konfiguration. Starten Sie zuerst den Collector, konfigurieren Sie die Instrumentierung, bevor Sie Clients erstellen, führen Sie dann Ihre Anwendung aus und aktualisieren Sie die Trace-Liste.
Collector-Endpunkte
Ordnen Sie das Exporter-Protokoll dem Collector-Endpunkt zu. Das Toolkit lauscht auf "localhost" mit den folgenden Standardwerten:
| Exporteur | Endpunkt |
|---|---|
| OTLP gRPC | http://localhost:4317 |
| OTLP HTTP Trace-Exporter | http://localhost:4318/v1/traces |
| OTLP HTTP-Protokollexporteur | http://localhost:4318/v1/logs |
Einige HTTP-Exporteure akzeptieren http://localhost:4318 und hängen den Signalpfad selbst an. Folgen Sie der Konfiguration des Exporters, anstatt den Pfad zweimal anzufügen. Einige Instrumentierungsbibliotheken senden Nachrichteninhalte als Protokolldatensätze, sodass das Exportieren von Spans allein möglicherweise keine Eingabe- und Ausgabedetails bereitstellt.
Diese Ports stehen in keinem Zusammenhang mit den Ports des Agent-HTTP-Servers und den Debugger-Ports. In einer Container- oder Remoteentwicklungsumgebung localhost bezieht sich auf diese Umgebung. Richten Sie die entsprechende Verbindung mit dem Collector ein, anstatt davon auszugehen, dass sie sich auf Ihren Desktop bezieht.
Python SDK-Setup
In den folgenden Beispielen wird davon ausgegangen, dass Ihre Anwendung bereits über das Modell-SDK, anmeldeinformationen und Modellkonfiguration verfügt. Installieren Sie die gemeinsamen Abhängigkeiten und das zusätzliche Paket für Ihr SDK entsprechend der folgenden Tabelle:
python -m pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http
Referenz: OpenTelemetry Python SDK, OTLP-Exporteure.
Fügen Sie diese gemeinsame Konfiguration einmal beim Anwendungsstart hinzu und anschließend die Instrumentierung aus einer Zeile der Tabelle. Kombinieren Sie sie nicht mit dem Anbietersetup einer anderen Bibliothek.
import os
os.environ["TRACELOOP_TRACE_CONTENT"] = "false"
os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "false"
os.environ["AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED"] = "false"
from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
OTLPSpanExporter,
)
provider = TracerProvider(
resource=Resource.create({"service.name": "my-agent"})
)
provider.add_span_processor(BatchSpanProcessor(
OTLPSpanExporter(endpoint="http://localhost:4318/v1/traces")
))
trace.set_tracer_provider(provider)
Referenz: TracerProvider und Span-Prozessoren, OTLPSpanExporter.
Installieren Sie das Paket in der ausgewählten Zeile mit python -m pip install <package>. Die Beispiele für OpenAI, Anthropic, LangChain sowie die separaten OpenAI-Agents-Beispiele verwenden OpenLLMetry-Instrumentierung, die nicht von Microsoft stammt. SDK-Versionen und Modell-APIs können verschiedene Details liefern.
| SDK | Zusätzliches Paket | Instrumentierung nach dem gemeinsamen Setup |
|---|---|---|
| OpenAI, einschließlich Azure OpenAI-Clients | opentelemetry-instrumentation-openai |
from opentelemetry.instrumentation.openai import OpenAIInstrumentorOpenAIInstrumentor().instrument() |
| Anthropic | opentelemetry-instrumentation-anthropic |
from opentelemetry.instrumentation.anthropic import AnthropicInstrumentorAnthropicInstrumentor().instrument() |
| LangChain | opentelemetry-instrumentation-langchain |
from opentelemetry.instrumentation.langchain import LangchainInstrumentorLangchainInstrumentor().instrument() |
| Google GenAI | opentelemetry-instrumentation-google-genai |
os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "NO_CONTENT"from opentelemetry.instrumentation.google_genai import GoogleGenAiSdkInstrumentorGoogleGenAiSdkInstrumentor().instrument() |
| Clientseitige Ablaufverfolgung von Foundry Projects (Vorschau) |
azure-core-tracing-opentelemetry, neben azure-ai-projects |
os.environ["AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING"] = "true"from azure.ai.projects.telemetry import AIProjectInstrumentorAIProjectInstrumentor().instrument(enable_content_recording=False) |
| Foundry classic Agents SDK |
azure-core-tracing-opentelemetryneben azure-ai-agents |
os.environ["AZURE_SDK_TRACING_IMPLEMENTATION"] = "opentelemetry"from azure.ai.agents.telemetry import AIAgentsInstrumentorAIAgentsInstrumentor().instrument() |
| Azure AI Inference SDK (Vorschau) |
azure-core-tracing-opentelemetry neben azure-ai-inference |
os.environ["AZURE_SDK_TRACING_IMPLEMENTATION"] = "opentelemetry"from azure.ai.inference.tracing import AIInferenceInstrumentorAIInferenceInstrumentor().instrument() |
Folgen Sie für Foundry Projects den clientseitigen Ablaufverfolgungsleitfaden und erstellen Sie ihren OpenAI-Client nach der Instrumentierung. Diese Anleitung unterscheidet sich vom klassischen Agents SDK. Instrumentieren Sie nicht dieselben OpenAI-Aufrufe sowohl mit AIProjectInstrumentor als auch mit einem separaten OpenAI-Instrumentor.
Für opentelemetry-instrumentation-openai-agents installieren Sie und fügen Sie diesen Code nach dem gemeinsamen Setup hinzu:
from agents import set_trace_processors
from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor
set_trace_processors([])
OpenAIAgentsInstrumentor().instrument()
Referenz: OpenAI Agents Instrumentation, OpenAI Agents Tracing.
In diesem Beispiel werden vorhandene Trace-Prozessoren ersetzt, bevor der OpenTelemetry-Prozessor hinzugefügt wird. Ohne diesen Ersatz kann das SDK auch Ablaufverfolgungen in das Standard-Back-End exportieren. Wenn Sie vorhandene Prozessoren verwenden, überprüfen Sie die Ablaufverfolgungsziele, bevor Sie sie ändern. Lassen Sie die SDK-Ablaufverfolgung aktiviert, damit der OpenTelemetry-Prozessor Ereignisse empfängt.
Nachdem eine kurzlebige Anwendung ihre Anfragen abgeschlossen hat, rufen Sie vor dem Beenden provider.force_flush() auf, um gepufferte Spans zu senden. Wenn Sie Hilfe bei der Anpassung dieser Codeausschnitte benötigen, verwenden Sie das Tool „Codegenerierung für die Ablaufverfolgung“ des Toolkits.
Export von Nachrichtenprotokolldatensätzen
Einige Instrumentierungen geben Nachrichteninhalte eher als OpenTelemetry-Logdatensätze denn als Span-Attribute aus. Wenn Sie diesen Inhalt in einem kontrollierten Entwicklungstest aufzeichnen möchten, fügen Sie dieses Setup einmal zusammen mit dem vorherigen Python Ablaufverfolgungsanbieter hinzu:
from opentelemetry import _logs
from opentelemetry.sdk._logs import LoggerProvider
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
logger_provider = LoggerProvider(resource=provider.resource)
logger_provider.add_log_record_processor(BatchLogRecordProcessor(
OTLPLogExporter(endpoint="http://localhost:4318/v1/logs")
))
_logs.set_logger_provider(logger_provider)
Referenz: OpenTelemetry Python-Protokollierungs-SDK, OTLPLogExporter.
Rufen Sie logger_provider.force_flush() auf, bevor Sie eine kurzlebige Anwendung beenden. Ein Protokollexporteur aktiviert die Inhaltserfassung nicht selbst. Befolgen Sie die Inhaltseinstellungen Ihres Instrumentierungs-Tools und die Richtlinien zur Datenverarbeitung.
JavaScript- und TypeScript SDK-Setup
Teilen Sie für Node.js Anwendungen einen Tracer-Provider, und registrieren Sie die Instrumentierung für Ihr SDK. In diesem Beispiel werden CommonJS und die OpenTelemetry JavaScript 2.x-Anbieterkonfiguration verwendet. TypeScript-Anwendungen, die in CommonJS kompiliert wurden, können dieselbe Initialisierungsreihenfolge verwenden.
Ihre Anwendung muss bereits über das Modell-SDK, die Anmeldeinformationen und die Modellkonfiguration verfügen. Installieren Sie die freigegebenen Abhängigkeiten und den OpenAI-Instrumentor:
npm install @opentelemetry/api @opentelemetry/sdk-trace-node \
@opentelemetry/sdk-trace-base @opentelemetry/exporter-trace-otlp-proto \
@opentelemetry/instrumentation @traceloop/instrumentation-openai
Referenz: OpenTelemetry JavaScript-Exporteure, OpenAI-Instrumentierung.
Erstellen Sie tracing.cjs:
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const {
OTLPTraceExporter
} = require('@opentelemetry/exporter-trace-otlp-proto');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { OpenAIInstrumentation } = require('@traceloop/instrumentation-openai');
const provider = new NodeTracerProvider({
spanProcessors: [
new BatchSpanProcessor(new OTLPTraceExporter({
url: 'http://localhost:4318/v1/traces'
}))
]
});
provider.register();
registerInstrumentations({
instrumentations: [new OpenAIInstrumentation({ traceContent: false })]
});
module.exports = provider;
Referenz: NodeTracerProvider, OpenAI-Instrumentierung.
Laden Sie diese Datei, bevor Sie das Modell-SDK importieren oder per require einbinden. Führen Sie beispielsweise node --require ./tracing.cjs app.cjs für eine CommonJS-Anwendung aus. Ersetzen Sie für ein anderes SDK das OpenAI-Paket, den Import und den Registrierungseintrag durch die entsprechende Zeile:
| SDK | Instrumentationspaket | Import und Registrierung |
|---|---|---|
| OpenAI, einschließlich Azure OpenAI-Clients | @traceloop/instrumentation-openai |
const { OpenAIInstrumentation } = require('@traceloop/instrumentation-openai');new OpenAIInstrumentation({ traceContent: false }) |
| Anthropic | @traceloop/instrumentation-anthropic |
const { AnthropicInstrumentation } = require('@traceloop/instrumentation-anthropic');new AnthropicInstrumentation({ traceContent: false }) |
| LangChain | @traceloop/instrumentation-langchain |
const { LangChainInstrumentation } = require('@traceloop/instrumentation-langchain');new LangChainInstrumentation({ traceContent: false }) |
| Azure SDK Vorgänge, einschließlich Azure AI Inference | @azure/opentelemetry-instrumentation-azure-sdk |
const { createAzureSdkInstrumentation } = require('@azure/opentelemetry-instrumentation-azure-sdk');createAzureSdkInstrumentation() |
Die Traceloop-Pakete sind keine Microsoft-Instrumentierung. Instrumentiere für eine Foundry Projects-Anwendung den Client, der die Modellanfrage stellt. Azure SDK Instrumentierung ersetzt die OpenAI-Instrumentierung nicht für Aufrufe, die über einen OpenAI-Client getätigt werden.
Folgen Sie für systemeigene ECMAScript-Module dem ESM-Setup von OpenTelemetry. Das Laden der Instrumentierung nach dem Ziel-SDK kann dazu führen, dass Aufrufe nicht instrumentiert werden. Warten Sie beim Herunterfahren, nachdem Anfragen abgeschlossen sind, provider.shutdown() um gepufferte Spans zu exportieren.
Important
In diesen Beispielen wird die Nachrichteninhaltserfassung für die aufgeführten GenAI-Instrumentoren deaktiviert. Dies ist keine allgemeine Schwärzungsgarantie. Überprüfen Sie andere Exporteure, SDK-Protokollierung, Spanattribute und benutzerdefinierte Instrumentierung, bevor Sie Daten freigeben. Überprüfen Sie die Dokumentation des verknüpften Instrumentors auf unterstützte Pakete und APIs.
Lokale Traces überprüfen und verwalten
Verwenden Sie die Span-Struktur, um den Verlauf der Anfrage von der Agent-Orchestrierung bis hin zu Modell- und Toolvorgängen nachzuverfolgen.
- Wählen Sie einen langsamen oder fehlgeschlagenen Span aus.
- Überprüfen Sie die Dauer und den Status.
- Öffnen Sie Input + Output für aufgezeichnete Nachrichten, wenn sie von der Instrumentierung bereitgestellt werden, oder Metadaten für Span-Attribute.
In den Beispielen bleibt die Erfassung vertraulicher Inhalte deaktiviert. Zeitangaben ohne Nachrichten können das erwartete Ergebnis sein.
Legen Sie für einen kontrollierten Agent Framework-Entwicklungstest enable_sensitive_data=True in der vorhandenen Konfiguration fest, um unterstützte Eingabeaufforderungs-, Antwort- und Toolinhalte aufzuzeichnen. Setzen Sie es auf False zurück, wenn der Test abgeschlossen ist. Andere Instrumentierer verfügen über eigene Inhaltseinstellungen.
Vorsicht
Die Inhaltsaufzeichnung kann personenbezogene Daten, Geheimnisse, Toolargumente und Ergebnisse erfassen. Verwenden Sie nicht vertrauliche Testdaten, und minimieren oder schwärzen Sie Inhalte, bevor sie in die Telemetrie eingehen. Aktivieren Sie die Aufzeichnung von Produktionsaktivitäten nicht nur, um eine leere Eingabe- und Ausgabeansicht auszufüllen.
Gesammelte Ablaufverfolgungen bleiben in einer lokalen SQLite-Datenbank mit dem tracing Namen traces.dbim Unterverzeichnis .aitk unter Ihrem Benutzerstartordner erhalten. Durch das Schließen des Viewers werden sie nicht gelöscht.
Wählen Sie Stop Collector aus, um die lokale Erfassung zu stoppen. Ihr Agent und dessen Modellaufrufe werden weiterhin ausgeführt. Um lokale Datensätze zu entfernen, wählen Sie die Ablaufverfolgungen in der Liste aus, und wählen Sie "Löschen" aus.
Der lokale Speicher ist von Application Insights getrennt. Das Löschen lokaler Ablaufverfolgungen entfernt keine Cloud-Telemetrie, und das Löschen einer Unterhaltung im Inspektor löscht keinen der beiden Speicher.
Ablaufverfolgungen gehosteter Agenten anzeigen
Verwenden Sie nach der Bereitstellung Cloudablaufverfolgungen, um den agent zu untersuchen, der in Foundry ausgeführt wird, anstatt ihren lokalen Prozess. Das Toolkit fragt die verbundene Application Insights-Ressource des Projekts ab. Die lokale Ablaufverfolgungsdatenbank wird nicht hochgeladen.
Bestätigen Sie die Cloudvoraussetzungen , bevor Sie beginnen. Der Zugriff auf den Agenten allein gewährt keine Berechtigung zum Abfragen der Telemetrie.
Verbinden von Application Insights und Prüfen einer Anforderung
Verwenden Sie die Registerkarte "Traces" des Agents, um Application Insights zu verbinden und eine Anfrage eines bereitgestellten Agents zu finden.
Öffnen Sie in der Randleiste des Foundry Toolkits Meine Ressourcen>. Wählen Sie die Registerkarte Hosted Agent aus und dann den Namen des Agents.
Wählen Sie Ablaufverfolgungen aus. Wenn das Projekt über keine verbundene Ressource verfügt, wählen Sie "App Insights aktivieren" aus.
Wählen Sie in den App Insights-Einstellungen einen vorhandenen Application Insights-Ressourcennamen aus. Alternativ können Sie eine Ressource erstellen und die erforderlichen Ressourcen- und Arbeitsbereichsfelder abschließen. Wählen Sie Absenden aus und warten Sie auf die Bestätigung.
Dadurch wird die freigegebene Application Insights-Verbindung des Projekts geändert, nicht eine lokale Arbeitsbereichseinstellung. Die Ressourcenerstellung und Telemetrieerfassung kann Azure-Gebühren verursachen. Bestätigen Sie das beabsichtigte Projekt und die beabsichtigte Ressource vor der Übermittlung.
Kehren Sie zum Playground zurück, und senden Sie eine Testanforderung an den bereitgestellten Agent.
Warten Sie, bis die Erfassung abgeschlossen ist, und öffnen Sie dann Traces erneut. Verwenden Sie die Filter Zeitraum, Suche nach Konversations-ID, Status oder Dauer, um die Anforderung zu finden.
Wählen Sie eine Ablaufverfolgung und dann einen Span aus, um Metadaten und Eingabe + Ausgabe zu überprüfen, wenn Inhalte verfügbar sind.
Um Vorgänge zu prüfen, die einer Unterhaltung zugeordnet sind, wählen Sie in der Ablaufverfolgungsliste ihre Konversations-ID aus. Die Konversationsansicht zeigt einen Operationsbaum und Metadaten an.
Das Verbinden von Application Insights ermöglicht die serverseitige Ablaufverfolgung von Foundry. Der Einblick in Ihre Modellaufrufe, Toolaufrufe und benutzerdefinierten Code hängt auch von der Instrumentierung der Hostbibliothek und des Frameworks ab. Siehe Einrichten der Ablaufverfolgung in Foundry für dienstseitige Sammlung und zusätzliche Clientinstrumentation.
Die Ablaufverfolgungsdetailabfrage des Toolkits deckt derzeit die letzten sieben Tage ab. Dies ist ein Abfragefenster, keine Aufbewahrungseinstellung. Verwenden Sie für ältere Daten das Foundry-Portal oder Azure Monitor, vorbehaltlich der Aufbewahrungskonfiguration des verbundenen Arbeitsbereichs.
Daten, Zugriff, Aufbewahrung und Kosten
Entscheiden Sie, wohin Telemetrie gehen soll, bevor Sie die Inhaltserfassung aktivieren oder eine Cloudressource verbinden. Dieselbe Anforderung kann lokale Spans, Cloud-Telemetrie und Daten generieren, die an Modell- oder Toolanbieter gesendet werden.
| Datenquelle | Responsibilities |
|---|---|
| Lokale Traces | Schützen Sie den Zugriff auf die lokale Datenbank und die kopierten Daten. Wenn Sie den Collector beenden, werden andere Exporter, die in Ihrer Anwendung konfiguriert sind, nicht beendet. |
| Cloud-Traces | Application Insights und Log Analytics steuern Zugriffs-, Aufbewahrungs- und Telemetriegebühren. Toolkit-Filter ändern diese Richtlinien nicht. |
| Modell- und Toolaufrufe | Die lokale Sammlung verhindert nicht, dass Anfragen Ihren Computer verlassen. Überprüfen Sie die Datenverarbeitung aller verbundenen Dienste, einschließlich Nicht-Microsoft-Tools. |
Verwenden Sie die Anleitungen zur Foundry-Ablaufverfolgung für Sicherheit und Datenschutz und Datenaufbewahrung und -kosten. Befolgen Sie für Produktionsidentität, Netzwerktrennung und nachgeschalteten Zugriff die Sicherheit und Datenverarbeitung gehosteter Agents. Behandeln Sie lokale Anmeldeinformationen nicht als berechtigungen des bereitgestellten Agents.
Troubleshooting
| Issue | Was soll überprüft werden? |
|---|---|
| Die Ablaufverfolgung ist in der Randleiste nicht verfügbar. | Vergewissern Sie sich, dass die betreffende Erweiterung installiert und in der Umgebung aktiviert ist, in der Sie sie ausführen. Für die lokale Ablaufverfolgung muss die systemeigene SQLite-Komponente geladen werden. |
| Der Collector startet nicht. | Prüfen Sie, ob ein anderer Prozess Port 4317 oder 4318 verwendet, und überprüfen Sie die Toolkit-Ausgabe. Vermeiden Sie konkurrierende Sammler auf denselben Ports. |
| Eine lokale Anforderung ist erfolgreich, aber es wird kein Trace angezeigt. | Bestätigen Sie, dass die Instrumentierung vor der Anfrage ausgeführt wird, der Collector läuft und der Exporter das richtige Protokoll sowie den richtigen Endpunkt verwendet. Überprüfen Sie Endpunktüberschreibungen, Exporterfehler und gepufferte Telemetrie und wählen Sie dann Aktualisieren aus. |
| Spans werden ohne Meldungen angezeigt. | Überprüfen Sie die Einstellungen zur Inhaltsaufzeichnung und die unterstützten Attribute. Einige Bibliotheken erfordern auch einen Protokollexportierer. Fehlender Inhalt bedeutet nicht unbedingt, dass die Sammlung fehlgeschlagen ist. |
| Die Cloud-Traces sind leer. | Bestätigen Sie die Verbindung zu Projekt und Application Insights, generieren Sie neuen Datenverkehr, erweitern Sie den Zeitraum und berücksichtigen Sie die Verzögerung bei der Datenerfassung. |
| Cloudabfragen schlagen mit einem Autorisierungsfehler fehl. | Überprüfen Sie den Lesezugriff auf Application Insights und Log Analytics, einschließlich geschützter Tabellen, mithilfe der Dienstvoraussetzungen. |
| Eine ältere Ablaufverfolgung weist keine Details im Toolkit auf. | Die Detailabfrage deckt sieben Tage ab. Abfragen älterer aufbewahrter Datensätze in Foundry oder Azure Monitor. |