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 Jenis Sumber Daya di bawah ini untuk layanan yang menggunakan setiap metode. Lihat Log sumber daya Azure untuk detail tentang perbedaannya.
Kolom AdditionalFields
Tidak seperti tabel lain, AzureDiagnostics jauh lebih rentan melebihi batas kolom 500 yang diberlakukan untuk tabel apa pun di ruang kerja Log Analytics karena berbagai macam Azure Resources 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 akan berisi minimal 200 kolom yang sama. Untuk ruang kerja yang dibuat sebelum 19 Januari 2021, tabel juga akan berisi kolom apa pun yang sudah ada sebelum tanggal ini. Ketika data dikirim ke kolom yang belum ada:
- Jika jumlah total kolom di AzureDiagnostics di ruang kerja saat ini tidak melebihi 500, kolom baru akan dibuat seperti halnya tabel lainnya.
- Jika jumlah total kolom berada pada atau di atas 500, kelebihan data ditambahkan ke kolom kantong properti dinamis yang disebut AdditionalFields sebagai properti.
Contoh
Untuk mengilustrasikan perilaku ini, bayangkan bahwa pada (tanggal penyebaran) tabel AzureDiagnostics di workpsace kami terlihat sebagai berikut:
| Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 |
|---|---|---|---|---|
| Abc | Def | 123 | ... | 456 |
| ... | ... | ... | ... | ... |
Sumber daya yang mengirimkan data ke AzureDiagnostics kemudian menambahkan dimensi baru ke data mereka yang mereka sebut NewInfo1. Karena tabel masih memiliki kurang dari 500 kolom, pertama kali peristiwa terjadi yang berisi data untuk dimensi baru ini akan menambahkan kolom baru ke tabel:
| Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 | NewInfo1_s |
|---|---|---|---|---|---|
| Abc | Def | 123 | ... | 456 | Xyz |
| ... | ... | ... | ... | ... | ... |
Anda dapat mengembalikan data baru ini dalam kueri sederhana:
AzureDiagnostics | where NewInfo1_s == "xyz"
Di kemudian hari, sumber daya lain mengirimkan data ke AzureDiagnostics yang menambahkan dimensi baru yang disebut NewInfo2 dan NewInfo3. Karena tabel telah mencapai 500 kolom di ruang kerja ini, data baru akan 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 saat menggunakan kolom AdditionalFields
Meskipun praktik terbaik kueri umum seperti selalu memfilter berdasarkan waktu sebagai klausa pertama dalam kueri harus diikuti, ada beberapa rekomendasi lain yang harus Anda pertimbangkan saat bekerja dengan AdditionalFields:
- Anda perlu mengetik data sebelum melakukan operasi lebih lanjut di atasnya. Misalnya, jika ada kolom yang disebut Perf1Sec_i serta properti di AdditionalFields yang disebut Perf2Sec, dan Anda ingin menghitung total perf dengan menambahkan kedua nilai, gunakan sesuatu seperti:
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 kinerja secara signifikan. TimeGenerated adalah salah satu kolom yang harus selalu direduksi menjadi jendela sekecil mungkin. Dalam kasus AzureDiagnostics, filter tambahan juga harus selalu disertakan di bagian atas kueri di sekitar jenis sumber daya yang dikueri menggunakan kolom ResourceType .
- Saat mengkueri volume data yang sangat besar, terkadang lebih efisien untuk melakukan filter di AdditionalFields secara keseluruhan daripada menguraikannya. Misalnya, untuk volume data
AzureDiagnostics | where AdditionalFields has "Perf2Sec"yang besar seringkali lebih efisien daripadaAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).
Kategori
- Sumber Daya Azure
- Keamanan
- Jaringan
Solusi
- LogManagement
Jenis sumber daya
Azure Diagnostics mode
Layanan berikut menggunakan mode diagnostik Azure untuk log sumber daya mereka dan mengirim data ke tabel Azure Diagnostics.
- Analysis Services
- Application Gateway
- Akun Automasi
- Server Azure Database for MariaDB
- Azure Database for MySQL server
- Azure Database for PostgreSQL server
- Azure Database for PostgreSQL server v2
- Akun batch
- Profil CDN
- Cognitive Services
- Data Lake Analytics
- DataLake Storage Gen1
- Layanan Penyediaan Perangkat
- Digital Twin
- Topik Kisi Acara
- Event Hubs
- Sirkuit ExpressRoute
- Firewalls
- Pintu Depan
- Akun integrasi
- Key Vault
- Layanan Kubernetes
- Load balancer
- Logic Apps
- Layanan media
- Antarmuka jaringan
- Kelompok Keamanan Jaringan
- Gateway VPN P2S
- Power BI Embedded
- Alamat IP publik
- Brankas Layanan Pemulihan (Site Recovery)
- Layanan pencarian
- Service Bus
- Database SQL
- Instans SQL dikelola
- Server SQL
- Lowongan Stream Analytics
- Profil Traffic Manager
- Jaringan virtual
- Gateway jaringan virtual
- VPN Gateway
Mode Azure Diagnostics atau mode khusus sumber daya
Layanan berikut menggunakan mode diagnostik Azure atau mode khusus sumber daya untuk log sumber daya mereka tergantung pada konfigurasinya. Saat mereka menggunakan mode khusus sumber daya, mereka tidak mengirim data ke tabel AzureDiagnostics. Lihat Log sumber daya Azure untuk detail tentang konfigurasi ini.
- Layanan API Management
- Cosmos DB
- Pabrik data (V2)
- IoT Hub
- Brankas Layanan Pemulihan(Pencadangan)
Kolom
| Kolom | Jenis | 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 | Ganda | |
| 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 | Ganda | |
| 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 | Ganda | |
| cpu_time_d | Ganda | |
| nama_database_s | String | |
| nama_prinsipal_database_s | String | |
| DatabaseName_s | String | |
| db_id_s | String | |
| direction_s | String | |
| dop_d | Ganda | |
| duration_d | Ganda | |
| durasi_milidetik_d | Ganda | |
| 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 | Ganda | |
| executionInfo_endTime_t | DateTime | |
| executionInfo_exitCode_d | Ganda | |
| executionInfo_startTime_t | DateTime | |
| host_s | String | |
| httpMethod_s | String | |
| httpStatus_d | Ganda | |
| httpStatusCode_d | Ganda | |
| 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 | Ganda | |
| interval_start_time_d | Ganda | |
| 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 | Ganda | |
| logical_io_reads_d | Ganda | |
| logical_io_writes_d | Ganda | |
| LogicalServerName_s | String | |
| macAddress_s | String | |
| matchedConnections_d | Ganda | |
| max_cpu_time_d | Ganda | |
| max_dop_d | Ganda | |
| max_duration_d | Ganda | |
| max_log_bytes_used_d | Ganda | |
| max_logical_io_reads_d | Ganda | |
| max_logical_io_writes_d | Ganda | |
| max_num_physical_io_reads_d | Ganda | |
| max_physical_io_reads_d | Ganda | |
| max_query_max_used_memory_d | Ganda | |
| max_rowcount_d | Ganda | |
| max_time_s | String | |
| mean_time_s | String | |
| Pesan | String | |
| min_time_s | String | |
| msg_s | String | |
| num_physical_io_reads_d | Ganda | |
| id_ objek_d | Ganda | |
| nama_objek_s | String | |
| OperationName | String | |
| OperationVersion | String | |
| partitionKey_s | String | |
| physical_io_reads_d | Ganda | |
| plan_id_d | Ganda | |
| policy_s | String | |
| policyMode_s | String | |
| primaryIPv4Address_s | String | |
| priority_d | Ganda | |
| 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 | Ganda | |
| query_max_used_memory_d | Ganda | |
| query_plan_hash_s | String | |
| query_time_d | Ganda | |
| querytext_s | String | |
| receivedBytes_d | Ganda | |
| 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 | Ganda | |
| 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 | Ganda | |
| ruleName_s | String | |
| RunbookName_s | String | |
| RunOn_s | String | |
| nama_skema_s | String | |
| sentBytes_d | Ganda | |
| urutan_id_grup_g | Guid | |
| nomor_urutan_d | Ganda | |
| sid_prinsipal_server_s | String | |
| id_sesi_d | Ganda |