Aracılığıyla paylaş


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 bu hizmete özgü bir tabloda depolar ve AzureDiagnostics tablosunu kullanmaz. Farklılıklar hakkında ayrıntılı bilgi için bkz . Azure kaynak günlükleri . Azure Tanılama kullanan hizmetler için bkz. Azure Tanılama modunu kullanan kaynaklar.

Not

AzureDiagnostics tablosu, bir Azure kaynağı günlükleri Azure Tanılama modunda ilk kez göndermeye başladığında Yalnızca Azure İzleyici işlem hattı tarafından oluşturulan özel bir günlük tablosudur. Diğer tablolardan farklı olarak, AzureDiagnostics tablosu ARM şablonu veya tablolar API'si aracılığıyla oluşturulamaz. Sonuç olarak, tablo oluşturulmadan önce tablonun varsayılan bekletme değerlerini değiştirmek mümkün değildir.

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ındaki AzureDiagnostics tablosu en az aynı 200 sütunu içerir. 19 Ocak 2021'e kadar oluşturulan çalışma alanları için tabloda bu tarihten önce zaten var olan sütunlar da yer alır. Veriler henüz yerinde olmayan bir sütuna gönderildiğinde:

  • Geçerli çalışma alanındaki 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 özellik olarak AdditionalFields adlı dinamik bir özellik paketi sütununa eklenir.

Örnek

Bu davranışı göstermek için çalışma alanımı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'e NewInfo2 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"

Sütunu kullanma ipuçları AdditionalFields

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

  • Üzerinde daha fazla işlem gerçekleştirmeden önce verileri yazmanız gerekir. Örneğin, Perf1Sec_i adlı bir sütun ve AdditionalFields'de Perf2Sec adlı bir özelliğiniz varsa ve her iki değeri de ekleyerek toplam performans değerini hesaplamak istiyorsanız, aşağıdakileri kullanabilirsiniz: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
  • Performansı önemli ölçüde geliştirmek için herhangi bir 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ürleri çevresinde sorgunun en üstüne her zaman ek bir filtre eklenmelidir.
  • 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 modunu kullanan kaynaklar

Aşağıdaki hizmetler, kaynak günlükleri için Azure tanılama modunu kullanır ve verileri Azure Tanılama tablosuna gönderir. Bu yapılandırmayla ilgili ayrıntılar için bkz . Azure kaynak günlükleri .

Not

Diğer tüm kaynaklar kaynağa özgü tablolara veri gönderir.

Service name resourceType
MicrosoftSqlAzureTelemetryv3 microsoft.sql/sunucular/veritabanları
MicrosoftAzureCosmosDB microsoft.documentdb/databaseaccounts
AzureFirewall microsoft.network/azurefirewalls
AzureApplicationGatewayService microsoft.network/applicationgateways
AKSCustomerData microsoft.containerservice/managedclusters
AzureFrontdoor microsoft.cdn/profiles
LNMAgentService microsoft.network/networksecuritygroups
MicrosoftOrcasBreadthServers microsoft.dbforpostgresql/flexibleservers
servicebus microsoft.eventhub/ad alanları
AzureFrontdoor microsoft.network/frontdoors
AzureKeyVault microsoft.keyvault/vaults
AzureDataLake microsoft.datalakestore/accounts
ApiManagement microsoft.apimanagement/service
MicrosoftSqlAzureTelemetryv3 microsoft.sql/managedinstances
ASAzureRP microsoft.analysisservices/servers
MicrosoftOrcasBreadthServers microsoft.dbformysql/flexibleservers
servicebus microsoft.servicebus/ad alanları
AzureIotHub microsoft.devices/iothubs
MicrosoftSqlAzureTelemetryv2 microsoft.dbforpostgresql/servers
MicrosoftSqlAzureTelemetryv2 microsoft.dbformariadb/servers
MicrosoftAutomation microsoft.automation/automationaccounts
TrafficManager microsoft.network/trafficmanagerprofiles
MicrosoftOrcasBreadthServers microsoft.dbforpostgresql/servergroupsv2
AzureSearch microsoft.search/searchservices
AzureHybrid microsoft.network/virtualnetworkgateways
MicrosoftSqlAzureTelemetryv3 microsoft.sql/managedinstances/databases
PBIDedicatedRP microsoft.powerbidedicated/capacities
AzureHybrid microsoft.network/vpngateways
MicrosoftDatafactory microsoft.datafactory/factory
MicrosoftCognitiveServices microsoft.cognitiveservices/accounts
AzureRecoveryServices microsoft.recoveryservices/vaults
AzureBatch microsoft.batch/batchaccounts
AzureHybrid microsoft.network/p2svpngateways
MicrosoftSqlAzureTelemetryv2 microsoft.dbformysql/servers
AzureKeyVault microsoft.keyvault/managedhsms
NetMon microsoft.network/publicipaddresses
AzureDataLake microsoft.datalakeanalytics/accounts
MicrosoftStreamanalytics microsoft.streamanalytics/streamingjobs
servicebus microsoft.relay/ad alanları
AzureIotDps microsoft.devices/provisioningservices
MicrosoftAzureCosmosDB microsoft.documentdb/cassandraclusters
MicrosoftAzureCosmosDB microsoft.documentdb/mongoclusters
AKSCustomerData microsoft.containerservice/fleets
PBIDedicatedRP microsoft.powerbi/tenants/workspaces
AzureFrontdoor microsoft.cdn/cdnwebapplicationfirewallpolicies
AzureHybrid microsoft.network/expressroutecircuits
MicrosoftAzureCosmosDB microsoft.dbforpostgresql/flexibleservers
NetMon microsoft.network/publicipprefixes
AzureCdn microsoft.cdn/profiles/endpoints

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

Aşağıdaki hizmetler, tanılama ayarları yapılandırması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 kullanırken bu kaynaklar AzureDiagnostics tablosuna veri göndermez. Bu yapılandırmayla ilgili ayrıntılar için bkz . Azure kaynak günlükleri .

Service name resourceType
API Management Services Microsoft.ApiManagement
Azure Cosmos DB Microsoft.DocumentDB/databaseAccounts
Veri fabrikaları (V2) Microsoft.DataFactory
Kurtarma Hizmetleri kasaları (Yedekleme) Microsoft.RecoveryServices/vaults
Güvenlik duvarları Microsoft.Network/azureFirewalls

AzureDiagnostics tablo sütunları

Sütun Türü Açıklama
action_id_s String
action_name_s String
action_s String
ActivityId_g GUID
EkAlanlar
AdHocOrScheduledJob_s String
application_name_s String
audit_schema_version_d Çift
avg_cpu_percent_s String
avg_mean_time_s String
backendHostname_s String
Caller_s String
callerId_s String
CallerIPAddress String
calls_s String
Kategori String
client_ip_s String
clientInfo_s String
clientIP_s String
clientIp_s String
clientIpAddress_s String
clientPort_d Çift
code_s String
collectionName_s String
conditions_destinationIP_s String
conditions_destinationPortRange_s String
conditions_None_s String
conditions_protocols_s String
conditions_sourceIP_s String
conditions_sourcePortRange_s String
CorrelationId String
count_executions_d Çift
cpu_time_d Çift
database_name_s String
database_principal_name_s String
DatabaseName_s String
db_id_s String
direction_s String
dop_d Çift
duration_d Çift
duration_milliseconds_d Çift
DurationMs BigInt
ElasticPoolName_s String
endTime_t DateTime
Environment_s String
error_code_s String
error_message_s String
errorLevel_s String
event_class_s String
event_s String
event_subclass_s String
event_time_t DateTime
EventName_s String
execution_type_d Çift
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Çift
executionInfo_startTime_t DateTime
host_s String
httpMethod_s String
httpStatus_d Çift
httpStatusCode_d Çift
httpStatusCode_s String
httpVersion_s String
id_s String
identity_claim_appid_g GUID
identity_claim_ipaddr_s String
instanceId_s String
interval_end_time_d Çift
interval_start_time_d Çift
ip_s String
is_column_permission_s String
isAccessPolicyMatch_b Boole
JobDurationInSecs_s String
JobFailureCode_s String
JobId_g GUID
jobId_s String
JobOperation_s String
JobOperationSubType_s String
JobStartDateTime_s String
JobStatus_s String
JobUniqueId_g GUID
Level String
log_bytes_used_d Çift
logical_io_reads_d Çift
logical_io_writes_d Çift
LogicalServerName_s String
macAddress_s String
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 String
mean_time_s String
Mesaj String
min_time_s String
msg_s String
num_physical_io_reads_d Çift
object_id_d Çift
object_name_s String
OperationName String
OperationVersion String
partitionKey_s String
physical_io_reads_d Çift
plan_id_d Çift
policy_s String
policyMode_s String
primaryIPv4Address_s String
priority_d Çift
properties_enabledForDeployment_b Boole
properties_enabledForDiskEncryption_b Boole
properties_enabledForTemplateDeployment_b Boole
properties_s String
properties_sku_Family_s String
properties_sku_Name_s String
properties_tenantId_g GUID
query_hash_s String
query_id_d Çift
query_max_used_memory_d Çift
query_plan_hash_s String
query_time_d Çift
querytext_s String
receivedBytes_d Çift
Region_s String
requestCharge_s String
requestQuery_s String
requestResourceId_s String
requestResourceType_s String
requestUri_s String
reserved_storage_mb_s String
Kaynak String
resource_actionName_s String
resource_location_s String
resource_originRunId_s String
resource_resourceGroupName_s String
resource_runId_s String
resource_subscriptionId_g GUID
resource_triggerName_s String
resource_workflowId_g GUID
resource_workflowName_s String
ResourceGroup String
_ResourceId String Kaydın ilişkili olduğu kaynağın benzersiz tanımlayıcısı
ResourceProvider String
ResourceProvider String
ResourceType String
ResourceType String
response_rows_d Çift
resultCode_s String
ResultDescription String
ResultDescription String
resultDescription_ChildJobs_s String
resultDescription_ErrorJobs_s String
resultMessage_s String
ResultSignature String
ResultType String
ResultType String
rootCauseAnalysis_s String
routingRuleName_s String
rowcount_d Çift
ruleName_s String
RunbookName_s String
RunOn_s String
schema_name_s String
sentBytes_d Çift
sequence_group_id_g GUID
sequence_number_d Çift
server_principal_sid_s String
session_id_d Çift