Kolom standar di log Azure Monitor
Data di Azure Monitor Logs disimpan sebagai sekumpulan rekaman di ruang kerja Log Analytics atau aplikasi Application Insights, masing-masing dengan jenis data tertentu yang memiliki sekumpulan kolom unik. Banyak jenis data akan memiliki kolom standar yang umum di beberapa jenis. Artikel ini menjelaskan kolom ini dan menyediakan contoh bagaimana Anda dapat menggunakannya dalam kueri.
Aplikasi berbasis ruang kerja di Application Insights menyimpan data mereka di ruang kerja Analitik Log dan menggunakan kolom standar yang sama dengan tabel lain di ruang kerja. Aplikasi klasik menyimpan data mereka secara terpisah dan memiliki kolom standar yang berbeda seperti yang ditentukan dalam artikel ini.
Catatan
Beberapa kolom standar tidak akan ditampilkan dalam tampilan skema atau intellisense di Log Analytics, dan kolom tersebut tidak akan ditampilkan dalam hasil kueri kecuali Anda secara eksplisit menentukan kolom dalam output.
TenantId
Kolom TenantId memiliki ID ruang kerja untuk ruang kerja Log Analytics.
TimeGenerated
Kolom TimeGenerated berisi tanggal dan waktu yang catatannya dibuat oleh sumber data. Lihat Mencatat waktu pencernaan data di Azure Monitor untuk detail selengkapnya.
TimeGenerated menyediakan kolom umum yang digunakan untuk memfilter atau merangkum berdasarkan waktu. Saat Anda memilih rentang waktu untuk tampilan atau dasbor di portal Microsoft Azure, rentang waktu akan menggunakan TimeGenerated untuk memfilter hasilnya.
Catatan
Tabel yang mendukung sumber daya Application Insights klasik menggunakan kolom Tanda Waktu alih-alih kolom TimeGenerated .
Catatan
Nilai TimeGenerated tidak boleh lebih lama dari 2 hari sebelum menerima waktu atau lebih dari satu hari di masa mendatang. Jika dalam beberapa situasi, nilainya lebih lama dari 2 hari atau lebih dari satu hari di masa mendatang, nilai tersebut akan diganti dengan waktu yang diterima aktual.
Contoh
Kueri berikut mengembalikan jumlah peristiwa kesalahan yang dibuat untuk setiap hari dalam minggu sebelumnya.
Event
| where EventLevelName == "Error"
| where TimeGenerated between(startofweek(ago(7days))..endofweek(ago(7days)))
| summarize count() by bin(TimeGenerated, 1day)
| sort by TimeGenerated asc
_TimeReceived
Kolom _TimeReceived memuat tanggal dan waktu rekaman diterima oleh titik penyerapan Azure Monitor di cloud Azure. Ini dapat berguna untuk mengidentifikasi masalah latensi antara sumber data dan cloud. Contohnya adalah masalah jaringan yang menyebabkan keterlambatan atas data yang dikirim dari agen. Lihat Mencatat waktu pencernaan data di Azure Monitor untuk detail selengkapnya.
Catatan
Kolom _TimeReceived dihitung setiap kali digunakan. Proses ini intensif sumber daya. Menahan diri dari menggunakannya untuk memfilter sejumlah besar rekaman. Penggunaan fungsi ini secara berulang dapat menyebabkan peningkatan durasi eksekusi kueri.
Kueri berikut ini memberikan latensi rata-rata per jam untuk rekaman peristiwa dari agen. Ini termasuk waktu dari agen ke cloud dan total waktu untuk catatan yang tersedia untuk kueri log.
Event
| where TimeGenerated > ago(1d)
| project TimeGenerated, TimeReceived = _TimeReceived, IngestionTime = ingestion_time()
| extend AgentLatency = toreal(datetime_diff('Millisecond',TimeReceived,TimeGenerated)) / 1000
| extend TotalLatency = toreal(datetime_diff('Millisecond',IngestionTime,TimeGenerated)) / 1000
| summarize avg(AgentLatency), avg(TotalLatency) by bin(TimeGenerated,1hr)
Jenis
Kolom Type menyimpan nama tabel tempat catatan diambil, yang juga dapat dianggap sebagai jenis catatan. Kolom ini berguna dalam kueri yang menggabungkan rekaman dari beberapa tabel, seperti yang menggunakan search
operator, untuk membedakan antara rekaman dari berbagai jenis. $table dapat digunakan sebagai pengganti Type di beberapa kueri.
Catatan
Tabel yang mendukung sumber daya Application Insights klasik menggunakan kolom itemType daripada kolom Type.
Contoh
Kueri berikut mengembalikan hitungan rekaman menurut jenis yang dikumpulkan selama satu jam terakhir.
search *
| where TimeGenerated > ago(1h)
| summarize count() by Type
_ItemId
Kolom _ItemId memiliki pengidentifikasi unik untuk rekaman.
_ResourceId
Kolom _ResourceId memiliki pengidentifikasi unik untuk sumber daya yang terkait dengan rekaman. Ini memberi Anda kolom standar yang digunakan untuk mencakup kueri Anda hanya untuk merekam dari sumber daya tertentu, atau untuk menggabungkan data terkait di beberapa tabel.
Untuk sumber daya Azure, nilai _ResourceIdadalah URL ID sumber daya Azure. Kolom ini terbatas pada sumber daya Azure, termasuk sumber daya Azure Arc, atau log kustom yang menunjukkan ID Sumber Daya selama pencernaan.
Catatan
Beberapa jenis data sudah memiliki bidang yang berisi ID sumber daya Azure atau setidaknya bagian darinya seperti ID langganan. Meskipun bidang-bidang ini disimpan untuk kompatibilitas mundur, disarankan untuk menggunakan _ResourceId untuk melakukan korelasi silang karena akan lebih konsisten.
Contoh
Kueri berikut ini menggabungkan data performa dan peristiwa untuk setiap komputer. Ini menunjukkan semua peristiwa dengan ID 101 dan pemanfaatan prosesor lebih dari 50%.
Perf
| where CounterName == "% User Time" and CounterValue > 50 and _ResourceId != ""
| join kind=inner (
Event
| where EventID == 101
) on _ResourceId
Kueri berikut ini menggabungkan rekaman AzureActivity dengan rekaman SecurityEvent. Ini menunjukkan semua operasi aktivitas dengan pengguna yang masuk ke mesin ini.
AzureActivity
| where
OperationName in ("Restart Virtual Machine", "Create or Update Virtual Machine", "Delete Virtual Machine")
and ActivityStatus == "Succeeded"
| join kind= leftouter (
SecurityEvent
| where EventID == 4624
| summarize LoggedOnAccounts = makeset(Account) by _ResourceId
) on _ResourceId
Kueri berikut ini menguraikan _ResourceId dan mengagregasi volume data yang ditagih per Azure Resource Group.
union withsource = tt *
| where _IsBillable == true
| parse tolower(_ResourceId) with "/subscriptions/" subscriptionId "/resourcegroups/"
resourceGroup "/providers/" provider "/" resourceType "/" resourceName
| summarize Bytes=sum(_BilledSize) by resourceGroup | sort by Bytes nulls last
Gunakan kueri union withsource = tt *
ini secukupnya karena pemindaian di seluruh jenis data memerlukan banyak sumber daya untuk dieksekusi.
Lebih efisien jika Anda menggunakan kolom _SubscriptionId daripada mengekstraknya dengan mengurai kolom _ResourceId.
_SubscriptionId
Kolom _SubscriptionId menyimpan ID langganan sumber daya yang terkait dengan rekaman. Ini memberi Anda kolom standar untuk digunakan untuk lingkup kueri Anda hanya untuk merekam dari langganan tertentu, atau untuk membandingkan langganan yang berbeda.
Untuk sumber daya Azure, nilai __SubscriptionId adalah bagian langganan dari URL ID sumber daya Azure. Kolom terbatas pada sumber daya Azure, termasuk sumber daya Azure Arc , atau untuk log kustom yang menunjukkan ID Langganan selama penyerapan.
Catatan
Beberapa jenis data telah memiliki bidang yang berisi ID langganan Azure. Sementara bidang ini disimpan untuk kompatibilitas mundur, disarankan untuk menggunakan kolom _SubscriptionId untuk melakukan korelasi silang karena akan lebih konsisten.
Contoh
Kueri berikut ini memeriksa data performa untuk komputer langganan tertentu.
Perf
| where TimeGenerated > ago(24h) and CounterName == "memoryAllocatableBytes"
| where _SubscriptionId == "ebb79bc0-aa86-44a7-8111-cabbe0c43993"
| summarize avgMemoryAllocatableBytes = avg(CounterValue) by Computer
Kueri berikut ini menguraikan_ResourceId dan mengagregasi volume data yang ditagih per langganan Azure.
union withsource = tt *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by _SubscriptionId | sort by Bytes nulls last
Gunakan kueri union withsource = tt *
ini secukupnya karena pemindaian di seluruh jenis data memerlukan banyak sumber daya untuk dieksekusi.
_IsBillable
Kolom _IsBillable menentukan apakah data yang diserap dianggap dapat ditagih. Data dengan _IsBillable sama dengan false
tidak dikenakan biaya penyerapan, retensi, atau arsip data.
Contoh
Untuk mendapatkan daftar komputer yang mengirim jenis data yang ditagih, gunakan kueri berikut ini:
Catatan
Gunakan kueri dengan union withsource = tt *
secukupnya karena pemindaian di seluruh jenis data memerlukan banyak sumber daya untuk dieksekusi.
union withsource = tt *
| where _IsBillable == true
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName
Ini dapat diperpanjang untuk mengembalikan hitungan komputer per jam yang mengirim jenis data yang ditagih:
union withsource = tt *
| where _IsBillable == true
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
| where computerName != ""
| summarize dcount(computerName) by bin(TimeGenerated, 1h) | sort by TimeGenerated asc
_BilledSize
Kolom _BilledSize menentukan ukuran dalam byte data yang akan ditagih ke akun Azure Anda jika _IsBillable dalam nilai true. Lihat Perhitungan ukuran data untuk mempelajari selengkapnya tentang detail cara ukuran yang ditagih dihitung.
Contoh
Untuk melihat ukuran peristiwa terserap yang dapat ditagihkan per komputer, gunakan_BilledSize
kolom yang menyediakan ukuran dalam byte:
union withsource = tt *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by Computer | sort by Bytes nulls last
Untuk melihat ukuran peristiwa yang dapat ditagih yang terserap per langganan, gunakan kueri berikut ini:
union withsource=table *
| where _IsBillable == true
| summarize Bytes=sum(_BilledSize) by _SubscriptionId | sort by Bytes nulls last
Untuk melihat ukuran peristiwa yang dapat ditagih yang terserap per grup sumber daya, gunakan kueri berikut ini:
union withsource=table *
| where _IsBillable == true
| parse _ResourceId with "/subscriptions/" SubscriptionId "/resourcegroups/" ResourceGroupName "/" *
| summarize Bytes=sum(_BilledSize) by _SubscriptionId, ResourceGroupName | sort by Bytes nulls last
Untuk melihat hitungan peristiwa yang dicerna per komputer, gunakan kueri berikut ini:
union withsource = tt *
| summarize count() by Computer | sort by count_ nulls last
Untuk melihat hitungan peristiwa yang dicerna per komputer, gunakan kueri berikut ini:
union withsource = tt *
| where _IsBillable == true
| summarize count() by Computer | sort by count_ nulls last
Untuk melihat hitungan jenis data yang dapat ditagih dari komputer tertentu, gunakan kueri berikut ini:
union withsource = tt *
| where Computer == "computer name"
| where _IsBillable == true
| summarize count() by tt | sort by count_ nulls last
Langkah berikutnya
- Baca selengkapnya tentang cara data log Azure Monitor disimpan.
- Dapatkan pelajaran tentang menulis kueri log.
- Dapatkan pelajaran tentang menggabungkan tabel dalam kueri log.