Ajan 365 gözlemlenebilirlik öznitelik referansı

Bu, Agent 365'in alım boru hattında kullanılan kanonik öznitelik özellik spesifikasyonudur. Ajan 365 tarafından alınan her aralık - ister Microsoft OpenTelemetry Distro, ister Agent 365 SDK tarafından yayılsın ya da direct OTel üzerinden gönderilse de - buna uymalıdır. Her giriş, özniteliğin uygulandığı işlem türlerini, zorunlu olup olmadığını, gelişmiş avlama sorguları için değerinizin girdiği alan adını (varsa) ve atlarsanız etkisini listeler.

SDK veya Distro kullanıyorsanız, SDK bu özellikleri sizin için yayar ve Picking values bölümü sadece varsayılan bir değişikliği geçersiz kılmanız gerektiğinde geçerlidir. Doğrudan OTel yolundaysanız, tüm özellikleri manuel olarak yayıyorsunuz; Bunların bir isteğe nasıl bir araya getirileceği için Entegrasyon rehberine bakınız.

Attribute table

Tüm değerler şu şekilde gönderilir stringValue - token "42" sayısı (değil 42) olmalı; portlar "443" (değil 443) olmalı .

Operasyon efsanesi.IA = invoke_agent, ET = execute_tool, CH = chat, OM = output_messages, All = her işlem için geçerlidir.

Required legend.

  • M: mandatory.
  • M*¹: yalnızca bedenlenmiş ajanlar için zorunludur (ajanın kendi Entra Aracı Kimliği kullanıcı hesabı vardır).
  • M*²: yalnızca ajanlar arası görüşmeler için zorunludur.
  • M*³: sadece kök olmayan açıklıklar için zorunludur. Kökün invoke_agent ebeveyni yoktur.
  • O*⁴: isteğe bağlı, sadece aralık durumu Hata olduğunda anlamlıdır.
  • O: optional.
  • Yok: Yaymayın. Ajan 365 otomatik olarak dolduruldu.

"RawEventData alanı" sütunu, Verifying ingestion ayrıştırmalardaki kanonik gelişmiş avlama sorgusunun içinde CloudAppEvents.RawEventData bir JSON anahtarını belirtir. Boş hücre, özniteliğin bugün CloudAppEvents içinde not olarak göründüğü anlamına gelir—yine de (Gerekli sütununa göre) yaymalısınız çünkü Agent 365 bunu alım, ebeveyn çözüm ve Microsoft Defender'nin ajan-aktivite görünümleri için kullanıyor, ancak bugün Microsoft Defender gelişmiş avcılıktan doğrudan sorgulanabilir değil.

Note

Ajan 365, statik kayıt alanlarını (Id, RecordType, Workload, UserType, Version) ve oluşturulan istek/yanıt kimliklerini otomatik olarak doldurur.

Attribute Applies to Required RawEventData field Notlar / eksikse etkisi
gen_ai.operation.name All M Operation invoke_agent, execute_tool, chat veya output_messages'den biri. Kayıp veya tanınmazsa süresi düşer.
microsoft.tenant.id All M OrganizationId URL {tenantId} otoriterdir. Eğer bunu ayarlarsanız ve kabul etmezse, talep reddedilir (403).
gen_ai.agent.id All M TargetAgentId (IA, aynı zamanda üst seviye AgentId); AgentId (ET, CH) Arama uygulamasının appId'si. URL {agentId} ile kimlik doğrulama uygulaması ile eşleşmeli. Uyumsuzluk 403 döndürüyor.
gen_ai.agent.name All M TargetAgentName (IA); AgentName (ET, CH) Defender / admin center, eksikse isim yerine ham GUID göster.
microsoft.a365.agent.blueprint.id All M TargetAgentBlueprintID (IA); AgentBlueprintId (ET, CH) Planın appId'si. Blueprint olmayan standart Entra uygulamaları için, agent'in appId'sini tekrar kullanın. Yoksa admin merkezindeki blueprint roll-up'ları kırarsınız.
gen_ai.agent.description All O -- Yönetim merkezindeki detay görünümü ajan için boş.
gen_ai.agent.type All O PlatformTargetAgentType (IA); PlatformAgentType (ET); CopilotEventData.PlatformAgentType (CH) Kimlik sisteminiz için bir etiket, temsilcinin Entra kaydı olmadığı zamanlarda microsoft.a365.agent.platform.id eşleştirilen. Serbest biçimli metin; Kimlik sisteminizi benzersiz şekilde tanımlayan bir değer seçin. Ajanın Entra kaydı olduğunda çıkarın—Ajan 365 otomatik sınıflandırıyor. Microsoft-reserved değerlerini kullanmayın (bkz. Picking values).
microsoft.a365.agent.platform.id All O PlatformTargetAgentId (IA, aynı zamanda üst seviye AlternateId); PlatformAgentId (ET, CH) Ajanın Entra olmayan kimlik sisteminizdeki benzersiz kimliği. Free-form text. Bir araya getirildiğinde gen_ai.agent.type. Temsilcinin Entra kaydı olduğunda çıkar. Değerleri seçme bölümünü bkz.
gen_ai.conversation.id All M ConversationId (IA, ET); CopilotEventData.ConversationId / CopilotEventData.ThreadId (CH) Bir koşu için birincil birleştirme tuşu. Onsuz, çalışma Defender ajan-aktivite görünümlerinde veya yönetim merkezinde görünmez.
microsoft.channel.name All M ChannelName (IA, ET) Ajanın üzerinde çalıştığı yüzey. Kısa bir küçük jeton kullanın; Bugün Defender / Admin Center filtreleri tarafından kullanılan kanonik değerler ve 'dir. Özel dizeler (örneğin web, <your-product-name>) kabul edilir ancak yerleşik kanal filtrelerinde pivot yapmazlar. Her aralıkta aynı değer. Değerleri seçme bölümünü bkz.
microsoft.channel.link All O -- Channel deep-link.
microsoft.session.id All O SessionIdentity Oturum pivotu eksikse boş kalır.
microsoft.session.description All O -- Session description.
microsoft.conversation.item.link All O -- Mesajın derin bağlantısı.
correlation.id All O -- Cross-service tracing. Bugün ileri avlarda ortaya çıkmadı.
operation.source All O InvokeSource (IA) Telemetri yayan SDK / servisin tanımlayıcısı. Bir Kaynak özelliği olabilir.
client.address I, ET, CH M ClientIP (IA, ET) Caller IP. IP tabanlı soruşturma boşsa engellendi.
server.address I, ET, CH M ServerAddress (IA, ET) Servisinizin aradığı uç nokta.
server.port I, ET, CH M ServerPort (IA) Diziyle kodlanmış (örneğin "443").
user.id IA M UserKey İnsan arayanının Microsoft Entra nesne kimliği. "Bu ajanı kim yönetti" bu olmadan boş kalır.
user.email IA O UserId Arayan kişinin UPN'si.
user.name IA O -- Arayan kişinin adı.
gen_ai.input.messages IA, CH M -- Yük talep edin (JSON dizisi). Aşağı akış analizi için yakalanmış, ancak ileri avda henüz yüzeye çıkmamış.
gen_ai.output.messages I, CH, OM M -- Yanıt yükü (JSON dizisi).
gen_ai.execution.type IA O -- Bunlardan HumanToAgentbiri, Agent2Agent, EventToAgent.
microsoft.a365.agent.thought.process IA, CH O -- Serbest metin akıl yürütme / düşünce zinciri.
gen_ai.author.app.id OM O -- Ajanı oluşturan/oluşturan uygulamanın Microsoft Entra uygulama kimliği.
gen_ai.tool.name ET M ToolName Tool name. Defender araç kullanım görünümleri eksikse boş kalır.
gen_ai.tool.type ET M ToolType Bunlardan functionbiri , Power Platform Connector, MCP Server, API, code_interpreterKnowledge Sourcebing_grounding, , . file_search
gen_ai.tool.call.id ET M ToolId Bu araç çağrısı için tanımlayıcı.
gen_ai.tool.call.arguments ET M -- Araç argümanları (JSON dizisi). İleriye yönelik avlarda yakalandılar ama henüz yüzeye çıkmadılar.
gen_ai.tool.call.result ET M -- Araç sonucu (JSON dizisi).
gen_ai.tool.description ET O ToolDescription Tool description.
gen_ai.tool.server.name ET O -- Araç sunucusu ana adı. MCP araçları için bu özniteliği ayarlayın.
gen_ai.request.model CH M -- Model adı (örneğin, gpt-4o). İleriye yönelik avlarda yakalandılar ama henüz yüzeye çıkmadılar.
gen_ai.provider.name CH M -- Sağlayıcı adı (örneğin, openai).
gen_ai.usage.input_tokens CH O -- Giriş token sayısı, diziyle kodlanmış.
gen_ai.usage.output_tokens CH O -- Çıkış token sayısı, diziyle kodlanmış.
gen_ai.response.finish_reasons CH O -- Finish reason(s).
microsoft.a365.caller.agent.id IA M*² -- Temsilci appId arıyorum. Ajandan ajana iletişim için gereklidir.
microsoft.a365.caller.agent.name IA M*² -- Temsilcinin gösterimli adı arıyorum.
microsoft.a365.caller.agent.blueprint.id IA M*² AgentBlueprintId Ajanın blueprint appId'sini arıyorum. Vücut bulmuş A2A için gereklidir.
microsoft.a365.caller.agent.user.id IA M*² -- Ajanın kullanıcı kimliğini arıyorum.
microsoft.a365.caller.agent.user.email IA M*² -- Temsilci UPN'i arıyorum.
microsoft.a365.caller.agent.platform.id IA N/A -- Entra olmayan alternatif ID'ler için ayrılmıştır.
gen_ai.caller.agent.type IA N/A -- Ajan 365 otomatik sınıflandırma yapıyor.
microsoft.agent.user.id I, ET, CH M*¹ TargetAgentUserKey (IA); UserKey (ET, CH) Microsoft Entra nesne kimliği, ajanın kendi kullanıcı hesabı. Yapay zeka takım arkadaşları / bedenlenmiş ajanlar için zorunlu.
microsoft.agent.user.email I, ET, CH O*¹ UserId (ET, CH) Ajanın kullanıcı hesabının UPN'si.
span.SpanId All M OpId OTel SDK bunu yayıyor.
span.ParentSpanId All M*³ ParentId Sadece kök olmayan açıklıklar için gereklidir; kökte invoke_agent hiç yok.
span.StartTimeUnixNano All M üst düzey TimeGenerated (yine CreationTime )RawEventData Unix epoch nanos bir dizi olarak.
span.EndTimeUnixNano All M CompletionTime (IA, ET); CopilotEventData.CompletionTime (CH) Eksikse süre hesaplanamaz.
span.Status.Message All O*⁴ ErrorMessage (IA, ET); CopilotEventData.ErrorMessage (CH) Başarısız çalışmaların temel nedeni eksikse boş.
span.Status.Code All O*⁴ ErrorType (IA); CopilotEventData.ErrorType (CH) Eksikse hata kategorisi boş.

Note

Yaydığınız birkaç öznitelik (araç argümanları / sonuçlar, model parametreleri ve kanal derin bağlantıları gibi) Agent 365 tarafından kabul edilir ve Microsoft Defender görüşleri tarafından kullanılır, ancak henüz CloudAppEvents.RawEventData JSON anahtarı olarak açığa çıkarılmaz. Yine de onları Gerekli sütununa göre ayarlayın - gelecekteki bir sürümde avlanma yüküne eklenebilirler.

Doğal bir değer yokken değer seçmek

Bazı gerekli nitelikler, ajanınızın mimarisinde bulunmayabilecek kavramları tanımlar. Doğal değer yoksa, bunun yerine ne ayarlayacağınız. Zorunlu bir alanı boş bırakmayın—hatta sıfır GUID bile koşunuzu bazı müşteri deneyimlerinden gizler.

Soru / senaryo Field(s) Ne ayarlanır?
Ajanım standart Entra uygulama kayıt (Entra Aracı Kimliği planından oluşmamış). gen_ai.agent.id Entra uygulamasının appId'si.
↑ aynı senaryo microsoft.a365.agent.blueprint.id (Ajanın appId'si) ile aynı değeri gen_ai.agent.id tekrar kullanın. Şema boş olmayan bir değer gerektirir; Agent appId'yi yeniden kullanmak, blueprint olmadığında güvenli varsayılan yöntemdir.
Ajanım Entra Aracı Kimliği blueprintüzerinden oluşturulmuştur - aynı plandan oluşturulmuş bir veya birkaç ajan kimliği. gen_ai.agent.id Ajan kimliğinin appId'si ( instance appId, blueprint'in değil).
↑ aynı senaryo microsoft.a365.agent.blueprint.id Planın appId'si. Aynı blueprint'ten basılan tüm örnekler bu değeri paylaşır.
Arayan kişi insan kullanıcıdır, başka bir ajan değildir. Hepsi microsoft.a365.caller.agent.* ve gen_ai.caller.agent.* özellikleri Omit. Sadece ajandan ajana olan durumlarda zorunludurlar.
Ajan-ajanda: çağıran ajan standart bir Entra uygulamasıdır (blueprint yoktur). microsoft.a365.caller.agent.blueprint.id Arayan temsilcinin appId'sini tekrar kullanın.
Temsilcim bir yapay zeka takım üyesi değil - kiracıda kendi kullanıcı hesabı yok. Tüm microsoft.agent.user.* özellikler Omit. Sadece ajanın kendi Entra Aracı Kimliği kullanıcı hesabına sahip olduğunda zorunludurlar.
Ajanımın tek bir koşudan öte bir oturum kavramı yok. microsoft.session.id İsteğe bağlı - çıkar. Her koşunun kendi oturumu olmasını istiyorsanız, her koşuya göre bir GUID ayarlayın.
Ajanımın konuşma anlayışı yok (tek seferlik, devletsiz). gen_ai.conversation.id Her koşuda yeni bir GUID oluşturun. Saha zorunludur; atlamak ise Defender ajan-activity görünümlerinden ve Microsoft 365 yönetim merkezi'dan çalıştırma kaldırılır.
Arayan kişinin IP adresi yoktur (örneğin, otonom bir zamanlanmış tetikleyici). client.address Kontrol ettiğiniz kararlı bir yer tutucu kullanın (örneğin, "0.0.0.0"). Saha zorunludur; boş bir değer, IP tabanlı inceleme pivotlarından koşuyu kaldırır.
Ajan süreçte çalışır; Ayrı bir "sunucu" çağrılmıyor. server.address / server.port Ajanı çalıştıran makinenin ana adını (örneğin, myagent.example.com) ve uç noktanızın dinlediği portu kullanın. Ayrı bir aşağı akış hizmeti olmasa bile zorunlu.
Benim chat span'ımda model token kullanımı yok. gen_ai.usage.input_tokens / gen_ai.usage.output_tokens İsteğe bağlı - çıkar. Eğer yaklaşık sayılarınız varsa, onları şu şekilde gönderin.stringValue
Span'ımda rapor edilecek hata yok. span.Status.Message, span.Status.Code OTel durumunu OK (sayısal kod 1) olarak ayarlayın ve mesajı çıkarın. Boru hattı bu alanlara yalnızca durum olduğunda Errordanışır.
Temsilcim Entra olmayan bir kimlik sistemi kullanıyor (temsilcinin Entra kaydı yok). microsoft.a365.agent.platform.id ve gen_ai.agent.type İkisini de her açıklığa ayarlayın. platform.idkimlik sisteminizdeki ajanın benzersiz kimliğidir; agent.type hangi kimlik sistemini tanımlayan kısa bir etikettir. İkisi de serbest biçimli metinler - sisteminiz için mantıklı olanı seçin. Microsoft rezerve edilen tip değerlerini kullanmayın: CustomBuiltAgentsUsingSDK, CopilotStudio, Foundry, DeclarativeAgent, Custom (bu değerler iç Microsoft yüzeyleri için ayrılmıştır). Kimlik doğrulama yapacağınız arama uygulaması bu rotaları kullanmak için yine de Entra kaydı gerektirir - alternatif kimlik çifti hedef ajanı tanımlar, arayanı değil.
Ne kadar değer vermeliyim microsoft.channel.name? microsoft.channel.name Ajanın üzerinde çalıştığı yüzey. Defender ve admin center anahtarı literal diziden filtreler, bu yüzden kısa, stabil ve küçük harfli bir token kullanın. Günümüzde kanonik değerler msteams ve outlook; yaygın müşteriye yönelik yüzeyler de , office, sharepoint, veya <your-product-name>.web Bir değer seçin ve ona bağlı kalın - alet aynı kanal olarak msteams ve Microsoft Teams uyumunu sağlayamıyor.
Ayarlamalı gen_ai.agent.typemıyım? gen_ai.agent.type Sadece ayar microsoft.a365.agent.platform.id da yapıyorsanız (örneğin, temsilcinizin Entra kaydı yoksa). İkili, ajan 365'e ajanın hangi kimlik sisteminden geldiğini söyler. Kimlik sisteminizi benzersiz şekilde tanımlayan kısa bir etiket seçin. , , , veya - bu değerler iç Microsoft kullanımı için ayrılmıştır. Entra kayıtlı temsilciler için alan çıkarılmıştır; Ajan 365 onu dolduruyor.
Açıklıklarımda hangi OTLP kind belirlemeliyim? span.kind Proto enum dizisini değil, tam sayı enum değerini kullanın - 1 (), (SERVER), 3CLIENT2 (), 4PRODUCER(). 5CONSUMERINTERNAL Agent 365 bunların hiçbirini kabul eder ve müşteriye görünür davranış çıkarmaz kind, bu 1 yüzden (DAHIL) her aralık için güvenli bir varsayılan konumdur. Eğer 'tür' çağrı şeklini yansıtmak istiyorsanız, INTERNAL for invoke_agent / output_messages ve CLIENT for chat / execute_tool makul bir şekilde kullanılabilir.