Ret fejl i direkte OTel-observeringsmulighed

Brug denne guide til at verificere telemetriindtagelse og diagnosticere problemer med agenttelemetri sendt direkte til Agent 365 via OTLP. Den er begrænset til den direkte OTel-vej – hvis du bruger Agent 365 SDK eller Microsoft OpenTelemetry Distro, skal du bruge de respektive vejledninger i stedet. Få flere oplysninger om protokolniveaugrænser, fejlkoder og tavse dropbetingelser i Grænser og dropbetingelser.

Bekræftelse af indtagelse

200 OK er ikke bevis for indtagelse. Nogle dropbetingelser returnerer 200 med partialSuccess: null, og dine data dukker simpelthen ikke op (se Grænser og dropbetingelser). Verificér altid dine første kørsler:

  1. Kontrollér HTTP-status. 200 → fortsæt. 4xx → se Typiske faldgruber.
  2. Opdel tekst partialSuccess. null betyder, at API'en accepterede alt. Alt andet betyder, at nogle områder blev droppet ved pr. område-filteret.
  3. Vent ~5 minutter, og kør derefter Defenders avancerede beskyttelsesforespørgsel nedenfor.
  4. Ingen række? Brug beslutningstræet under Ingen data i Defender.

Defenders avancerede beskyttelsesforespørgsel

Det kanoniske opslag (deltagelse på agentidentiteten, som du sendte):

let agentIdToFind = "YOUR-AGENT-APP-ID-HERE";
CloudAppEvents
| where Timestamp > ago(1d)
| where ActionType in ("InvokeAgent", "InferenceCall", "ExecuteToolBySDK", "ExecuteToolByGateway", "ExecuteToolByMCPServer")
| extend resData = parse_json(tostring(RawEventData))
| extend AgentId = resData.AgentId
| extend TargetAgentId = resData.TargetAgentId
| extend AlternateId = resData.PlatformTargetAgentId
| where AgentId == agentIdToFind or TargetAgentId == agentIdToFind or AlternateId == agentIdToFind
| project Timestamp, ActionType, resData
| order by Timestamp desc

Du kan se hele listen med visninger (Defenders agentaktivitetsvisninger, Microsoft 365 Administration og Microsoft Purview) og hvad hver kræver, i Hvor dine data vises.

Ingen data i Defender

  • partialSuccess.rejectedSpans == totalSpans → alle dine område havde en dårlig gen_ai.operation.name. Løsning: Brug en af invoke_agent, execute_tool, chat eller output_messages (det er chat, ikke inference).
  • 200 med partialSuccess: null, men ingen Defender-række efter 5 minutter→ ingen bruger i kundelejeren har en tildelt Microsoft 365 E7- eller Microsoft Agent 365-licens (Grænser og dropbetingelser, dropbetingelse 2). Løsning: Bekræft, at mindst én bruger i lejeren har licensen tildelt (ikke kun til stede i lejeren). Ellers skal du kontakte Agent 365 onboarding-teamet.
  • Områder vises, men kørselstræet er brudt/nogle underordnede er ikke tilknyttet → mangler parentSpanId, anderledes traceId eller gen_ai.conversation.id ikke indstillet i hvert område. Løsning: Gennemgå Områdehierarkiet, og kør gruppering.

Almindelige faldgruber

Symptom Mest sandsynlige årsag Ret
401 Unauthorized Forkert aud på token. Brug 9b975845-388f-4429-889e-eab1ef63949c (eller api://9b975845-...).
403 Forbidden, manglende rolle/område Token indeholder ikke Agent365.Observability.OtelWrite. Onboard din Microsoft Entra-app til rollen (S2S) eller området (delegeret) i henhold til Områder og samtykke. Hvis du bruger S2S, skal dit token anskaffes med <resource>/.default.
403 Forbidden, uoverensstemmelse i agentidentiteter {agentId} i URL ≠ appid / azp på token, eller et område indeholder en gen_ai.agent.id der ikke matcher den autentificerede agent. Ruten agentId skal være appId for den opkaldende app. For blueprint-afledte identiteter er det agentidentitetens appId, ikke blueprint-appId. Sørg for, at hvert områdes gen_ai.agent.id matcher.
200 OK men partialSuccess.rejectedSpans == totalSpans Alle områder havde en dårlig gen_ai.operation.name. Brug en af invoke_agent, execute_tool, chat, output_messages. Det er chat – ikke inference.
200 OK med partialSuccess: null, men ingen data vises i Defender Ingen bruger i kundens lejer har fået tildelt en Microsoft 365 E7- eller Microsoft Agent 365-licens (Begrænsninger og dropbetingelser). Bekræft, at mindst én bruger i lejeren har fået tildelt en Microsoft 365 E7- eller Microsoft Agent 365-licens (det er ikke nok, at SKU'en er til stede). Verificer med KQL i Verificering af dataindtagelse. Hvis der ikke kommer data efter 5 minutter, skal du kontakte Agent 365-teamet.
Områder vises i CloudAppEvents, men kørslen mangler i Defender-agentaktivitetsvisningerne og i Microsoft 365 Administration Kørslen har intet invoke_agent-område. Begge visninger tager udgangspunkt i invoke_agent. Udsend nøjagtigt ét invoke_agent-område ved roden i hver kørsel, og gør chat / execute_tool / output_messages til en af dens underordnede via parentSpanId.
Kørselstræet er brudt/værktøjsområder er tilsyneladende ikke tilknyttede Manglende parentSpanId eller afvigende traceId i underordnede områder. Se Områdehierarki og kørselsgruppering. Alle områder, der ikke er rod, indstiller parentSpanId og deler kørslens traceId.
Værktøjsområder viser tomme ChannelName / ConversationId i forespørgsler Kanal/samtale er ikke angivet i værktøjsområdet, og den overordnede invoke_agent indgik ikke i samme OTLP-anmodning. Angiv microsoft.channel.name og gen_ai.conversation.id i hvert område.
413 Payload Too Large Anmodningstekst > 1 MB. Opdel områderne i flere forespørgsler.
429 Too Many Requests Hastighedsgrænsen er nået. Overhold Retry-After: 1, og gå tilbage med jitter.
Agenten vises som uidentificeret i dashboards gen_ai.agent.id er tom eller ikke en GUID. Brug agentens Entra appId. Hvis agenten ikke er registreret i Entra, se Valg af værdier.

Næste trin