Vianmääritys suorassa OTel-havaittavuudessa

Käytä tätä opasta telemetrian vastaanoton varmistamiseen ja agentin telemetrian ongelmien diagnosoimiseen, kun tiedot lähetetään suoraan Agent 365:lle OTLP-protokollan kautta. Tämä opas koskee suoraa OTel-polkua. Jos käytössä on Agent 365 SDK tai Microsoft OpenTelemetry Distro, katso niiden ohjeet. Siirtotason rajoituksia, virhekoodeja ja hiljaisia pudotusolosuhteita koskevia ohjeita on kohdassa Rajoitukset ja pudotusehdot.

Käsittelyn varmistaminen

200 OK ei ole todiste käsittelystä. Jotkut pudotusehdot palauttavat arvot 200 ja partialSuccess: null, eivätkä tiedot näy (katso Rajoitukset ja pudotusehdot). Varmista aina ensimmäiset suoritukset seuraavasti:

  1. Tarkista HTTP-tila. 200 → jatka. 4xx → katso Yleisimmät sudenkuopat-
  2. Jäsennä partialSuccess. null tarkoittaa, että ohjelmointirajapinta hyväksyi kaiken. Mikä tahansa muu tarkoittaa, että ainakin osa aikaväleistä on jätetty pois aikavälikohtaisessa suodattimessa.
  3. Odota noin 5 minuuttia ja suorita sitten alla oleva Defenderin edistynyt uhkien etsimisen kysely.
  4. Ei rivejä? Käytä päätöspuuta Ei tietoja Defenderissä -kohdassa.

Defenderin edistynyt uhkien etsimisen kysely

Kanoninen haku (yhdistää lähetetyn agentin käyttäjätiedot):

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

Täydellinen luettelo näkymistä (Defender-agentin aktiivisuusnäkymät, Microsoft 365 -hallintakeskus, Microsoft Purview) ja siitä, mitä kukin niistä tarvitsee, on kohdassa Missä tiedot näkyvät.

Ei tietoja Defenderissä

  • partialSuccess.rejectedSpans == totalSpans → kaikilla aikaväleillä oli huono gen_ai.operation.name. Korjaus: ota käyttöön invoke_agent, execute_tool, chat tai output_messages (se on chat, ei inference).
  • 200 ja partialSuccess: null, mutta ei Defender-riviä 5 minuutin jälkeen → asiakkaan vuokraajan yhdelläkään käyttäjällä ei ole Microsoft 365 E7- tai Microsoft Agent 365 -käyttöoikeutta delegoituna (Rajoitukset ja pudotusehdot, pudotusehto 2). Korjaus: Varmista, että ainakin yhdellä vuokraajan käyttäjälle on delegoitu käyttöoikeus (ei vain vuokraajassa). Muussa tapauksessa ota yhteyttä Agent 365:n käyttöönotto-tiimiin.
  • Aikavälit näkyvät, mutta suorituspuu on rikki tai jotkut alielementit ovat yhteydettömiä → puuttuva parentSpanId, erilainen traceId tai kohdetta gen_ai.conversation.id ei ole määritetty kaikille aikaväleille. Korjaus: Tarkista Aikavälihierarkia ja suoritusten ryhmittely.

Yleiset sudenkuopat

Oire Todennäköisin syy Korjaus
401 Unauthorized Tunnuksella on väärä aud. Käytä kohdetta 9b975845-388f-4429-889e-eab1ef63949c (tai api://9b975845-...).
403 Forbidden, puuttuva rooli tai laajuus Tunnuksessa ei ole kohdetta Agent365.Observability.OtelWrite. Ota Microsoft Entra -sovellus käyttöön roolissa (S2S) tai laajuudessa (delegoitu) Laajuudet ja suostumus -kohdan mukaisesti. S2S:ssä tunnus tulee hankkia käyttämällä kohdetta <resource>/.default.
403 Forbidden, agentin käyttäjätiedot eivät täsmää {agentId} URL-osoitteessa numero tunnuksen kohteessa appid / azp tai aikaväli sisältää kohteen gen_ai.agent.id, joka ei täsmää todennetun agentin kanssa. Reitin agentId tulee olla kutsuvan sovelluksen appId. Suunnitelmasta johdetut käyttäjätunnukset, jotka ovat agentin käyttäjätietojen appId-tiedot, eivät suunnitelman appId-tiedot. Varmista, että jokaisen aikavälin gen_ai.agent.id täsmää.
200 OK mutta partialSuccess.rejectedSpans == totalSpans Kaikilla aikaväleillä oli huono gen_ai.operation.name. Käytä jotakin seuraavista: invoke_agent, execute_tool, chat, output_messages. Se on chat, ei inference.
200 OK ja partialSuccess: null, mutta Defenderissä ei näy tietoja Yhdelläkään asiakkaan vuokraajan käyttäjällä ei ole Microsoft 365 E7- tai Microsoft Agent 365 -käyttöoikeutta delegoituna (Rajoitukset ja pudotusehdot). Varmista, että ainakin yhdelle käyttäjällä vuokraajassa on delegoitu Microsoft 365 E7- tai Microsoft Agent 365 -käyttöoikeus (pelkkä SKU ei riitä). Tarkista KQL:n avulla Vastaanoton vahvistaminen -kohdassa. Jos mitään ei ilmesty 5 minuutin jälkeen, ota yhteyttä Agent 365 -tiimiin.
Aikavälit näkyvät kohdassa CloudAppEvents, mutta suoritus puuttuu Defenderin agenttiaktiviteettinäkymistä ja Microsoft 365 -hallintakeskuksesta Suorituksella ei ole invoke_agent-aikaväliä. Molemmat näkymät perustuvat invoke_agent-aikaväliin. Lähetä tasan yksi invoke_agent-aikaväli jokaisen suorituksen juuressa. Tee siitä kohteen chat / execute_tool / output_messages alitasoja kohteen parentSpanId avulla.
Suorituspuu on rikki tai työkalujen aikavälit yhteydettömiä Puuttuu parentSpanId tai alitasojen aikaväleillä on eri traceId. Katso Aikavälihierarkia ja suoritusten ryhmittely. Jokainen muu kuin juuritason aikaväli määrittää kohteen parentSpanId ja jakaa suorituksen traceId.
Työkalun aikavälit näkyvät tyhjinä kohteessa ChannelName / ConversationId kyselyissä Kanavaa tai keskustelua ei ole määritetty työkalun aikavälille, ja päätason invoke_agent ei ollut samassa OTLP-pyynnössä. Määritä microsoft.channel.name ja gen_ai.conversation.id jokaiseen aikaväliin.
413 Payload Too Large Pyynnön tekstiosa > 1 Mt. Jaa aikavälit useille pyynnöille.
429 Too Many Requests Määrärajoitus saavutettu. Noudata kohdetta Retry-After: 1 ja peräänny viiveellä.
Agentti näkyy tunnistamattomana koontinäytöissä gen_ai.agent.id on tyhjä tai se ei ole GUID. Käytä agentin Entra appId -tunnusta. Jos agentilla ei ole Entra-rekisteröintiä, katso Arvojen valinta.

Seuraavat vaiheet