Log diagnostik - Azure CDN
Penting
Azure CDN Standard dari Microsoft (klasik) akan dihentikan pada 30 September 2027. Untuk menghindari gangguan layanan apa pun, penting untuk memigrasikan profil Azure CDN Standard dari Microsoft (klasik) ke tingkat Azure Front Door Standard atau Premium paling lambat 30 September 2027. Untuk informasi selengkapnya, lihat Penghentian Azure CDN Standard dari Microsoft (klasik).
Azure CDN dari Edgio akan dihentikan pada 4 November 2025. Anda harus memigrasikan beban kerja Anda ke Azure Front Door sebelum tanggal ini untuk menghindari gangguan layanan. Untuk informasi selengkapnya, lihat Tanya Jawab Umum penghentian Azure CDN dari Edgio.
Dengan Log diagnostik Azure, Anda dapat melihat analitik inti dan menyimpannya ke satu atau beberapa tujuan berikut:
- Akun Azure Storage
- Ruang kerja Analitik Log
- Azure Event Hubs
Fitur ini tersedia pada titik akhir jaringan pengiriman konten untuk semua tingkat harga.
Log diagnostik memungkinkan Anda mengekspor metrik penggunaan dasar dari titik akhir jaringan pengiriman konten Anda ke berbagai jenis sumber sehingga Anda dapat menggunakannya dengan cara yang disesuaikan. Anda dapat melakukan jenis ekspor data berikut:
- Mengekspor data ke penyimpanan blob, mengekspor ke CSV, dan membuat grafik di Excel.
- Mengekspor data ke Event Hubs dan menghubungkan dengan data dari layanan Azure lainnya.
- Mengekspor data ke log Azure Monitor dan melihat data di ruang kerja Log Analytics Anda sendiri
Profil Azure Content Delivery Network diperlukan untuk langkah-langkah berikut. Lihat Membuat profil dan titik akhir Azure Content Delivery Network sebelum Melanjutkan.
Aktifkan pencatatan dengan portal Azure
Ikuti langkah-langkah ini untuk mengaktifkan pengelogan untuk titik akhir Azure Content Delivery Network Anda:
Masuk ke portal Azure.
Di portal Azure, navigasikan ke Semua sumber daya>your-cdn-profile.
Pilih titik akhir jaringan pengiriman konten yang ingin Anda aktifkan log diagnostiknya:
Pilih Log diagnostik di bagian Pemantauan:
Mengaktifkan pengelogan dengan Azure Storage
Untuk menggunakan akun penyimpanan untuk menyimpan log, ikuti langkah-langkah berikut:
Catatan
Akun penyimpanan diperlukan untuk menyelesaikan langkah-langkah ini. Untuk informasi selengkapnya, lihat Membuat akun Azure Storage.
Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.
Pilih Arsipkan ke akun penyimpanan, lalu pilih CoreAnalytics.
Untuk Retensi (hari), pilih jumlah hari retensi. Retensi nol hari menyimpan data tanpa batas waktu.
Pilih akun langganan dan penyimpanan untuk log.
Pilih Simpan.
Mengirim ke Log Analytics
Untuk menggunakan Log Analytics untuk log, ikuti langkah-langkah berikut:
Catatan
Ruang kerja Analitik Log diperlukan untuk menyelesaikan langkah-langkah ini. Untuk informasi selengkapnya, lihat Membuat ruang kerja Log Analytics di Portal Azure.
Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.
Pilih Kirim ke Log Analytics, lalu pilih CoreAnalytics.
Pilih langganan dan ruang kerja Log Analytics untuk log.
Pilih Simpan.
Melakukan streaming ke hub acara
Untuk menggunakan hub peristiwa untuk log, ikuti langkah-langkah berikut:
Catatan
Hub peristiwa diperlukan untuk menyelesaikan langkah-langkah ini. Untuk informasi selengkapnya, lihat: Mulai cepat: Membuat hub peristiwa menggunakan Portal Azure.
Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.
Pilih Streaming ke hub peristiwa, lalu pilih CoreAnalytics.
Pilih Langganan dan namespace layanan hub peristiwa untuk log.
Pilih Simpan.
Aktifkan pengelogan dengan PowerShell
Contoh berikut menunjukkan cara mengaktifkan log diagnostik melalui Cmdlet Azure PowerShell.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Mengaktifkan log diagnostik di akun penyimpanan
Masuk ke Azure PowerShell:
Connect-AzAccount
Untuk mengaktifkan Log Diagnostik di akun penyimpanan, masukkan perintah ini. Ganti variabel dengan nilai Anda:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $storageacct = <your-storage-account-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Categories CoreAnalytics
Mengaktifkan log diagnostik untuk ruang kerja Log Analytics
Masuk ke Azure PowerShell:
Connect-AzAccount
Untuk mengaktifkan Log Diagnostik untuk ruang kerja Analitik Log, masukkan perintah ini. Ganti variabel dengan nilai Anda:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $workspacename = <your-log-analytics-workspace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rsg -Name $workspacename Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -WorkspaceId $workspace.ResourceId -Enabled $true -Categories CoreAnalytics
Mengaktifkan log diagnostik untuk namespace layanan hub peristiwa
Masuk ke Azure PowerShell:
Connect-AzAccount
Untuk mengaktifkan Log Diagnostik untuk ruang kerja Analitik Log, masukkan perintah ini. Ganti variabel dengan nilai Anda:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $eventhubname = <your-event-hub-namespace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhubname -Enabled $true -Categories CoreAnalytics
Mengonsumsi log diagnostik dari Azure Storage
Bagian ini menjelaskan skema analitik inti jaringan pengiriman konten, organisasi di akun Azure Storage, dan menyediakan kode sampel untuk mengunduh log dalam file CSV.
Menggunakan Microsoft Azure Storage Explorer
Untuk mengunduh alat ini, lihat Azure Storage Explorer. Setelah mengunduh dan menginstal perangkat lunak, konfigurasikan untuk menggunakan akun Azure Storage yang sama yang dikonfigurasi sebagai tujuan ke Log Diagnostik jaringan pengiriman konten.
- Buka Microsoft Azure Storage Explorer
- Cari lokasi akun penyimpanan
- Perluas simpul Kontainer Blob di bawah akun penyimpanan ini.
- Pilih kontainer bernama insights-logs-coreanalytics.
- Hasil muncul di panel kanan, dimulai dengan tingkat pertama, sebagai resourceId=. Lanjutkan memilih setiap level hingga Anda menemukan file PT1H.json. Untuk penjelasan tentang jalur, lihat format jalur Blob.
- Setiap file PT1H.json blob mewakili log analitik selama satu jam untuk titik akhir jaringan pengiriman konten tertentu atau domain kustomnya.
- Skema konten file JSON ini dijelaskan dalam skema bagian log analitik inti.
Format jalur blob
Log analitik inti dihasilkan setiap jam dan data dikumpulkan dan disimpan di dalam satu blob Azure sebagai payload JSON. Alat penjelajah penyimpanan menginterpretasikan '/' sebagai pemisah direktori dan menunjukkan hierarki. Jalur ke blob Azure muncul seolah-olah ada struktur hierarkis dan mewakili nama blob. Nama blob mengikuti konvensi penamaan berikut:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Deskripsi bidang:
Nilai | Deskripsi |
---|---|
ID Langganan | ID langganan Azure dalam format pengidentifikasi unik global (GUID). |
Nama Grup Sumber Daya | Nama grup sumber daya tempat sumber daya jaringan pengiriman konten berada. |
Nama Profil | Nama Profil jaringan pengiriman konten |
Nama titik akhir | Nama Titik Akhir jaringan pengiriman konten |
Tahun | Representasi empat digit tahun, misalnya, 2017 |
Month | Representasi dua digit nomor bulan. 01=Januari ... 12=Desember |
Hari | Representasi dua digit hari dalam bulan |
PT1H.json | File JSON aktual tempat data analitik disimpan |
Mengekspor data analitik inti ke file CSV
Untuk mengakses analitik inti, kode sampel untuk alat disediakan. Alat ini memungkinkan pengunduhan file JSON ke dalam format file yang dipisahkan koma datar, yang dapat digunakan untuk membuat bagan atau agregasi lainnya.
Berikut cara menggunakan alat ini:
- Buka tautan GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Unduh kode.
- Ikuti instruksi untuk mengompilasi dan mengonfigurasi.
- Jalankan alat.
- Hasil file CSV menunjukkan data analitik dalam hierarki datar sederhana.
Penundaan data log
Tabel berikut ini memperlihatkan penundaan data log untuk Azure CDN Standard dari Microsoft, dan Azure CDN Standard/Premium dari Edgio.
Penundaan data log Microsoft | Penundaan data log Edgio |
---|---|
Tertunda 1 jam. | Tertunda 1 jam dan dapat memakan waktu hingga 2 jam untuk mulai muncul setelah penyelesaian penyebaran titik akhir. |
Jenis log diagnostik untuk analitik inti jaringan pengiriman konten
Microsoft saat ini hanya menawarkan log analitik inti, yang berisi metrik yang menunjukkan statistik respons HTTP dan statistik keluar seperti yang terlihat dari POPs/edge jaringan pengiriman konten.
Detail metrik analitik inti
Tabel berikut ini memperlihatkan daftar metrik yang tersedia di log analitik inti untuk:
- Azure CDN Standar dari Microsoft
- Azure CDN Standard/Premium dari Edgio
Tidak semua metrik tersedia dari semua penyedia, meskipun perbedaannya sedikit. Tabel juga menampilkan apakah metrik yang diberikan tersedia dari penyedia. Metrik hanya tersedia untuk titik akhir jaringan pengiriman konten yang memiliki lalu lintas di dalamnya.
Metrik | Deskripsi | Microsoft | Edgio |
---|---|---|---|
RequestCountTotal | Jumlah total hit permintaan selama periode ini. | Ya | Ya |
RequestCountHttpStatus2xx | Jumlah semua permintaan yang menghasilkan kode HTTP 2xx (misalnya, 200, 202). | Ya | Ya |
RequestCountHttpStatus3xx | Jumlah semua permintaan yang menghasilkan kode HTTP 3xx (misalnya, 300, 302). | Ya | Ya |
RequestCountHttpStatus4xx | Jumlah semua permintaan yang menghasilkan kode HTTP 4xx (misalnya, 400, 404). | Ya | Ya |
RequestCountHttpStatus5xx | Jumlah semua permintaan yang menghasilkan kode HTTP 5xx (misalnya, 500, 504). | Ya | Ya |
RequestCountHttpStatusOthers | Jumlah semua kode HTTP lainnya (selain 2xx-5xx). | Ya | Ya |
RequestCountHttpStatus200 | Jumlah semua permintaan yang menghasilkan respons kode HTTP 200. | Ya | Tidak |
RequestCountHttpStatus206 | Jumlah semua permintaan yang menghasilkan respons kode HTTP 206. | Ya | Tidak |
RequestCountHttpStatus302 | Jumlah semua permintaan yang menghasilkan respons kode HTTP 302. | Ya | Tidak |
RequestCountHttpStatus304 | Jumlah semua permintaan yang menghasilkan respons kode HTTP 304. | Ya | Tidak |
RequestCountHttpStatus404 | Jumlah semua permintaan yang menghasilkan respons kode HTTP 404. | Ya | Tidak |
RequestCountCacheHit | Menghitung semua permintaan yang menghasilkan Cache hit. Aset dilayani langsung dari POP ke klien. | Ya | Ya |
RequestCountCacheMiss | Menghitung semua permintaan yang menghasilkan Cache miss. Cache miss berarti aset tidak ditemukan di POP terdekat dengan klien, dan diambil dari asalnya. | Ya | Ya |
RequestCountCacheNoCache | Jumlah semua permintaan ke aset yang tidak dapat di-cache karena konfigurasi pengguna di tepi. | Ya | Ya |
RequestCountCacheUncacheable | Jumlah semua permintaan ke aset yang dicegah di-cache oleh header Cache-Control dan Expires aset. Jumlah ini menunjukkan bahwa aset tidak boleh di-cache di POP atau oleh klien HTTP. | Ya | Ya |
RequestCountCacheOthers | Jumlah semua permintaan dengan status cache yang tidak dicakup oleh metrik yang tercantum sebelumnya. | Tidak | Ya |
EgressTotal | Transfer data keluar dalam GB | Ya | Ya |
EgressHttpStatus2xx | Transfer data keluar* untuk respons dengan kode status HTTP 2xx dalam GB. | Ya | Ya |
EgressHttpStatus3xx | Transfer data keluar untuk respons dengan kode status HTTP 3xx dalam GB. | Ya | Ya |
EgressHttpStatus4xx | Transfer data keluar untuk respons dengan kode status HTTP 4xx dalam GB. | Ya | Ya |
EgressHttpStatus5xx | Transfer data keluar untuk respons dengan kode status HTTP 5xx dalam GB. | Ya | Ya |
EgressHttpStatusOthers | Transfer data keluar untuk respons dengan kode status HTTP lainnya dalam GB. | Ya | Ya |
EgressCacheHit | Transfer data keluar untuk respons yang dikirimkan langsung dari cache jaringan pengiriman konten pada POPs/Edges jaringan pengiriman konten. | Ya | Ya |
EgressCacheMiss. | Transfer data keluar untuk respons yang tidak ditemukan di server POP terdekat, dan diambil dari server asal. | Ya | Ya |
EgressCacheNoCache | Transfer data keluar untuk aset yang tidak dapat di-cache karena konfigurasi pengguna di tepi. | Ya | Ya |
EgressCacheUncacheable | Transfer data keluar untuk aset yang dicegah di-cache oleh header Cache-Control aset dan, atau Kedaluwarsa. Menunjukkan bahwa aset tidak boleh di-cache di POP atau oleh klien HTTP. | Ya | Ya |
EgressCacheOthers | Transfer data keluar untuk skenario cache lainnya. | Tidak | Ya |
*Transfer data keluar mengacu pada lalu lintas yang dikirimkan dari server POP jaringan pengiriman konten ke klien.
Skema log analitik inti
Semua log disimpan dalam format JSON dan setiap entri memiliki bidang string sesuai dengan skema berikut:
"records": [
{
"time": "2017-04-27T01:00:00",
"resourceId": "<ARM Resource Id of the CDN Endpoint>",
"operationName": "Microsoft.Cdn/profiles/endpoints/contentDelivery",
"category": "CoreAnalytics",
"properties": {
"DomainName": "<Name of the domain for which the statistics is reported>",
"RequestCountTotal": integer value,
"RequestCountHttpStatus2xx": integer value,
"RequestCountHttpStatus3xx": integer value,
"RequestCountHttpStatus4xx": integer value,
"RequestCountHttpStatus5xx": integer value,
"RequestCountHttpStatusOthers": integer value,
"RequestCountHttpStatus200": integer value,
"RequestCountHttpStatus206": integer value,
"RequestCountHttpStatus302": integer value,
"RequestCountHttpStatus304": integer value,
"RequestCountHttpStatus404": integer value,
"RequestCountCacheHit": integer value,
"RequestCountCacheMiss": integer value,
"RequestCountCacheNoCache": integer value,
"RequestCountCacheUncacheable": integer value,
"RequestCountCacheOthers": integer value,
"EgressTotal": double value,
"EgressHttpStatus2xx": double value,
"EgressHttpStatus3xx": double value,
"EgressHttpStatus4xx": double value,
"EgressHttpStatus5xx": double value,
"EgressHttpStatusOthers": double value,
"EgressCacheHit": double value,
"EgressCacheMiss": double value,
"EgressCacheNoCache": double value,
"EgressCacheUncacheable": double value,
"EgressCacheOthers": double value,
}
}
]
}
Dengan keterangan, time adalah waktu mulai dari batas jam saat statistik dilaporkan. Metrik yang tidak didukung oleh penyedia jaringan pengiriman konten, alih-alih nilai ganda atau bilangan bulat, menghasilkan nilai null. Nilai null ini menunjukkan tidak adanya metrik, dan berbeda dengan nilai 0. Satu set metrik per domain ini dikonfigurasi pada titik akhir.
Contoh properti:
{
"DomainName": "azurecdntest.azureedge.net",
"RequestCountTotal": 480,
"RequestCountHttpStatus2xx": 480,
"RequestCountHttpStatus3xx": 0,
"RequestCountHttpStatus4xx": 0,
"RequestCountHttpStatus5xx": 0,
"RequestCountHttpStatusOthers": 0,
"RequestCountHttpStatus200": 480,
"RequestCountHttpStatus206": 0,
"RequestCountHttpStatus302": 0,
"RequestCountHttpStatus304": 0,
"RequestCountHttpStatus404": 0,
"RequestCountCacheHit": null,
"RequestCountCacheMiss": null,
"RequestCountCacheNoCache": null,
"RequestCountCacheUncacheable": null,
"RequestCountCacheOthers": null,
"EgressTotal": 0.09,
"EgressHttpStatus2xx": null,
"EgressHttpStatus3xx": null,
"EgressHttpStatus4xx": null,
"EgressHttpStatus5xx": null,
"EgressHttpStatusOthers": null,
"EgressCacheHit": null,
"EgressCacheMiss": null,
"EgressCacheNoCache": null,
"EgressCacheUncacheable": null,
"EgressCacheOthers": null
}