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ğerindenAzureDiagnostics | 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 |