AzureDiagnostics

Azure Tanılama modunu kullanan Azure hizmetleri için kaynak günlüklerini depolar. Kaynak günlükleri, Azure kaynaklarının iç işlemini açıklar.

Her Azure hizmetinin kaynak günlüğünde benzersiz bir sütun kümesi vardır. AzureDiagnostics tablosu Azure hizmetleri tarafından en yaygın kullanılan sütunları içerir. Kaynak günlüğü AzureDiagnostics tablosunda yer almayan bir sütun içeriyorsa, bu veriler ilk kez toplandığında bu sütun tabloya eklenir. Sütun sayısı üst sınırı olan 500 sütuna ulaşıldıysa, ek sütunların verileri dinamik bir sütuna eklenir.

Kaynağa özgü modu kullanan Azure hizmetleri, verileri o hizmete özgü bir tabloda depolar ve AzureDiagnostics tablosunu kullanmaz. Her yöntemi kullanan hizmetler için aşağıdaki Kaynak Türleri'ne bakın. Farklılıklar hakkında ayrıntılı bilgi için bkz. Azure kaynak günlükleri .

AdditionalFields sütunu

Diğer tablolardan farklı olarak AzureDiagnostics , bu tabloya veri gönderebilen Çok Çeşitli Azure Kaynakları nedeniyle Log Analytics çalışma alanında herhangi bir tablo için uygulanan 500 sütun sınırını aşmaya çok daha duyarlıdır. Bu 500 sütun sınırını aşan etkin sütun sayısı nedeniyle veri kaybı olmamasını sağlamak için AzureDiagnostics sütun oluşturma işlemi diğer tablolardan farklı bir şekilde işlenir.

Her çalışma alanında AzureDiagnostics tablosu en az aynı 200 sütunu içerir. 19 Ocak 2021 tarihinden önce oluşturulan çalışma alanları için tabloda bu tarihten önce zaten mevcut olan tüm sütunlar da yer alır. Veriler henüz yerinde olmayan bir sütuna gönderildiğinde:

  • Geçerli çalışma alanında AzureDiagnostics'teki toplam sütun sayısı 500'ü geçmezse, diğer tüm tablolarda olduğu gibi yeni bir sütun oluşturulur.
  • Toplam sütun sayısı 500 veya üzerindeyse, fazla veriler EkAlanlar adlı bir dinamik özellik paketi sütununa özellik olarak eklenir.

Örnek

Bu davranışı göstermek için çalışmamızdaki AzureDiagnostics tablosunun (dağıtım tarihi) itibarıyla aşağıdaki gibi göründüğünü düşünün:

Sütun 1 Sütun 2 Sütun 3 ... Sütun 498
abc def 123 ... 456
... ... ... ... ...

AzureDiagnostics'e veri gönderen bir kaynak, verilerine NewInfo1 adını verdikleri yeni bir boyut ekler. Tabloda hala 500'den az sütun bulunduğundan, bu yeni boyuta ilişkin verileri içeren bir olay ilk kez gerçekleştiğinde tabloya yeni bir sütun eklenir:

Sütun 1 Sütun 2 Sütun 3 ... Sütun 498 NewInfo1_s
abc def 123 ... 456 xyz
... ... ... ... ... ...

Bu yeni verileri basit bir sorguda döndürebilirsiniz:

AzureDiagnostics | where NewInfo1_s == "xyz"

Daha sonraki bir tarihte, başka bir kaynak AzureDiagnostics'eNewInfo2 ve NewInfo3 adlı yeni boyutlar ekleyen veriler gönderir. Tablo bu çalışma alanında 500 sütuna ulaştığından, yeni veriler AdditionalFields sütununa gider:

Sütun 1 Sütun 2 Sütun 3 ... Sütun 498 NewInfo1_s EkAlanlar
abc def 123 ... 456 xyz {"NewInfo2":"789","NewInfo3":"qwerty"}
... ... ... ... ... ... ...

Yine de bu verileri sorgulayabilirsiniz, ancak KQL'deki dinamik özellik işleçlerinden herhangi birini kullanarak bu verileri özellik paketinden ayıklamanız gerekir:

AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"

AdditionalFields sütununu kullanma ipuçları

Sorgunun ilk yan tümcesi olarak her zaman zamana göre filtreleme gibi genel sorgu en iyi yöntemleri izlense de, AdditionalFields ile çalışırken göz önünde bulundurmanız gereken başka öneriler de vardır:

  • Daha fazla işlem gerçekleştirmeden önce verileri yazmanız gerekir. Örneğin, Perf1Sec_i adlı bir sütunun yanı sıra AdditionalFields'dePerf2Sec adlı bir özellik varsa ve her iki değeri de ekleyerek toplam performansı hesaplamak istiyorsanız, şunun gibi bir şey kullanın: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
  • Performansı önemli ölçüde geliştirmek için karmaşık mantık yazmadan önce veri hacmini mümkün olan en küçük boyuta düşürmek için where yan tümcelerini kullanın. TimeGenerated her zaman mümkün olan en küçük pencereye indirgenmesi gereken bir sütundur. AzureDiagnostics söz konusu olduğunda, ResourceType sütunu kullanılarak sorgulanan kaynak türleriyle ilgili sorgunun en üstüne her zaman ek bir filtre eklenmelidir.
  • Çok büyük hacimli verileri sorgularken, additionalfields üzerinde ayrıştırmak yerine bir bütün olarak filtre uygulamak bazen daha verimli olabilir. Örneğin, büyük hacimli veriler AzureDiagnostics | where AdditionalFields has "Perf2Sec" için genellikle değerinden AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))daha verimlidir.

Azure Tanılama modu

Aşağıdaki hizmetler, kaynak günlükleri için Azure tanılama modunu kullanır ve verileri Azure Tanılama tablosuna gönderir.

  • Analysis Services
  • Uygulama Ağ Geçitleri
  • Otomasyon Hesapları
  • MariaDB için Azure Veritabanı sunucuları
  • MySQL için Azure Veritabanı sunucuları
  • PostgreSQL için Azure Veritabanı sunucuları
  • PostgreSQL için Azure Veritabanı sunucuları v2
  • Batch hesapları
  • CDN profilleri
  • Bilişsel Hizmetler
  • Data Lake Analytics
  • DataLake Depolama 1. Nesil
  • Cihaz Sağlama Hizmetleri
  • Digital Twins
  • Event Grid Konu Başlıkları
  • Event Hubs
  • ExpressRoute bağlantı hatları
  • Ön Kapılar
  • Tümleştirme hesapları
  • Key Vault
  • Kubernetes hizmetleri
  • Yük dengeleyiciler
  • Logic Apps
  • Medya hizmetleri
  • Ağ arabirimleri
  • Ağ Güvenlik Grupları
  • P2S VPN Ağ Geçitleri
  • Power BI Embedded
  • Genel IP adresleri
  • Kurtarma Hizmetleri kasaları (Site Recovery)
  • Arama hizmetleri
  • Service Bus
  • SQL veritabanları
  • SQL yönetilen Örnekleri
  • SQL sunucuları
  • Stream Analytics işleri
  • Traffic Manager profilleri
  • Sanal ağlar
  • Sanal ağ geçitleri
  • VPN Ağ Geçitleri

Azure Tanılama modu veya kaynağa özgü mod

Aşağıdaki hizmetler, yapılandırmalarına bağlı olarak kaynak günlükleri için Azure tanılama modunu veya kaynağa özgü modu kullanır. Kaynağa özgü modu kullandıklarında AzureDiagnostics tablosuna veri göndermez. Bu yapılandırmayla ilgili ayrıntılar için bkz. Azure kaynak günlükleri .

  • API Management Hizmetleri
  • Azure Cosmos DB
  • Veri fabrikaları (V2)
  • IoT Hub
  • Kurtarma Hizmetleri kasaları (Yedekleme)
  • Güvenlik duvarları

Kategoriler

  • Azure Kaynakları
  • Güvenlik

Çözümler

  • LogManagement

Kaynak türleri

  • Uygulama Ağ Geçitleri
  • CDN Profilleri
  • Azure Cosmos DB
  • Event Grid Konu Başlıkları
  • Event Hubs
  • Güvenlik duvarları
  • Key Vaults
  • Kubernetes Hizmetleri
  • Kurtarma Hizmetleri Kasaları
  • Service Bus
  • MySQL için Azure Veritabanı Esnek Sunucuları
  • Esnek Sunucuları PostgreSQL için Azure Veritabanı
  • Media Services
  • Analysis Services
  • Batch Hesapları
  • Bilişsel Hizmetler
  • Event Grid İş Ortağı Ad Alanları
  • Event Grid İş Ortağı Konuları
  • Event Grid Sistem Konuları
  • Azure Arc Özellikli Kubernetes
  • Azure Arc Tarafından Sağlanan Kümeler
  • IoT Hub
  • Logic Apps
  • API Management hizmetleri
  • Otomasyon hesabı
  • Veri fabrikaları
  • Data Lake Storage 1. Nesil
  • Data Lake Analytics
  • Power BI Embedded
  • SQL Yönetilen Örnekleri
  • SQL Sunucuları
  • SQL Veritabanları
  • MySQL için Azure Veritabanı Sunucuları
  • PostgreSQL için Azure Veritabanı Sunucuları
  • PostgreSQL için Azure Veritabanı Sunucuları V2
  • MariaDB için Azure Veritabanı Sunucuları
  • Cihaz Sağlama Hizmetleri
  • ExpressRoute Bağlantı Hatları
  • Ön Kapılar
  • Ağ Arabirimleri
  • Ağ Güvenlik Grupları
  • Genel IP Adresleri
  • Traffic Manager Profilleri
  • Sanal Ağ Geçitleri
  • Sanal Özel Ağ Geçitleri
  • Sanal Ağlar
  • Arama Hizmetleri
  • Stream Analytics işleri

Sütunlar

Sütun Tür Description
action_id_s Dize
action_name_s Dize
action_s Dize
ActivityId_g Guid
EkAlanlar
AdHocOrScheduledJob_s Dize
application_name_s Dize
audit_schema_version_d Çift
avg_cpu_percent_s Dize
avg_mean_time_s Dize
backendHostname_s Dize
Caller_s Dize
callerId_s Dize
CallerIPAddress Dize
calls_s Dize
Kategori Dize
client_ip_s Dize
clientInfo_s Dize
clientIP_s Dize
clientIp_s Dize
clientIpAddress_s Dize
clientPort_d Çift
code_s Dize
collectionName_s Dize
conditions_destinationIP_s Dize
conditions_destinationPortRange_s Dize
conditions_None_s Dize
conditions_protocols_s Dize
conditions_sourceIP_s Dize
conditions_sourcePortRange_s Dize
CorrelationId Dize
count_executions_d Çift
cpu_time_d Çift
database_name_s Dize
database_principal_name_s Dize
DatabaseName_s Dize
db_id_s Dize
direction_s Dize
dop_d Çift
duration_d Çift
duration_milliseconds_d Çift
DurationMs Bigint
ElasticPoolName_s Dize
endTime_t DateTime
Environment_s Dize
error_code_s Dize
error_message_s Dize
errorLevel_s Dize
event_class_s Dize
event_s Dize
event_subclass_s Dize
event_time_t DateTime
EventName_s Dize
execution_type_d Çift
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Çift
executionInfo_startTime_t DateTime
host_s Dize
httpMethod_s Dize
httpStatus_d Çift
httpStatusCode_d Çift
httpStatusCode_s Dize
httpVersion_s Dize
id_s Dize
identity_claim_appid_g Guid
identity_claim_ipaddr_s Dize
instanceId_s Dize
interval_end_time_d Çift
interval_start_time_d Çift
ip_s Dize
is_column_permission_s Dize
isAccessPolicyMatch_b Bool
JobDurationInSecs_s Dize
JobFailureCode_s Dize
JobId_g Guid
jobId_s Dize
JobOperation_s Dize
JobOperationSubType_s Dize
JobStartDateTime_s Dize
JobStatus_s Dize
JobUniqueId_g Guid
Level Dize
log_bytes_used_d Çift
logical_io_reads_d Çift
logical_io_writes_d Çift
LogicalServerName_s Dize
macAddress_s Dize
matchedConnections_d Çift
max_cpu_time_d Çift
max_dop_d Çift
max_duration_d Çift
max_log_bytes_used_d Çift
max_logical_io_reads_d Çift
max_logical_io_writes_d Çift
max_num_physical_io_reads_d Çift
max_physical_io_reads_d Çift
max_query_max_used_memory_d Çift
max_rowcount_d Çift
max_time_s Dize
mean_time_s Dize
İleti Dize
min_time_s Dize
msg_s Dize
num_physical_io_reads_d Çift
object_id_d Çift
object_name_s Dize
OperationName Dize
OperationVersion Dize
partitionKey_s Dize
physical_io_reads_d Çift
plan_id_d Çift
policy_s Dize
policyMode_s Dize
primaryIPv4Address_s Dize
priority_d Çift
properties_enabledForDeployment_b Bool
properties_enabledForDiskEncryption_b Bool
properties_enabledForTemplateDeployment_b Bool
properties_s Dize
properties_sku_Family_s Dize
properties_sku_Name_s Dize
properties_tenantId_g Guid
query_hash_s Dize
query_id_d Çift
query_max_used_memory_d Çift
query_plan_hash_s Dize
query_time_d Çift
querytext_s Dize
receivedBytes_d Çift
Region_s Dize
requestCharge_s Dize
requestQuery_s Dize
requestResourceId_s Dize
requestResourceType_s Dize
requestUri_s Dize
reserved_storage_mb_s Dize
Kaynak Dize
resource_actionName_s Dize
resource_location_s Dize
resource_originRunId_s Dize
resource_resourceGroupName_s Dize
resource_runId_s Dize
resource_subscriptionId_g Guid
resource_triggerName_s Dize
resource_workflowId_g Guid
resource_workflowName_s Dize
adlı yönetilen örnek, Dize
_Resourceıd Dize Kaydın ilişkili olduğu kaynağın benzersiz tanımlayıcısı
ResourceProvider Dize
ResourceProvider Dize
ResourceType Dize
ResourceType Dize
response_rows_d Çift
resultCode_s Dize
ResultDescription Dize
ResultDescription Dize
resultDescription_ChildJobs_s Dize
resultDescription_ErrorJobs_s Dize
resultMessage_s Dize
ResultSignature Dize
ResultType Dize
ResultType Dize
rootCauseAnalysis_s Dize
routingRuleName_s Dize
rowcount_d Çift
ruleName_s Dize
RunbookName_s Dize
RunOn_s Dize
schema_name_s Dize
sentBytes_d Çift
sequence_group_id_g Guid
sequence_number_d Çift
server_principal_sid_s Dize
session_id_d Çift