Log diagnostik - Azure CDN

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 di titik akhir CDN untuk semua tingkatan harga.

Log diagnostik memungkinkan Anda mengekspor metrik penggunaan dasar dari titik akhir CDN 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 CDN Azure diperlukan untuk langkah-langkah berikut. Lihat membuat profil dan titik akhir Azure CDN sebelum melanjutkan.

Aktifkan pencatatan dengan portal Azure

Ikuti langkah-langkah berikut untuk mengaktifkan pengelogan untuk titik akhir Azure CDN Anda:

  1. Masuk ke portal Microsoft Azure.

  2. Di Portal Microsoft Azure, buka Semua sumber daya ->profil-cdn-Anda

  3. Pilih titik akhir CDN yang log diagnostiknya ingin diaktifkan:

    Pilih titik akhir CDN.

  4. Pilih Log diagnostik di bagian Pemantauan:

    Pilih log diagnostik.

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 .

  1. Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.

  2. Pilih Arsipkan ke akun penyimpanan, lalu pilih CoreAnalytics.

  3. Untuk Retensi (hari) , pilih jumlah hari retensi. Retensi nol hari menyimpan data tanpa batas waktu.

  4. Pilih akun langganan dan penyimpanan untuk log.

    Log diagnostik - Penyimpanan.

  5. Pilih Simpan.

Mengirim ke Analitik Log

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 .

  1. Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.

  2. Pilih Kirim ke Log Analytics, lalu pilih CoreAnalytics.

  3. Pilih langganan dan ruang kerja Log Analytics untuk log.

    Log diagnostik - Log Analytics.

  4. Pilih Simpan.

Melakukan streaming ke pusat aktivitas

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 .

  1. Untuk Nama pengaturan diagnostik, masukkan nama untuk pengaturan log diagnostik Anda.

  2. Pilih Streaming ke hub peristiwa, lalu pilih CoreAnalytics.

  3. Pilih Langganan dan namespace layanan hub peristiwa untuk log.

    Log diagnostik - Hub peristiwa.

  4. Pilih Simpan.

Aktifkan logging dengan PowerShell

Contoh berikut menunjukkan cara mengaktifkan log diagnostik melalui Cmdlet Azure PowerShell.

Catatan

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Mengaktifkan log diagnostik di akun penyimpanan

  1. Masuk ke Azure PowerShell:

    Connect-AzAccount 
    
  2. 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 Analitik Log

  1. Masuk ke Azure PowerShell:

    Connect-AzAccount 
    
  2. 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 hub peristiwa

  1. Masuk ke Azure PowerShell:

    Connect-AzAccount 
    
  2. 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
    

Mengkonsumsi log diagnostik dari Penyimpanan Azure

Bagian ini menjelaskan skema analitik inti CDN, organisasi dalam akun penyimpanan Azure, 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 memasang perangkat lunak, konfigurasikan untuk menggunakan akun penyimpanan Azure yang sama yang dikonfigurasi sebagai tujuan ke Log Diagnostik CDN.

  1. Buka Microsoft Azure Storage Explorer
  2. Cari lokasi akun penyimpanan
  3. Perluas simpul Kontainer Blob di bawah akun penyimpanan ini.
  4. Pilih kontainer bernama insights-logs-coreanalytics.
  5. 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.
  6. Setiap file blob PT1H.json mewakili log analitik selama satu jam untuk titik akhir CDN tertentu atau domain kustomnya.
  7. 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 Guid.
Nama Grup Sumber Daya Nama grup sumber daya tempat sumber daya CDN berada.
Nama Profil Nama Profil CDN
Nama titik akhir Nama Titik Akhir CDN
Tahun Representasi empat digit tahun, misalnya, 2017
Bulan 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:

  1. Buka tautan GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Unduh kodenya.
  3. Ikuti instruksi untuk mengompilasi dan mengonfigurasi.
  4. Jalankan alat.
  5. Hasil file CSV menunjukkan data analitik dalam hierarki datar sederhana.

Penundaan data log

Tabel berikut menunjukkan penundaan data log untuk Azure CDN Standard dari Microsoft, Azure CDN Standard dari Akamai, dan Azure CDN Standard/Premium dari Verizon.

Penundaan data log Microsoft Penundaan data log Verizon Penundaan data log Akamai
Tertunda 1 jam. Tertunda 1 jam dan dapat memakan waktu hingga 2 jam untuk mulai muncul setelah penyelesaian penyebaran titik akhir. Tertunda 24 jam; jika dibuat lebih dari 24 jam yang lalu, dibutuhkan waktu hingga 2 jam untuk mulai muncul. Jika baru dibuat, dibutuhkan waktu hingga 25 jam agar log mulai muncul.

Jenis log diagnostik untuk analitik inti CDN

Microsoft saat ini hanya menawarkan log analitik inti, yang berisi metrik yang menunjukkan statistik respons HTTP dan statistik keluar seperti yang terlihat dari POP/edge CDN.

Detail metrik analitik inti

Tabel berikut ini memperlihatkan daftar metrik yang tersedia di log analitik inti untuk:

  • Azure CDN Standar dari Microsoft
  • Azure CDN Standar dari Akamai
  • Azure CDN Standard/Premium dari Verizon

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 CDN yang memiliki lalu lintas di dalamnya.

Metrik Deskripsi Microsoft Verizon Akamai
RequestCountTotal Jumlah total hit permintaan selama periode ini. Ya Ya Ya
RequestCountHttpStatus2xx Jumlah semua permintaan yang menghasilkan kode HTTP 2xx (misalnya, 200, 202). Ya Ya Ya
RequestCountHttpStatus3xx Jumlah semua permintaan yang menghasilkan kode HTTP 3xx (misalnya, 300, 302). Ya Ya Ya
RequestCountHttpStatus4xx Jumlah semua permintaan yang menghasilkan kode HTTP 4xx (misalnya, 400, 404). Ya Ya Ya
RequestCountHttpStatus5xx Jumlah semua permintaan yang menghasilkan kode HTTP 5xx (misalnya, 500, 504). Ya Ya Ya
RequestCountHttpStatusOthers Jumlah semua kode HTTP lainnya (selain 2xx-5xx). Ya Ya Ya
RequestCountHttpStatus200 Jumlah semua permintaan yang menghasilkan respons kode HTTP 200. Ya Tidak Ya
RequestCountHttpStatus206 Jumlah semua permintaan yang menghasilkan respons kode HTTP 206. Ya Tidak Ya
RequestCountHttpStatus302 Jumlah semua permintaan yang menghasilkan respons kode HTTP 302. Ya Tidak Ya
RequestCountHttpStatus304 Jumlah semua permintaan yang menghasilkan respons kode HTTP 304. Ya Tidak Ya
RequestCountHttpStatus404 Jumlah semua permintaan yang menghasilkan respons kode HTTP 404. Ya Tidak Ya
RequestCountCacheHit Menghitung semua permintaan yang menghasilkan Cache hit. Aset dilayani langsung dari POP ke klien. Ya Ya Tidak
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 Tidak
RequestCountCacheNoCache Jumlah semua permintaan ke aset yang tidak dapat di-cache karena konfigurasi pengguna di tepi. Ya Ya Tidak
RequestCountCacheUncacheable Jumlah semua permintaan ke aset yang tidak dapat di-cache oleh header aset Cache-Control dan Ekspires. Jumlah ini menunjukkan bahwa aset tidak boleh di-cache di POP atau oleh klien HTTP. Ya Ya Tidak
RequestCountCacheOthers Jumlah semua permintaan dengan status cache yang tidak dicakup di atas. Tidak Ya Tidak
EgressTotal Transfer data keluar dalam GB Ya Ya Ya
EgressHttpStatus2xx Transfer data keluar* untuk respons dengan kode status HTTP 2xx dalam GB. Ya Ya Tidak
EgressHttpStatus3xx Transfer data keluar untuk respons dengan kode status HTTP 3xx dalam GB. Ya Ya Tidak
EgressHttpStatus4xx Transfer data keluar untuk respons dengan kode status HTTP 4xx dalam GB. Ya Ya Tidak
EgressHttpStatus5xx Transfer data keluar untuk respons dengan kode status HTTP 5xx dalam GB. Ya Ya Tidak
EgressHttpStatusOthers Transfer data keluar untuk respons dengan kode status HTTP lainnya dalam GB. Ya Ya Tidak
EgressCacheHit Transfer data keluar untuk respons yang dikirimkan langsung dari cache CDN pada CDN POP/Edge. Ya Ya Tidak
EgressCacheMiss. Transfer data keluar untuk respons yang tidak ditemukan di server POP terdekat, dan diambil dari server asal. Ya Ya Tidak
EgressCacheNoCache Transfer data keluar untuk aset yang tidak dapat di-cache karena konfigurasi pengguna di tepi. Ya Ya Tidak
EgressCacheUncacheable Transfer data keluar untuk aset yang tidak dapat di-cache oleh header aset Cache-Control dan/atau Expires. Menunjukkan bahwa aset tidak boleh di-cache di POP atau oleh klien HTTP. Ya Ya Tidak
EgressCacheOthers Transfer data keluar untuk skenario cache lainnya. Tidak Ya Tidak

*Transfer data keluar mengacu pada lalu lintas yang dikirim dari server POP CDN 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 CDN, bukan 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": "manlingakamaitest2.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
}

Sumber Daya Tambahan: