Bagikan melalui


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 daripada AzureDiagnostics | 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