Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте это руководство, чтобы проверить погружение телеметрии и диагностировать проблемы с телеметрией агента, отправляемой Агенту 365 напрямую через OTLP. Он ограничен на direct OTel — если вы используете Agent 365 SDK или Microsoft OpenTelemetry Distro, посмотрите эти руководства. Для ограничений на уровне провода, кодов ошибок и условий беззвучного дропа см. раздел Лимиты и условия дропа.
Проверка поглощения
200 ОК не является доказательством проглатывания. Некоторые условия выпадения возвращают 200 partialSuccess: null , и ваши данные просто не отображаются (см. Лимиты и условия выпадения). Всегда проверяйте первые заезды:
- Проверьте статус HTTP. 200 → продолжать. 4xx → см. Распространённые подводные камни.
- Разбор
partialSuccess.nullэто значит, что API принял всё. Всё остальное означает, что хотя бы некоторые пролёты были сброшены на фильтре для каждого пролёта. - Подождите ~5 минут, затем запустите Defender продвинутый запрос ниже.
- Нет ссоры? Используйте дерево решений в разделе Нет данных в Defender.
Defender продвинутый запрос
Канонический поиск (присоединение к присланной вами личности агента):
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
Полный список поверхностей (Defender виды активности агентов, Центр администрирования Microsoft 365, Microsoft Purview) и для каждой из них — где отображаются ваши данные.
В Defender нет данных
-
partialSuccess.rejectedSpans == totalSpans→ у всех ваших пролётов был плохойgen_ai.operation.name. Исправление: используйте одну изinvoke_agent,execute_tool,chat,output_messages(этоchat, а неinference). - 200 с
partialSuccess: null, но без строки Defender спустя 5 минут → ни один пользователь в арендаторе клиента не имеет лицензии Microsoft 365 E7 или Microsoft Agent 365 assigned (Ограничения и условия сброса условие падения 2). Исправление: убедитесь, что хотя бы один пользователь в арендаторе имеет лицензию (а не просто присутствует у арендатора); в противном случае свяжитесь с командой адаптации агента 365. - Пролёты появляются, но дерево бегов сломано / некоторые дети остаются сиротой → отсутствуют
parentSpanId, отличаютсяtraceIdилиgen_ai.conversation.idне установлены на каждом пролёте. Исправление: просмотр иерархии Span и группировки забегов.
Распространенные ловушки
| Симптом | Наиболее вероятная причина | Исправление |
|---|---|---|
401 Unauthorized |
Ошибаюсь aud на жетоне. |
Используйте 9b975845-388f-4429-889e-eab1ef63949c (или api://9b975845-...). |
403 Forbidden, отсутствующая роль / область |
Жетон не переносит Agent365.Observability.OtelWrite. |
Включите ваше Microsoft Entra приложение в должность (S2S) или область (делегированная) согласно Scopes и согласию. Для S2S токен должен быть получен с <resource>/.defaultпомощью . |
403 Forbidden, несоответствие идентичности агента |
{agentId} в URL ≠ appid / azp токена, или span несёт A gen_ai.agent.id , не совпадающий с аутентифицированным агентом. |
Маршрут agentId должен быть appID звонящего приложения. Для идентичностей, полученных из чертежа, это идентификатор агента appId, а не blueprint appId. Убедитесь, gen_ai.agent.id что каждый диапазон совпадёт. |
200 OK но partialSuccess.rejectedSpans == totalSpans |
У всех пролётов был плохой gen_ai.operation.name. |
Используйте один из invoke_agent, execute_tool, chat, output_messages.
Это chatне так inference. |
200 OK с partialSuccess: null, но данные не отображаются в Defender |
Ни один пользователь в арендаторе-клиенте не имеет лицензии Microsoft 365 E7 или Microsoft Agent 365 assigned (Ограничения и условия сброса). | Убедитесь, что хотя бы одному пользователю в арендаторе присвоена лицензия Microsoft 365 E7 или Microsoft Agent 365 (наличие SKU недостаточно). Проверьте с KQL при проверке поглощения; если после 5 минут ничего не приземлится, свяжитесь с командой Agent 365. |
Пролёты появляются в CloudAppEvents, но пробег отсутствует в Defender видах активности агента и в Центр администрирования Microsoft 365 |
Пробег не invoke_agent имеет пролёта. Обе поверхности отключаются invoke_agent. |
Излучать ровно один invoke_agent прорез в корне каждого запуска; сделатьexecute_tool / / chatoutput_messages его потомками через .parentSpanId |
| Дерево забега сломано / разъёмы инструментов выглядят сиротами | Отсутствует parentSpanId или отличается traceId в детских промежутках. |
См. иерархию спанов и группировку загонов. Каждый некорневой размах задаёт parentSpanId и разделяет с traceIdсерией . |
Размахи инструментов отображаются пустыми ChannelName / ConversationId в запросах |
Канал / разговор не был установлен в span инструментов, и родитель invoke_agent не был в том же OTLP-запросе. |
Устанавливайте microsoft.channel.name и gen_ai.conversation.id на каждом пролёте. |
413 Payload Too Large |
Запросить тело > 1 МБ. | Разделите промежутки между несколькими запросами. |
429 Too Many Requests |
Достигнут лимит ставки. | Честь Retry-After: 1 и отойди с дрожью. |
| Агент появляется неидентифицированным в панелях управления |
gen_ai.agent.id пусто или не является GUID. |
Используйте Entra appId агента. Если у агента нет регистрации Entra, см. значения выбора. |
Дальнейшие действия
- Концепции наблюдаемости агента 365 — поток данных, модели идентичности, аутентификация, область действия и ограничения.
- Руководство по интеграции — предварительные требования, рецепты аутентификации, настройка SDK и чек-лист для адаптации.
- Ссылка на атрибут — рекомендации по специальности по атрибуту и выбору ценности.