Azure CDN için gerçek zamanlı izleme, ölçümler ve erişim günlükleri

Önemli

Microsoft (Klasik) sürümünden Azure CDN Standard profil oluşturmayı, yeni etki alanı eklemeyi veya yönetilen sertifikaları desteklemez ve September 30, 2027 tarihinde kullanımdan kaldırılıyor. Hizmet kesintisini önlemek için Azure Front Door Standard veya Premium'a geçiş yapın. Daha fazla bilgi için bkz. Azure CDN Standard from Microsoft (klasik) devreden çıkarılma.

Microsoft'un Azure CDN'siyle sorunları gidermenize, izlemenize ve hatalarını ayıklamanıza yardımcı olmak için kaynakları aşağıdaki yollarla izleyebilirsiniz.

  • Ham günlükler, CDN'nin aldığı her istek hakkında zengin bilgiler sağlar. Ham günlükler etkinlik günlüklerinden farklıdır. Etkinlik günlükleri, Azure kaynaklarında yapılan işlemlere görünürlük sağlar.
  • Bayt İsabet Oranı, İstek Sayısı, Yanıt Boyutu ve Toplam Gecikme Süresi dahil olmak üzere CDN'de dört temel ölçümü görüntüleyen ölçümler. Ayrıca ölçümleri bölmek için farklı boyutlar da sağlar.
  • Müşterinin önemli ölçümler için uyarı ayarlamasına olanak tanıyan uyarı
  • Daha fazla ölçüm, müşterilerin daha fazla değer ölçümü sağlamak için Azure Log Analytics'i kullanmasına olanak tanır. Ayrıca Azure Log Analytics altında birkaç ölçüm için de sorgu örnekleri sağlıyoruz.

Önemli

HTTP ham günlükler özelliği Microsoft'tan Azure CDN için kullanılabilir.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure'da oturum açma

Azure Portal’ında oturum açın.

Yapılandırma - Azure portalı

Microsoft profilinden Azure CDN'niz için Ham günlükleri yapılandırmak için:

  1. Azure portalı menüsünden CdN profilinizdeki Tüm Kaynaklar'ı>><>

  2. İzleme bölümünde Tanılama ayarları’nı seçin.

  3. + Tanılama ayarı ekle’yi seçin.

    CDN profili için tanılama ayarı ekleyin.

    Önemli

    Ham günlükler yalnızca profil düzeyinde kullanılabilirken, toplanan HTTP durum kodu günlükleri uç nokta düzeyinde kullanılabilir.

  4. Tanılama ayarları'nın altında Tanılama ayarları adı'nın altına tanılama ayarı için bir ad girin.

  5. AzureCdnAccessLog'ı seçin ve bekletmeyi gün olarak ayarlayın.

  6. Hedef ayrıntılarını seçin. Hedef seçenekleri şunlardır:

    • Log Analytics’e gönderme
      • Abonelik ve Log Analytics çalışma alanını seçin.
    • Depolama hesabında arşivle
      • Abonelik ve Depolama Hesabı'nı seçin.
    • Olay hub’ına akış yapma
      • Aboneliği, Olay hub'ı ad alanını, Olay hub'ı adını (isteğe bağlı) ve Olay hub'ı ilke adını seçin.
  7. Kaydet'i seçin.

Yapılandırma - Azure PowerShell

Ham günlükler için tanılama ayarını yapılandırmak için Set-AzDiagnosticSetting komutunu kullanın.

Bekletme verileri, komutundaki -RetentionInDays seçeneğiyle tanımlanır.

Note

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

  1. Azure PowerShell'de oturum açın:

    Connect-AzAccount 
    
  2. Depolama hesabında Tanılama Günlüklerini etkinleştirmek için şu komutları girin. Değişkenleri değerlerinizle değiştirin:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $cdn = Get-AzCdnProfile -ResourceGroupName $rsg -ProfileName $cdnprofile
    
    $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Log Analytics çalışma alanı için tanılama günlüklerini etkinleştirme

  1. Azure PowerShell'de oturum açın:

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

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $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 -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Olay hub'ı ad alanı için tanılama günlüklerini etkinleştirme

  1. Azure PowerShell'de oturum açın:

    Connect-AzAccount 
    
  2. Bir olay hub'ı ad alanında Tanılama Günlüklerini etkinleştirmek için şu komutları girin. Değişkenleri değerlerinizle değiştirin:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $evthubnamespace = <your-event-hub-namespace-name>
    $diagname = <your-diagnostic-setting-name>
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $eventhub = Get-AzEventHubNamespace -ResourceGroupName $rsg -Name $eventhubname
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhub.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Ham log özellikleri

Microsoft Hizmeti'nin Azure CDN'si şu anda ham günlükler sunmaktadır. Ham günlükler, her girişin aşağıdaki şemaya sahip olduğu tek tek API istekleri sağlar:

Property Açıklama
BackendHostname İstek bir arka uçtan iletiliyorsa, bu alan arka ucun ana bilgisayar adını temsil eder. İstek bölgesel bir önbelleğe yönlendirilirse veya iletilirse (yönlendirme kuralı için önbelleğe alma etkinleştirildiğinde) bu alan boş olur.
CacheStatus Önbelleğe alma senaryoları için bu alan POP'ta önbellek isabeti/isabetsizliğini tanımlar.
ClientIp İsteği yapan istemcinin IP adresi. İstekte bir X-Forwarded-For üst bilgisi varsa, İstemci IP'si de aynı şekilde seçilir.
ClientPort İsteği yapan istemcinin IP bağlantı noktası.
HTTP Yöntemi İstek tarafından kullanılan HTTP yöntemi.
HttpStatusCode Proxy'den döndürülen HTTP durum kodu. Kaynak zaman aşımlarına yönelik bir istek varsa, HttpStatusCode değeri 0 olarak ayarlanır.
HttpStatusDetails İstekte sonuç durumu. Bu dize değerinin anlamı bir durum başvuru tablosunda bulunabilir.
HttpVersion İsteğin veya bağlantının türü.
POP İsteğin ulaştığı uç noktanın kısa adı.
RequestBytes İstek üst bilgileri ve istek gövdesi dahil olmak üzere HTTP isteği iletisinin bayt cinsinden boyutu.
RequestUri Alınan isteğin URI'sini.
ResponseBytes Yanıt olarak arka uç sunucusu tarafından gönderilen bayt sayısı.
YönlendirmeKuralıAdı İsteğin eşleşmiş olduğu yönlendirme kuralının adı.
RulesEngineMatchNames İsteğin eşleştiği kuralların adları.
Güvenlik Protokolü İsteğin kullandığı TLS/SSL protokol sürümü ya da şifreleme yoksa null.
SentToOriginShield
(kullanım dışı) * Aşağıdaki bölümde kullanımdan kaldırmayla ilgili notlara bakın.
True ise, isteğin uç pop yerine kaynak kalkanı önbelleğinden yanıtlandığı anlamına gelir. Kaynak kalkanı, önbellek isabet oranını arttırmak için kullanılan bir ana önbellektir.
isReceivedFromClient True ise, isteğin istemciden geldiği anlamına gelir. Yanlış ise, istek edge'de (alt POP) karşılanamamıştır ve kaynak kalkanından (üst POP) cevap alınır.
TimeTaken Azure Front Door'a yapılan isteğin ilk baytından yanıtın son baytının çıkışına kadar geçen süre, saniye cinsinden.
TrackingReference Azure Front Door tarafından sunulan bir isteği tanımlayan benzersiz başvuru dizesi, istemciye X-Azure-Ref üst bilgisi olarak da gönderilir. Belirli bir istek için erişim günlüklerindeki ayrıntıları aramak için gereklidir.
UserAgent İstemcinin kullandığı tarayıcı türü.
ErrorInfo Bu alan, sorun giderme alanını daraltmak için belirli bir hata türünü içerir.
Olası değerler şunlardır:
NoError: Hata bulunamadığını gösterir.
CertificateError: Genel SSL sertifikası hatası.
CertificateNameCheckFailed: SSL sertifikasındaki ana bilgisayar adı geçersiz veya eşleşmiyor.
ClientDisconnected: İstemci ağ bağlantısı nedeniyle istek hatası.
UnspecifiedClientError: Genel istemci hatası.
InvalidRequest: Geçersiz istek. Hatalı biçimlendirilmiş başlık, gövde ve URL nedeniyle oluşabilir.
DNSFailure: DNS Hatası.
DNSNameNotResolved: Sunucu adı veya adresi çözümlenemedi.
OriginConnectionAborted: Kaynakla bağlantı aniden durduruldu.
OriginConnectionError: Genel kaynak bağlantı hatası.
OriginConnectionRefused: Kaynakla bağlantı kurulamadı.
OriginError: Genel kaynak hatası.
OriginInvalidResponse: Origin geçersiz veya tanınmayan bir yanıt döndürdü.
OriginTimeout: Kaynak isteği için zaman aşımı süresi doldu.
ResponseHeaderTooBig: Kaynak, yanıt üst bilgisinin çok büyük bir kısmını döndürdü.
RestrictedIP: İstek, kısıtlanmış IP nedeniyle engellendi.
SSLHandshakeError: SSL el sıkışma hatası nedeniyle kaynakla bağlantı kurulamıyor.
UnspecifiedError: Tablodaki hiçbir hataya uymayan bir hata oluştu.
TimeToFirstByte Microsoft CDN'nin isteği aldığından istemciye ilk bayt gönderilme zamanına kadar olan milisaniye cinsinden süre. Süre yalnızca Microsoft tarafından ölçülür. İstemci tarafı verileri ölçülmez.
Sonuç SSLMismatchedSNI , Sunucu Adı Göstergesi (SNI) ile konak üst bilgisi arasında uyuşmazlık uyarısıyla başarılı bir isteği işaret eden bir durum kodudur. Bu durum kodu, Azure Front Door'un hizmet koşullarını ihlal eden bir teknik olan etki alanı ön izlemesini ifade eder. ile SSLMismatchedSNI istekleri 22 Ocak 2024'e kadar reddedilir.
SNI Bu alan, TLS/SSL el sıkışması sırasında gönderilen Sunucu Adı Göstergesi'ni (SNI) belirtir. Durum kodu varsa SSLMismatchedSNI tam SNI değerini tanımlamak için kullanılabilir. Ayrıca, uyuşmazlık sorununu algılamak ve çözmek için requestUri alanındaki konak değeriyle karşılaştırılabilir.
SslJA4 TLS Client Hello parmak izi, TLS istemcilerinin tanımlanmasını ve şifrelenmiş bağlantılarda anormal veya kötü amaçlı trafik desenlerinin tespit edilmesini sağlar.

Note

Günlükler, bir sorgu çalıştırılarak Log Analytics profilinizin altında görüntülenebilir. Örnek bir sorgu şöyle görünür: AzureDiagnostics | where Category == "AzureCdnAccessLog"

Kaynak kalkanı kullanımdan kaldırmaya gönderildi

Ham günlük özelliği isSentToOriginShield kullanım dışıdır ve yeni bir alan olan isReceivedFromClient ile değiştirilmiştir. Kullanım dışı bırakılmış alanı zaten kullanıyorsanız yeni alanı kullanın.

Ham günlükler hem CDN kenarından (alt POP) hem de kaynak kalkanından oluşturulan günlükleri içerir. Orijin kalkanı, dünya genelinde stratejik olarak konumlandırılmış ebeveyn düğümleri ifade eder. Bu düğümler kaynak sunucularla iletişim kurar ve kaynak üzerindeki trafik yükünü azaltır.

Başlangıç kalkanına giden her istek için iki tane günlük kaydı bulunur.

  • Kenar düğümleri için bir tane
  • Başlangıç kalkanı için bir tane.

Kenar düğümlerinden ya da kaynak kalkanından gelen çıkış veya yanıtları ayırt etmek için isReceivedFromClient alanını kullanarak doğru verileri alabilirsiniz.

Değer false ise, isteğin kaynak kalkandan uç düğümlere yanıtlandığı anlamına gelir. Bu yaklaşım ham günlükleri faturalama verileriyle karşılaştırmak için etkilidir. Kaynak kalkanından kenar düğümlere çıkış için ücret uygulanmaz. Uç düğümlerden istemcilere çıkış için ücret uygulanır.

Log Analytics'te kaynak kalkanında oluşturulan günlükleri dışlamak için Kusto sorgu örneği.

AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient == true

Önemli

HTTP Raw günlükleri özelliği, 25 Şubat 2020'den sonra oluşturulan veya güncelleştirilen tüm profiller için otomatik olarak kullanılabilir. Daha önce oluşturulan CDN profilleri için, günlük ayarlandıktan sonra CDN uç noktasının güncelleştirilmesi gerekir. Örneğin, CDN uç noktaları altında coğrafi filtrelemeye gidebilir ve iş yüküyle ilgili olmayan herhangi bir ülkeyi/bölgeyi engelleyebilir ve kaydet'e basabilirsiniz.

Ölçümler

Microsoft'tan Azure CDN, Azure İzleyici ile tümleşiktir ve sorunları izlemeye, gidermeye ve hata ayıklamaya yardımcı olmak için dört CDN ölçümü yayımlar.

Ölçümler grafiklerde görüntülenir ve PowerShell, CLI ve API aracılığıyla erişilebilir. CDN ölçümleri ücretsizdir.

Microsoft'tan Azure CDN, ölçümlerini 60 saniyelik aralıklarla ölçer ve gönderir. Ölçümlerin portalda görünmesi 3 dakika kadar sürebilir.

Daha fazla bilgi için bkz . Azure İzleyici ölçümleri.

Microsoft'tan Azure CDN tarafından desteklenen ölçümler

Ölçümler Açıklama Boyutlar
Bayt Isabet oranı* Toplam çıkışa göre hesaplanan CDN önbelleğinden çıkış yüzdesi. Uç nokta
RequestCount CDN tarafından sunulan istemci isteklerinin sayısı. Uç Nokta
İstemcisi ülkesi.
İstemci bölgesi.
HTTP durumu.
HTTP durum grubu.
ResponseSize CDN uç noktasından istemcilere yanıt olarak gönderilen bayt sayısı. Uç Nokta
İstemcisi ülkesi.
İstemci bölgesi.
HTTP durumu.
HTTP durum grubu.
Toplam Gecikme CDN tarafından alınan istemci isteğinden CDN'den istemciye gönderilen son yanıt baytını oluşturana kadar geçen toplam süre. Uç Nokta
İstemcisi ülkesi.
İstemci bölgesi.
HTTP durumu.
HTTP durum grubu.

Note

Kaynak zaman aşımına yönelik bir istek varsa, HttpStatusCode değeri 0 olarak ayarlanır.

* Bayt İsabet Oranı = (kenardan çıkış - kaynaktan çıkış)/kenardan çıkış

Bayt isabet oranı hesaplamasında hariç tutulan senaryolar:

  • Kural Altyapısı veya Sorgu Dizesi önbelleğe alma davranışı aracılığıyla açıkça önbellek yapılandırmazsınız.
  • Önbellek denetimi yönergesini, no-store veya özel önbellek ile açıkça yapılandırırsınız.

Ölçüm yapılandırması

  1. Azure portalı menüsünden CdN profilinizdeki Tüm Kaynaklar'ı>><>

  2. İzleme'nin altında Ölçümler'i seçin:

  3. Ölçüm ekle'yi seçin, eklenecek ölçümü seçin:

    CDN profili için ölçüm ekleyin ve seçin.

  4. Filtre eklemek için Filtre ekle'yi seçin:

    Ölçüme filtre uygula.

  5. Eğilimi farklı boyutlara göre görmek için Bölme uygula'yı seçin:

    Metriğe ayrıştırma uygulayın.

  6. Yeni grafik eklemek için Yeni grafik'i seçin:

    Ölçüm görünümüne yeni grafik ekleyin.

Uyarılar

Uyarıları İzleme'yi>> ayarlayabilirsiniz.

Ölçümler bölümünde listelenen ölçümler için Yeni uyarı kuralı'nı seçin:

CDN uç noktası için uyarıları yapılandırın.

Uyarılar, Azure İzleyici'a göre ücretlendirilir. Uyarılar hakkında daha fazla bilgi için bkz . Azure İzleyici uyarıları.

Diğer Ölçümler

Ek maliyet için Azure Log Analytics ve ham günlükleri kullanarak daha fazla ölçüm etkinleştirebilirsiniz.

  1. Önceki bölümdeki adımları izleyerek ham günlüklerin Log Analytics'e gönderilmesini sağlamak için tanılamayı etkinleştirin.

  2. Oluşturduğunuz Log Analytics çalışma alanını seçin:

  3. Log Analytics çalışma alanında Genel'in altında Günlükler'i seçin. Ardından Başlarken'i seçin:

  4. CDN Profilleri’ni seçin. Çalıştırılacak örnek sorguyu seçin veya özel sorgu girmek için örnek ekranı kapatın:

    Sorgu yürütme işleminin ekran görüntüsü.

  5. Verileri grafiğe göre görüntülemek için Grafik'i seçin. Grafiği Azure panosuna sabitlemek için Panoya sabitle'yi seçin:

    Grafiği panoya sabitleme ekran görüntüsü.

Sonraki Adımlar

Bu makalede, Microsoft CDN hizmeti için HTTP ham günlüklerini etkinleştirdiniz.

Azure CDN ve bu makalede bahsedilen diğer Azure hizmetleri hakkında daha fazla bilgi için bkz: