Tanılama günlükleri - Azure Content Delivery Network
Önemli
Microsoft tarafından sunulan Azure CDN Standard (klasik) 30 Eylül 2027'de kullanımdan kaldırılacaktır. Hizmet kesintisini önlemek için, 30 Eylül 2027'ye kadar Azure CDN Standard'ı Microsoft (klasik) profillerinden Azure Front Door Standard veya Premium katmanına geçirmeniz önemlidir. Daha fazla bilgi için bkz . Microsoft'tan Azure CDN Standard (klasik) kullanımdan kaldırma.
Edgio'dan Azure CDN 4 Kasım 2025'te kullanımdan kaldırılacaktır. Hizmet kesintisini önlemek için iş yükünüzü bu tarihten önce Azure Front Door'a geçirmeniz gerekir. Daha fazla bilgi için bkz . Edgio'dan Azure CDN kullanımdan kaldırma hakkında SSS.
Azure tanılama günlükleriyle çekirdek analizi görüntüleyebilir ve bunları aşağıdakiler gibi bir veya daha fazla hedefe kaydedebilirsiniz:
- Azure Storage hesabı
- Log Analytics çalışma alanı
- Azure Event Hubs
Bu özellik, tüm fiyatlandırma katmanları için içerik teslim ağı uç noktaları üzerinde kullanılabilir.
Tanılama günlükleri, temel kullanım ölçümlerini içerik teslim ağı uç noktanızdan farklı türlerdeki kaynaklara dışarı aktarmanıza olanak tanır, böylece bunları özelleştirilmiş bir şekilde kullanabilirsiniz. Aşağıdaki veri dışarı aktarma türlerini yapabilirsiniz:
- Verileri blob depolamaya aktarın, CSV'ye aktarın ve Excel'de grafikler oluşturun.
- Event Hubs'a veri aktarın ve diğer Azure hizmetlerindeki verilerle bağıntı oluşturun.
- Verileri Azure İzleyici günlüklerine aktarma ve kendi Log Analytics çalışma alanınızdaki verileri görüntüleme
Aşağıdaki adımlar için bir Azure Content Delivery Network profili gereklidir. Devam etmeden önce Azure Content Delivery Network profili ve uç noktası oluşturma bölümüne bakın.
Azure portalıyla günlüğe kaydetmeyi etkinleştirme
Azure Content Delivery Network uç noktanız için günlüğe kaydetmeyi etkinleştirme adımlarını izleyin:
Azure Portal’ında oturum açın.
Azure portalında, cdn-profile tüm kaynaklar'a >gidin.
Tanılama günlüklerini etkinleştirmek istediğiniz içerik teslim ağ uç noktasını seçin:
İzleme bölümünde Tanılama günlükleri'ni seçin:
Azure Depolama ile günlüğe kaydetmeyi etkinleştirme
Günlükleri depolamak için bir depolama hesabı kullanmak için şu adımları izleyin:
Not
Bu adımları tamamlamak için bir depolama hesabı gereklidir. Daha fazla bilgi için bkz. Azure Depolama hesabı oluşturma.
Tanılama ayarı adı için tanılama günlüğü ayarlarınız için bir ad girin.
Depolama hesabında arşivle'yi ve ardından CoreAnalytics'i seçin.
Bekletme (gün) için bekletme gün sayısını seçin. Sıfır gün saklama süresiz olarak günlükleri depolar.
Günlükler için aboneliği ve depolama hesabını seçin.
Kaydet'i seçin.
Log Analytics’e gönderme
Günlükler için Log Analytics'i kullanmak için şu adımları izleyin:
Not
Bu adımları tamamlamak için log analytics çalışma alanı gereklidir. Daha fazla bilgi için bkz. Azure portalında Log Analytics çalışma alanı oluşturma.
Tanılama ayarı adı için tanılama günlüğü ayarlarınız için bir ad girin.
Log Analytics'e Gönder'i ve ardından CoreAnalytics'i seçin.
Günlükler için aboneliği ve Log Analytics çalışma alanını seçin.
Kaydet'i seçin.
Olay hub’ına akış yapma
Günlükler için bir olay hub'ı kullanmak için şu adımları izleyin:
Not
Bu adımları tamamlamak için bir olay hub'ı gereklidir. Daha fazla bilgi için bkz. Hızlı Başlangıç: Azure portalını kullanarak olay hub'ı oluşturma.
Tanılama ayarı adı için tanılama günlüğü ayarlarınız için bir ad girin.
Bir olay hub'ına akışla aktar'ı ve ardından CoreAnalytics'i seçin.
Günlükler için abonelik ve olay hub'ı ad alanını seçin.
Kaydet'i seçin.
PowerShell ile günlüğe kaydetmeyi etkinleştirme
Aşağıdaki örnekte Azure PowerShell Cmdlet'leri aracılığıyla tanılama günlüklerinin nasıl etkinleştirileceği gösterilmektedir.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Depolama hesabında tanılama günlüklerini etkinleştirme
Azure PowerShell'de oturum açın:
Connect-AzAccount
Depolama hesabında Tanılama Günlüklerini etkinleştirmek için şu komutları girin. Değişkenleri değerlerinizle değiştirin:
$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
Log Analytics çalışma alanı için tanılama günlüklerini etkinleştirme
Azure PowerShell'de oturum açın:
Connect-AzAccount
Log Analytics çalışma alanında Tanılama Günlüklerini etkinleştirmek için şu komutları girin. Değişkenleri değerlerinizle değiştirin:
$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
Olay hub'ı ad alanı için tanılama günlüklerini etkinleştirme
Azure PowerShell'de oturum açın:
Connect-AzAccount
Log Analytics çalışma alanında Tanılama Günlüklerini etkinleştirmek için şu komutları girin. Değişkenleri değerlerinizle değiştirin:
$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
Azure Depolama'dan tanılama günlüklerini kullanma
Bu bölümde, Azure Depolama hesabındaki içerik teslim ağ çekirdek analizi, kuruluş şeması açıklanmaktadır ve günlükleri csv dosyasına indirmek için örnek kod sağlanır.
Microsoft Azure Depolama Gezgini kullanma
Aracı indirmek için bkz. Azure Depolama Gezgini. Yazılımı indirip yükledikten sonra, içerik teslim ağı Tanılama Günlükleri'ne hedef olarak yapılandırılan Azure Depolama hesabını kullanacak şekilde yapılandırın.
- Microsoft Azure Depolama Gezgini aç
- Depolama hesabını bulma
- Bu depolama hesabının altındaki Blob Kapsayıcıları düğümünü genişletin.
- insights-logs-coreanalytics adlı kapsayıcıyı seçin.
- Sonuçlar sağ bölmede ilk düzeyden başlayarak resourceId= olarak gösterilir. Dosya PT1H.json bulana kadar her düzeyi seçmeye devam edin. Yolun açıklaması için bkz . Blob yolu biçimi.
- Her blob PT1H.json dosyası, belirli bir içerik teslim ağı uç noktası veya özel etki alanı için bir saatlik analiz günlüklerini temsil eder.
- Bu JSON dosyasının içeriğinin şeması, çekirdek analiz günlüklerinin bölüm şemasında açıklanmıştır.
Blob yolu biçimi
Çekirdek analiz günlükleri saatte bir oluşturulur ve veriler toplanır ve JSON yükü olarak tek bir Azure blobu içinde depolanır. Depolama gezgini aracı'/' öğesini dizin ayırıcısı olarak yorumlar ve hiyerarşiyi gösterir. Azure blobunun yolu hiyerarşik bir yapı varmış gibi görünür ve blob adını temsil eder. Blobun adı aşağıdaki adlandırma kuralını izler:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Alanların açıklaması:
Value | Açıklama |
---|---|
Subscription ID | Azure aboneliğinin genel benzersiz tanımlayıcı (GUID) biçimindeki kimliği. |
Kaynak Grubu Adı | İçerik teslim ağ kaynaklarının ait olduğu kaynak grubunun adı. |
Profil Adı | İçerik teslim ağı Profilinin adı |
Uç Nokta Adı | İçerik teslim ağı Uç Noktasının adı |
Yıl | Yılın dört basamaklı gösterimi, örneğin, 2017 |
Month | Ay sayısının iki basamaklı gösterimi. 01=Ocak ... 12=Aralık |
Gün | Ayın gününün iki basamaklı gösterimi |
PT1H.json | Analiz verilerinin depolandığı gerçek JSON dosyası |
Çekirdek analiz verilerini CSV dosyasına aktarma
Temel analize erişmek için bir aracın örnek kodu sağlanır. Bu araç, JSON dosyalarını düz bir virgülle ayrılmış dosya biçimine indirmenize olanak tanır ve bu biçim grafikler veya diğer toplamalar oluşturmak için kullanılabilir.
Aracı şu şekilde kullanabilirsiniz:
- GitHub bağlantısını ziyaret edin: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Kodu indirin.
- Derlemek ve yapılandırmak için yönergeleri izleyin.
- Aracı çalıştırın.
- Sonuçta elde edilen CSV dosyası analiz verilerini basit bir düz hiyerarşide gösterir.
Günlük verileri gecikmeleri
Aşağıdaki tabloda Microsoft'tan Azure CDN Standard ve Edgio'dan Azure CDN Standard/Premium için günlük verileri gecikmeleri gösterilmektedir.
Microsoft günlük verileri gecikmeleri | Edgio günlük verileri gecikmeleri |
---|---|
1 saat gecikmiş. | 1 saat geciktirildi ve uç nokta yayma tamamlandıktan sonra görünmeye başlaması 2 saate kadar sürebilir. |
İçerik teslim ağ çekirdek analizi için tanılama günlüğü türleri
Microsoft şu anda yalnızca içerik teslim ağı POP'larından/kenarlarından görüldüğü gibi HTTP yanıt istatistiklerini ve çıkış istatistiklerini gösteren ölçümleri içeren çekirdek analiz günlükleri sunmaktadır.
Temel analiz ölçümleri ayrıntıları
Aşağıdaki tabloda, temel analiz günlüklerinde kullanılabilen ölçümlerin listesi gösterilmektedir:
- Microsoft'tan Azure CDN Standard
- Edgio'dan Azure CDN Standard/Premium
Bu tür farklar çok az olsa da tüm ölçümler tüm sağlayıcılardan kullanılamaz. Tabloda ayrıca belirli bir ölçümün bir sağlayıcıdan sağlanıp sağlanmadığı da gösterilir. Ölçümler yalnızca üzerinde trafik bulunan içerik teslim ağ uç noktaları için kullanılabilir.
Metrik Sistem | Açıklama | Microsoft | Edgio |
---|---|---|---|
RequestCountTotal | Bu dönemdeki toplam istek isabet sayısı. | Yes | Yes |
RequestCountHttpStatus2xx | 2xx HTTP koduyla sonuçlanan tüm isteklerin sayısı (örneğin, 200, 202). | Yes | Yes |
RequestCountHttpStatus3xx | 3xx HTTP koduyla sonuçlanan tüm isteklerin sayısı (örneğin, 300, 302). | Yes | Yes |
RequestCountHttpStatus4xx | 4xx HTTP koduyla sonuçlanan tüm isteklerin sayısı (örneğin, 400, 404). | Yes | Yes |
RequestCountHttpStatus5xx | 5xx HTTP koduyla sonuçlanan tüm isteklerin sayısı (örneğin, 500, 504). | Yes | Yes |
RequestCountHttpStatusOthers | Diğer tüm HTTP kodlarının sayısı (2xx-5xx dışında). | Yes | Yes |
RequestCountHttpStatus200 | 200 HTTP kodu yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır |
RequestCountHttpStatus206 | 206 HTTP kodu yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır |
RequestCountHttpStatus302 | 302 HTTP kodu yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır |
RequestCountHttpStatus304 | 304 HTTP kodu yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır |
RequestCountHttpStatus404 | 404 HTTP kodu yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır |
RequestCountCacheHit | Önbellek isabeti ile sonuçlanan tüm isteklerin sayısı. Varlık doğrudan POP'tan istemciye servis edildi. | Yes | Yes |
RequestCountCacheMiss | Önbellek'in kaçırılması ile sonuçlanan tüm isteklerin sayısı. Önbellek isabetsizliği, varlığın istemciye en yakın POP'ta bulunamadığını ve kaynaktan alındığını gösterir. | Yes | Yes |
RequestCountCacheNoCache | Uçta bir kullanıcı yapılandırması nedeniyle önbelleğe alınmasını engelleyen bir varlığa yönelik tüm isteklerin sayısı. | Yes | Yes |
RequestCountCacheUncacheable | Varlığın Cache-Control ve Expires üst bilgileri tarafından önbelleğe alınması engellenen varlıklara yönelik tüm isteklerin sayısı. Bu sayı, pop veya HTTP istemcisi tarafından önbelleğe alınmaması gerektiğini gösterir. | Yes | Yes |
RequestCountCacheOthers | Önbellek durumu önceden listelenen ölçümler kapsamında olmayan tüm isteklerin sayısı. | Hayır | Evet |
ÇıkışToplam | GB olarak giden veri aktarımı | Yes | Yes |
ÇıkışHttpStatus2xx | GB cinsinden 2xx HTTP durum kodları içeren yanıtlar için giden veri aktarımı*. | Yes | Yes |
ÇıkışHttpStatus3xx | GB olarak 3xx HTTP durum kodları içeren yanıtlar için giden veri aktarımı. | Yes | Yes |
ÇıkışHttpStatus4xx | GB olarak 4xx HTTP durum kodları içeren yanıtlar için giden veri aktarımı. | Yes | Yes |
ÇıkışHttpStatus5xx | GB olarak 5xx HTTP durum kodları içeren yanıtlar için giden veri aktarımı. | Yes | Yes |
ÇıkışHttpStatusOthers | GB olarak diğer HTTP durum kodlarıyla yanıtlar için giden veri aktarımı. | Yes | Yes |
EgressCacheHit | İçerik teslim ağı POP'ları/Uçları üzerindeki içerik teslim ağı önbelleğinden doğrudan teslim edilen yanıtlar için giden veri aktarımı. | Yes | Yes |
EgressCacheMiss. | En yakın POP sunucusunda bulunmayan ve kaynak sunucudan alınan yanıtlar için giden veri aktarımı. | Yes | Yes |
EgressCacheNoCache | Uçta bir kullanıcı yapılandırması nedeniyle önbelleğe alınmasını engelleyen varlıklar için giden veri aktarımı. | Yes | Yes |
EgressCacheUncacheable | Varlığın Cache-Control ve veya Expires üst bilgileri tarafından önbelleğe alınması engellenen varlıklar için giden veri aktarımı. Pop veya HTTP istemcisi tarafından önbelleğe alınmaması gerektiğini gösterir. | Yes | Yes |
EgressCacheOthers | Diğer önbellek senaryoları için giden veri aktarımları. | Hayır | Evet |
*Giden veri aktarımı, içerik teslim ağı POP sunucularından istemciye gönderilen trafiği ifade eder.
Çekirdek analiz günlüklerinin şeması
Tüm günlükler JSON biçiminde depolanır ve her girdi aşağıdaki şemaya göre dize alanlarına sahiptir:
"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,
}
}
]
}
Burada saat , istatistiklerin bildirildiği saat sınırının başlangıç saatini temsil eder. bir içerik teslim ağ sağlayıcısı tarafından desteklenmeyen bir ölçüm, çift veya tamsayı değeri yerine null değerle sonuçlanır. Bu null değer bir ölçümün olmadığını gösterir ve 0 değerinden farklıdır. Etki alanı başına bu ölçümlerin bir kümesi uç noktada yapılandırılır.
Örnek özellikler:
{
"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
}