Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Detta är den kanoniska attribut-för-attribut-specifikationen som används av Agent 365:s intagningspipeline. Varje spann som tas in av Agent 365 – oavsett om den sänds ut av Microsoft OpenTelemetry Distro, Agent 365 SDK eller skickas över direkt OTel – måste uppfylla den. Varje post listar de operationstyper som attributet gäller för, om det är obligatoriskt, fältnamnet ditt värde hamnar i för avancerade jaktfrågor (där en sådan finns), och effekten om du hoppar över det.
Om du använder SDK:n eller distributionen skickar SDK:n dessa attribut åt dig och avsnittet Picking values gäller bara när du behöver åsidosätta en standard. Om du är på den direkta OTel-vägen emitterar du varje attribut manuellt; för hur man sätter ihop dem till en förfrågan, se integrationsguiden.
Attribute table
Alla värden skickas som stringValue - tokenantal måste vara "42" (inte 42); portar måste vara "443" (inte 443).
Operation legend.IA = invoke_agent, ET, = execute_toolCH = chat, OM, = output_messagesAll = gäller för varje operation.
Required legend.
- M: mandatory.
- M*¹: obligatoriskt endast för embodied agents (agenten har sitt eget Entra agent-ID användarkonto).
- M*²: obligatoriskt endast för agent-till-agent-samtal.
-
M*³: obligatoriskt endast för icke-root spans. Roten
invoke_agenthar ingen förälder. - O*⁴: valfritt, endast meningsfullt när spannstatusen är Fel.
- O: optional.
- Ej tillgängligt: avger inte. Agent 365 fylls i automatiskt.
Kolumnen "RawEventData" nämner en JSON-nyckel inuti CloudAppEvents.RawEventData den kanoniska avancerade jaktfrågan i Verifying Ingestion parses. En tom cell innebär att attributet är not exponerat i CloudAppEvents idag – du bör fortfarande smitera det (enligt kolumnen Required) eftersom Agent 365 använder det för inmatning, föräldraupplösning och Microsoft Defender agentaktivitetsvyer, men det är inte direkt frågebart från Microsoft Defender avancerad jakt idag.
Note
Agent 365 fyller automatiskt i de statiska postfälten (Id, RecordType, Workload, UserType, ) Versionoch de genererade förfrågnings-/svars-ID:na.
| Attribute | Applies to | Required | RawEventData field | Anteckningar / påverkan om det saknas |
|---|---|---|---|---|
gen_ai.operation.name |
All | M | Operation |
En av invoke_agent, execute_tool, chat, output_messages. Span föll om den saknades eller inte blev igenkänd. |
microsoft.tenant.id |
All | M | OrganizationId |
URL {tenantId} är auktoritativ. Om du ställer in detta och det inte stämmer, avslås begäran (403). |
gen_ai.agent.id |
All | M |
TargetAgentId (IA, också på toppnivå AgentId); AgentId (ET, CH) |
Appens appID för samtal. Måste matcha URL {agentId} och den autentiserade appen. Mismatch ger 403. |
gen_ai.agent.name |
All | M |
TargetAgentName (IA); AgentName (ET, CH) |
Defender / admin center visar rå GUID istället för ett namn om det saknas. |
microsoft.a365.agent.blueprint.id |
All | M |
TargetAgentBlueprintID (IA); AgentBlueprintId (ET, CH) |
Ritningen är aktuell. För vanliga entraappar utan blueprint, återanvänd agentens appId. Blueprint-roll-ups i administrationscentret går annars sönder. |
gen_ai.agent.description |
All | O | -- | Detaljvyn i administrationscentret är tom för agenten. |
gen_ai.agent.type |
All | O |
PlatformTargetAgentType (IA); PlatformAgentType (ET); CopilotEventData.PlatformAgentType (CH) |
En etikett för ditt identitetssystem, ihopparat med microsoft.a365.agent.platform.id när agenten inte har en entra-registrering. Friformad text; Välj ett värde som unikt identifierar ditt identitetssystem. Utelämna när agenten har en entra-registrering – Agent 365 klassificerar automatiskt. Använd inte de Microsoft-reserverade värdena (se Picking values). |
microsoft.a365.agent.platform.id |
All | O |
PlatformTargetAgentId (IA, också på toppnivå AlternateId); PlatformAgentId (ET, CH) |
Agentens unika ID i ditt icke-Entra-identitetssystem. Free-form text. Sätt ihop med gen_ai.agent.type. Utelämna när agenten har en entra-registrering. Se Plockvärden. |
gen_ai.conversation.id |
All | M |
ConversationId (IA, ET); CopilotEventData.ConversationId / CopilotEventData.ThreadId (CH) |
Den primära join-nyckeln för en runda. Utan den visas inte körningen i Defender-agentaktivitetsvyer eller administrationscenter. |
microsoft.channel.name |
All | M |
ChannelName (IA, ET) |
Ytan där agenten springer. Använd en kort liten token; De kanoniska värdena som används av Defender / Admin Center-filter idag är och . Anpassade strängar (till exempel web, <your-product-name>) accepteras men kan inte pivotera i inbyggda kanalfilter. Samma värde på varje spann. Se Plockvärden. |
microsoft.channel.link |
All | O | -- | Channel deep-link. |
microsoft.session.id |
All | O | SessionIdentity |
Sessionspivots är tomma om de saknas. |
microsoft.session.description |
All | O | -- | Session description. |
microsoft.conversation.item.link |
All | O | -- | Djup länk till meddelandet. |
correlation.id |
All | O | -- | Cross-service tracing. Inte dykt upp vid avancerad jakt idag. |
operation.source |
All | O |
InvokeSource (IA) |
Identifierare för SDK:n / tjänsten som sänder telemetrin. Det kan vara ett resursattribut. |
client.address |
IA, ET, CH | M |
ClientIP (IA, ET) |
Caller IP. IP-baserad undersökning blockeras om den är tom. |
server.address |
IA, ET, CH | M |
ServerAddress (IA, ET) |
Endpoint, din tjänst ringer. |
server.port |
IA, ET, CH | M |
ServerPort (IA) |
Strängkodad (till exempel "443"). |
user.id |
IA | M | UserKey |
Microsoft Entra objekt-ID för den mänskliga uppringaren. "Vem drev denna agent" är tomt utan det. |
user.email |
IA | O | UserId |
UPN på den som ringde. |
user.name |
IA | O | -- | Visa uppringarens namn. |
gen_ai.input.messages |
IA, CH | M | -- | Begär nyttolast (JSON-sträng). Fångad för analys nedströms men ännu inte dykt upp i avancerad jakt. |
gen_ai.output.messages |
IA, CH, OM | M | -- | Responspayload (JSON-sträng). |
gen_ai.execution.type |
IA | O | -- | En av HumanToAgent, Agent2Agent, EventToAgent. |
microsoft.a365.agent.thought.process |
IA, CH | O | -- | Fri text-resonemang / tankekedja. |
gen_ai.author.app.id |
OM | O | -- | Microsoft Entra-app-ID för applikationen som skapade eller skapade agenten. |
gen_ai.tool.name |
ET | M | ToolName |
Tool name. Defender-verktygsanvändningsvyer är tomma om de saknas. |
gen_ai.tool.type |
ET | M | ToolType |
En av function, , , MCP Server, API, Knowledge Sourcebing_grounding, , code_interpreter, . file_searchPower Platform Connector |
gen_ai.tool.call.id |
ET | M | ToolId |
Identifierare för detta verktygsanrop. |
gen_ai.tool.call.arguments |
ET | M | -- | Verktygsargument (JSON-sträng). Fångad men ännu inte dykt upp i avancerad jakt. |
gen_ai.tool.call.result |
ET | M | -- | Verktygsresultat (JSON-sträng). |
gen_ai.tool.description |
ET | O | ToolDescription |
Tool description. |
gen_ai.tool.server.name |
ET | O | -- | Verktygsserverns värdnamn. Ställ in denna attribut för MCP-verktyg. |
gen_ai.request.model |
CH | M | -- | Modellnamn (till exempel, gpt-4o). Fångad men ännu inte dykt upp i avancerad jakt. |
gen_ai.provider.name |
CH | M | -- | Leverantörsnamn (till exempel, openai). |
gen_ai.usage.input_tokens |
CH | O | -- | Antal inmatningstoken, strängkodat. |
gen_ai.usage.output_tokens |
CH | O | -- | Utdata av token, strängkodad. |
gen_ai.response.finish_reasons |
CH | O | -- | Finish reason(s). |
microsoft.a365.caller.agent.id |
IA | M*² | -- | Ringer agent AppId. Krävs för agent-till-agent. |
microsoft.a365.caller.agent.name |
IA | M*² | -- | Anropar agentens visningsnamn. |
microsoft.a365.caller.agent.blueprint.id |
IA | M*² | AgentBlueprintId |
Ringer agentens ritningsapp. Krävs för förkroppsligad A2A. |
microsoft.a365.caller.agent.user.id |
IA | M*² | -- | Call-agentens användar-ID. |
microsoft.a365.caller.agent.user.email |
IA | M*² | -- | Ringer agent UPN. |
microsoft.a365.caller.agent.platform.id |
IA | N/A | -- | Reserverat för alternativa ID:n som inte är Entra. |
gen_ai.caller.agent.type |
IA | N/A | -- | Agent 365 klassificerar automatiskt. |
microsoft.agent.user.id |
IA, ET, CH | M*¹ |
TargetAgentUserKey (IA); UserKey (ET, CH) |
Microsoft Entra-objekt-ID för agentens eget användarkonto. Krävs för AI-lagkamrater / förkroppsligade agenter. |
microsoft.agent.user.email |
IA, ET, CH | O*¹ |
UserId (ET, CH) |
UPN för agentens användarkonto. |
span.SpanId |
All | M | OpId |
OTel SDK sänder ut detta. |
span.ParentSpanId |
All | M*³ | ParentId |
Krävs endast för icke-rotspan; roten invoke_agent har ingen. |
span.StartTimeUnixNano |
All | M | Toppnivå TimeGenerated (även CreationTime i RawEventData) |
Unix-epoknanos som en sträng. |
span.EndTimeUnixNano |
All | M |
CompletionTime (IA, ET); CopilotEventData.CompletionTime (CH) |
Varaktigheten kan inte beräknas om den saknas. |
span.Status.Message |
All | O*⁴ |
ErrorMessage (IA, ET); CopilotEventData.ErrorMessage (CH) |
Orsaken till misslyckade körningar är tom om den saknas. |
span.Status.Code |
All | O*⁴ |
ErrorType (IA); CopilotEventData.ErrorType (CH) |
Felkategori är tom om den saknas. |
Note
Flera attribut du genererar (såsom verktygsargument/resultat, modellparametrar och kanaldjuplänkar) accepteras av Agent 365 och används av nedströms Microsoft Defender vyer, men är ännu inte exponerade som en CloudAppEvents.RawEventData JSON-nyckel. Ställ in dem enligt kolumnen Required ändå – de kan läggas till i jaktlasten i en framtida release.
Att välja värden när du inte har ett naturligt
Vissa nödvändiga attribut beskriver koncept som kanske inte finns i din agents arkitektur. Om det naturliga värdet inte finns där, här är vad du ska ställa in istället. Lämna inte ett obligatoriskt fält tomt – även en GUID med bara nollor döljer din runda från vissa kundnära upplevelser.
| Fråga / scenario | Field(s) | Vad man ska sätta |
|---|---|---|
| Min agent är en standard Entra app-registrering (inte byggd på en Entra agent-ID blueprint). | gen_ai.agent.id |
Entra-appens appId. |
| ↑ samma scenario | microsoft.a365.agent.blueprint.id |
Återanvänd samma värde som gen_ai.agent.id (agentens appId). Schemat kräver ett icke-tomt värde; Att återanvända agentens appID är den säkra standarden när det inte finns någon ritning. |
| Min agent är byggd från en Entra agent-ID blueprint – en eller flera agentidentiteter som präglats från samma blueprint. | gen_ai.agent.id |
Agentidentitetens appID ( instansens appID, inte blueprintens). |
| ↑ samma scenario | microsoft.a365.agent.blueprint.id |
Ritningen är aktuell. Alla instanser som präglats från samma ritning delar detta värde. |
| Uppringaren är en mänsklig användare, inte en annan agent. | Alla microsoft.a365.caller.agent.* och gen_ai.caller.agent.* attribut |
Omit. De är obligatoriska endast i agent-till-agent-situationer. |
| I agent-till-agent: den anropande agenten är en standard Entra-app (utan ritning). | microsoft.a365.caller.agent.blueprint.id |
Återanvänd den uppringande agentens appId. |
| Min agent är inte en AI-lagkamrat – den har inget eget användarkonto i hyresgästen. | Alla microsoft.agent.user.* egenskaper |
Omit. De är obligatoriska endast när agenten har sitt eget Entra agent-ID-användarkonto. |
| Min agent har ingen uppfattning om en session utöver en enda runda. | microsoft.session.id |
Valfritt – utelämna. Om du vill att varje genomspelning ska vara en egen session, sätt in en GUID per genomspelning. |
| Min agent har inget begrepp om en konversation (one-shot, stateless). | gen_ai.conversation.id |
Generera en ny GUID per genomspelning. Fältet är obligatoriskt; att hoppa över den tar bort körningen från Defender-agentaktivitetsvyerna och Administrationscenter för Microsoft 365. |
| Uppringaren har ingen IP (till exempel en autonom schemalagd trigger). | client.address |
Använd en stabil platshållare som du kontrollerar (till exempel "0.0.0.0"). Fältet är obligatoriskt; ett tomt värde tar bort körningen från IP-baserade undersökningspivotar. |
| Agenten körs under processen; Det finns ingen separat "server" som anropas. | server.address / server.port |
Använd värdnamnet på maskinen som körde agenten (till exempel myagent.example.com) och porten som din endpoint lyssnar på. Krävs även när det inte finns någon separat nedströmstjänst. |
Min chat span använder ingen modelltoken. |
gen_ai.usage.input_tokens / gen_ai.usage.output_tokens |
Valfritt – utelämna. Om du har ungefärliga antal, skicka dem som stringValue. |
| Min span har inga fel att rapportera. |
span.Status.Message, span.Status.Code |
Sätt OTel-statusen till OK (numerisk kod 1) och utelämna meddelandet. Pipelinen konsulterar endast dessa fält när status är Error. |
| Min agent använder ett icke-entra-identitetssystem (agenten har ingen entra-registrering). |
microsoft.a365.agent.platform.id och gen_ai.agent.type |
Ställ båda, på varje spann.
platform.id är agentens unika ID i ditt identitetssystem; agent.type är en kort etikett som identifierar vilket identitetssystem det är. Båda är fri text – välj det som passar ditt system.
Använd inte de Microsoft-reserverade typvärdena: CustomBuiltAgentsUsingSDK, CopilotStudio, Foundry, DeclarativeAgent, Custom (dessa värden är reserverade för interna Microsoft ytor). Den samtalsapp du autentiserar dig som kräver fortfarande en entra-registrering för att använda dessa rutter – det alternativa ID-paret beskriver en målagent , inte uppringaren. |
Vilket värde bör jag lägga på microsoft.channel.name? |
microsoft.channel.name |
Ytan där agenten springer. Defender- och admincenterfilter bygger på bokstavssträngen, så använd en kort, stabil, gemener token. Idag är msteams de kanoniska värdena och outlook; vanliga kundvända ytor använder webockså , office, , sharepointeller <your-product-name>. Välj ett värde och håll dig till det – verktygen kan inte stämma av msteams och Microsoft Teams som samma kanal. |
Ska jag ställa in gen_ai.agent.type? |
gen_ai.agent.type |
Endast om du också gör en inställning microsoft.a365.agent.platform.id (till exempel om din agent inte har någon entra-registrering). Paret berättar för Agent 365 vilket identitetssystem agenten kommer ifrån. Välj en kort etikett som unikt identifierar ditt identitetssystem.
Använd inte CustomBuiltAgentsUsingSDK, CopilotStudio, Foundry, DeclarativeAgent eller Custom – dessa värden är reserverade för intern Microsoft användning. För Entra-registrerade agenter, utelämna fältet; Agent 365 fyller på den. |
Vilken OTLP kind ska jag ställa in på mina spans? |
span.kind |
Använd heltalsvärdet enum, inte proto-enumsträngen - 1 (INTERNAL), (), 2 (SERVER), 3 (CLIENT), (), 4 (), (PRODUCER), (), 5 (CONSUMER). Agent 365 accepterar något av dessa och härleder inte kundsynligt beteende från kind, så 1 (INTERNAL) är en säker standard för varje spann. Om du vill att slaget ska spegla anropsformen är INTERNAL för / output_messagesinvoke_agentoch CLIENT för chat / execute_tool rimligt. |