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 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:

  1. Masuk ke portal Azure.

  2. Di portal Azure, navigasikan ke Semua sumber daya>your-cdn-profile.

  3. Pilih titik akhir jaringan pengiriman konten yang ingin Anda aktifkan log diagnostiknya:

    Cuplikan layar titik akhir jaringan pengiriman konten tertentu.

  4. Pilih Log diagnostik di bagian Pemantauan:

    Cuplikan layar tombol log diagnostik di bawah menu 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.

  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 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.

  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 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.

  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 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. 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 Log Analytics

  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 layanan 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
    

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.

  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 PT1H.json blob mewakili log analitik selama satu jam untuk titik akhir jaringan pengiriman konten 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 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:

  1. Buka tautan GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
  2. Unduh kode.
  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 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
}

Sumber daya lainnya