AzureDiagnostics
Menyimpan log sumber daya untuk layanan Azure yang menggunakan mode Diagnostik Azure. Log sumber daya menjelaskan operasi internal sumber daya Azure.
Log sumber daya untuk setiap layanan Azure memiliki kumpulan kolom yang unik. Tabel AzureDiagnostics menyertakan kolom paling umum yang digunakan oleh layanan Azure. Jika log sumber daya menyertakan kolom yang belum ada di tabel AzureDiagnostics, kolom tersebut ditambahkan saat pertama kali data dikumpulkan. Jika jumlah maksimum 500 kolom tercapai, data untuk setiap kolom tambahan ditambahkan ke kolom dinamis.
Layanan Azure yang menggunakan mode khusus sumber daya menyimpan data dalam tabel khusus untuk layanan tersebut dan tidak menggunakan tabel AzureDiagnostics. Lihat Log sumber daya Azure untuk detail tentang perbedaannya. Lihat Sumber Daya menggunakan mode Diagnostik Azure untuk layanan yang menggunakan Diagnostik Azure.
Catatan
Tabel AzureDiagnostics adalah tabel log kustom yang dibuat secara eksklusif oleh alur Azure Monitor saat pertama kali sumber daya Azure mulai mengirim log dalam mode Diagnostik Azure. Tidak seperti tabel lain, tabel AzureDiagnostics tidak dapat dibuat melalui TEMPLAT ARM atau API tabel. Akibatnya, tidak dimungkinkan untuk memodifikasi nilai retensi default tabel sebelum pembuatannya.
Kolom AdditionalFields
Tidak seperti tabel lain, AzureDiagnostics jauh lebih rentan untuk melebihi batas 500 kolom yang diberlakukan untuk tabel apa pun di ruang kerja Analitik Log karena berbagai macam Sumber Daya Azure yang mampu mengirim data ke tabel ini. Untuk memastikan bahwa tidak ada data yang hilang karena jumlah kolom aktif yang melebihi batas kolom 500 ini, pembuatan kolom AzureDiagnostics ditangani dengan cara yang berbeda dengan tabel lain.
Tabel AzureDiagnostics di setiap ruang kerja berisi minimal 200 kolom yang sama. Untuk ruang kerja yang dibuat sebelum 19 Januari 2021, tabel juga berisi kolom apa pun yang sudah ada sebelum tanggal ini. Saat data dikirim ke kolom yang belum ada:
- Jika jumlah total kolom di AzureDiagnostics di ruang kerja saat ini tidak melebihi 500, kolom baru dibuat sama seperti tabel lainnya.
- Jika jumlah total kolom berada di atau di atas 500, kelebihan data ditambahkan ke kolom tas properti dinamis yang disebut AdditionalFields sebagai properti.
Contoh
Untuk mengilustrasikan perilaku ini, bayangkan bahwa pada (tanggal penyebaran) tabel AzureDiagnostics di ruang kerja kami terlihat sebagai berikut:
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Sumber daya yang mengirim data ke AzureDiagnostics kemudian menambahkan dimensi baru ke data yang mereka sebut NewInfo1. Karena tabel masih memiliki kurang dari 500 kolom, pertama kali peristiwa terjadi yang berisi data untuk dimensi baru ini menambahkan kolom baru ke tabel:
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
Anda bisa mengembalikan data baru ini dalam kueri sederhana:
AzureDiagnostics | where NewInfo1_s == "xyz"
Di kemudian hari, sumber daya lain mengirim data ke AzureDiagnostics yang menambahkan dimensi baru yang disebut NewInfo2 dan NewInfo3. Karena tabel telah mencapai 500 kolom di ruang kerja ini, data baru masuk ke kolom AdditionalFields :
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 | NewInfo1_s | AdditionalFields |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
Anda masih dapat meminta data ini, tetapi Anda harus mengekstraknya dari tas properti menggunakan salah satu operator properti dinamis di KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Tips menggunakan AdditionalFields
kolom
Meskipun praktik terbaik kueri seperti selalu memfilter menurut waktu sebagai klausa pertama dalam kueri harus diikuti, ada beberapa rekomendasi lain yang harus Anda pertimbangkan saat bekerja dengan AdditionalFields:
- Anda harus mengetikkan data sebelum melakukan operasi lebih lanjut di atasnya. Misalnya, jika Anda memiliki kolom yang disebut Perf1Sec_i dan properti di AdditionalFields yang disebut Perf2Sec, dan Anda ingin menghitung total perf dengan menambahkan kedua nilai, Anda dapat menggunakan yang berikut ini:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Gunakan klausa di mana untuk mengurangi volume data sekecil mungkin sebelum menulis logika kompleks apa pun untuk meningkatkan performa secara signifikan. TimeGenerated adalah satu kolom yang harus selalu dikurangi ke jendela sekecil mungkin. Dalam kasus AzureDiagnostics, filter tambahan harus selalu disertakan di bagian atas kueri di sekitar jenis sumber daya yang sedang dikueri menggunakan kolom ResourceType .
- Saat mengkueri data dalam volume besar, terkadang lebih efisien untuk melakukan filter di AdditionalFields secara keseluruhan daripada mengurainya. Misalnya, untuk data dalam volume besar,
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
sering kali lebih efisien daripadaAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Sumber daya menggunakan mode Diagnostik Azure
Layanan berikut menggunakan mode diagnostik Azure untuk log sumber daya mereka dan mengirim data ke tabel Diagnostik Azure. Lihat Log sumber daya Azure untuk detail tentang konfigurasi ini.
Catatan
Semua sumber daya lainnya mengirim data ke tabel khusus sumber daya.
Nama layanan | resourceType |
---|---|
MicrosoftSqlAzureTelemetryv3 | microsoft.sql/server/database |
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/namespaces |
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/namespaces |
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/factories |
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/namespaces |
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 |
Mode Diagnostik Azure atau mode khusus sumber daya
Layanan berikut menggunakan mode diagnostik Azure atau mode khusus sumber daya untuk log sumber daya mereka tergantung pada konfigurasi pengaturan diagnostik. Saat menggunakan mode khusus sumber daya, sumber daya ini tidak mengirim data ke tabel AzureDiagnostics. Lihat Log sumber daya Azure untuk detail tentang konfigurasi ini.
Nama layanan | resourceType |
---|---|
Layanan API Management | Microsoft.ApiManagement |
Azure Cosmos DB | Microsoft.DocumentDB/databaseAccounts |
Data factory (V2) | Microsoft.DataFactory |
Vault Layanan Pemulihan (Cadangan) | Microsoft.RecoveryServices/vaults |
Firewall | Microsoft.Network/azurefirewalls |
Kolom tabel AzureDiagnostics
Column | Tipe | Deskripsi |
---|---|---|
id_tindakan_s | String | |
nama_tindakan_s | String | |
action_s | String | |
ActivityId_g | Guid | |
AdditionalFields | ||
AdHocOrScheduledJob_s | String | |
nama_aplikasi_s | String | |
audit_versi_skema_d | Laju | |
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 | |
ip_klien_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | Laju | |
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 | Laju | |
cpu_time_d | Laju | |
nama_database_s | String | |
nama_prinsipal_database_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | Laju | |
duration_d | Laju | |
durasi_milidetik_d | Laju | |
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 | |
waktu_peristiwa_t | DateTime | |
EventName_s | String | |
execution_type_d | Laju | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | Laju | |
executionInfo_startTime_t | DateTime | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | Laju | |
httpStatusCode_d | Laju | |
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 | Laju | |
interval_start_time_d | Laju | |
ip_s | String | |
adalah_izin_kolom_s | String | |
isAccessPolicyMatch_b | Bool | |
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 | |
Tingkat | String | |
log_bytes_used_d | Laju | |
logical_io_reads_d | Laju | |
logical_io_writes_d | Laju | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | Laju | |
max_cpu_time_d | Laju | |
max_dop_d | Laju | |
max_duration_d | Laju | |
max_log_bytes_used_d | Laju | |
max_logical_io_reads_d | Laju | |
max_logical_io_writes_d | Laju | |
max_num_physical_io_reads_d | Laju | |
max_physical_io_reads_d | Laju | |
max_query_max_used_memory_d | Laju | |
max_rowcount_d | Laju | |
max_time_s | String | |
mean_time_s | String | |
Pesan | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | Laju | |
id_ objek_d | Laju | |
nama_objek_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | Laju | |
plan_id_d | Laju | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | Laju | |
properties_enabledForDeployment_b | Bool | |
properties_enabledForDiskEncryption_b | Bool | |
properties_enabledForTemplateDeployment_b | Bool | |
properties_s | String | |
properties_sku_Family_s | String | |
properties_sku_Name_s | String | |
properties_tenantId_g | Guid | |
query_hash_s | String | |
query_id_d | Laju | |
query_max_used_memory_d | Laju | |
query_plan_hash_s | String | |
query_time_d | Laju | |
querytext_s | String | |
receivedBytes_d | Laju | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
Sumber daya | 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 | Pengidentifikasi unik untuk sumber daya yang terkait dengan rekaman |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
baris_respons_d | Laju | |
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 | Laju | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
nama_skema_s | String | |
sentBytes_d | Laju | |
urutan_id_grup_g | Guid | |
nomor_urutan_d | Laju | |
sid_prinsipal_server_s | String | |
id_sesi_d | Laju |