Tanılama günlükleri-Azure Content Delivery Network
Azure tanılama günlükleri ile çekirdek analizlerini görüntüleyebilir ve bunları aşağıdakiler dahil olmak üzere 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 CDN uç noktalarında kullanılabilir.
tanılama günlükleri, temel kullanım ölçümlerini CDN uç noktanıza farklı tür kaynaklarına dışarı aktarıp bunları özelleştirilmiş bir şekilde kullanabilmeniz için izin verir. Aşağıdaki veri dışa aktarma türlerini yapabilirsiniz:
- Verileri blob depolamaya aktarın, CSV 'ye aktarın ve Excel grafikler oluşturun.
- Event Hubs ve diğer Azure hizmetlerinden verilerle bağıntılı verileri dışarı aktarın.
- Azure Izleyici günlüklerine veri aktarma ve kendi Log Analytics çalışma alanınızdaki verileri görüntüleme
aşağıdaki adımlar için bir Azure CDN profili gereklidir. devam etmeden önce Azure CDN profili ve uç noktası oluşturma bölümüne bakın.
Azure portalıyla günlüğe kaydetmeyi etkinleştirme
Azure CDN uç noktanıza yönelik günlüğü etkinleştirmek için şu adımları izleyin:
Azure portalında oturum açın.
Azure Portal, tüm kaynaklar -> -CDN-profile ' e gidin
tanılama günlüklerini etkinleştirmek istediğiniz CDN uç noktasını seçin:
İzleme bölümünde tanılama günlükleri ' ni seçin:
Azure Depolama oturum açmayı etkinleştirme
Günlükleri depolamak üzere bir depolama hesabı kullanmak için şu adımları izleyin:
Not
Bu adımları gerçekleştirmek 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ük ayarlarınız için bir ad girin.
Bir depolama hesabına arşiv' i seçin ve ardından coreanalytics' i seçin.
Bekletme (gün) için bekletme günü sayısını seçin. Sıfır günlük bir bekletme, günlükleri süresiz olarak depolar.
Günlükler için abonelik ve depolama hesabı seçin.
Kaydet’i seçin.
Log Analytics’e gönderme
Günlükler için Log Analytics kullanmak için şu adımları izleyin:
Not
Bu adımları gerçekleştirmek için bir Log Analytics çalışma alanı gereklidir. Daha fazla bilgi için bkz. Azure portal Log Analytics çalışma alanı oluşturma .
Tanılama ayarı adı için tanılama günlük ayarlarınız için bir ad girin.
Log Analytics gönder' i seçin 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.
Bir olay hub'ına akış yap
Günlükler için bir olay hub 'ı kullanmak için şu adımları izleyin:
Not
Bu adımları gerçekleştirmek için bir olay hub 'ı gerekir. Bkz. hızlı başlangıç: daha fazla bilgi için Azure Portal kullanarak bir olay hub 'ı oluşturun .
Tanılama ayarı adı için tanılama günlük ayarlarınız için bir ad girin.
Bir olay hub 'ına akış' ı seçin 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 örnek, Azure PowerShell cmdlet 'leri aracılığıyla tanılama günlüklerinin nasıl etkinleştirileceğini gösterir.
Not
Bu makalede, Azure ile etkileşim kurmak için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. 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 oturum açın:
Connect-AzAccountBir depolama hesabında tanılama günlüklerini etkinleştirmek için, bu 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 oturum açın:
Connect-AzAccountBir Log Analytics çalışma alanı için tanılama günlüklerini etkinleştirmek üzere, bu 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 oturum açın:
Connect-AzAccountBir Log Analytics çalışma alanı için tanılama günlüklerini etkinleştirmek üzere, bu 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, bir Azure depolama hesabında kuruluşun CDN çekirdek analizi şeması açıklanmakta ve günlükleri bir CSV dosyasına indirmek için örnek kod sağlanmaktadır.
Microsoft Azure Depolama Gezgini kullanma
aracı indirmek için bkz. Azure Depolama Gezgini. yazılımı indirip yükledikten sonra, CDN tanılama günlüklerine hedef olarak yapılandırılmış aynı Azure depolama hesabını kullanacak şekilde yapılandırın.
- Microsoft Azure Depolama Gezgini açın
- Depolama hesabını bulma
- Bu depolama hesabı altındaki BLOB kapsayıcıları düğümünü genişletin.
- Öngörüler-logs-coreanalytics adlı kapsayıcıyı seçin.
- Sonuçlar, RESOURCEID = olarak ilk düzeyden başlayarak sağ bölmedeki görünür. PT1H. JSON dosyasını buluncaya kadar her bir düzeyi seçmeye devam edin. Yolun açıklaması için bkz. BLOB yol biçimi.
- her blob PT1H. json dosyası, belirli bir CDN uç noktası veya özel etki alanı için bir saat için 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çıklanmaktadır.
Blob yol biçimi
Çekirdek analizi günlükleri saatte bir oluşturulur ve veriler toplanır ve bir JSON yükü olarak tek bir Azure blobunun içinde depolanır. Depolama gezgin aracı, '/' öğesini dizin ayırıcı olarak yorumlar ve hiyerarşiyi gösterir. Azure Blob 'un yolu, hiyerarşik bir yapı gibi görünür ve BLOB adını temsil eder. Blobun adı aşağıdaki adlandırma kuralına uyar:
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ı:
| Değer | Açıklama |
|---|---|
| Abonelik Kimliği | GUID biçiminde Azure aboneliğinin KIMLIĞI. |
| Kaynak Grubu Adı | CDN kaynaklarının ait olduğu kaynak grubunun adı. |
| Profil Adı | CDN profilinin adı |
| Uç nokta adı | CDN uç noktasının adı |
| Yıl | Yılın dört basamaklı temsili, örneğin, 2017 |
| Ay | Ay numarasının iki basamaklı temsili. 01 = Ocak... 12 = Aralık |
| Gün | Ayın gününün iki basamaklı temsili |
| PT1H. JSON | Analiz verilerinin depolandığı gerçek JSON dosyası |
Temel analiz verilerini bir CSV dosyasına aktarma
Çekirdek analizine erişmek için, bir araç için örnek kod sağlanır. Bu araç, JSON dosyalarını grafik veya diğer toplamaları oluşturmak için kullanılabilecek düz bir virgülle ayrılmış dosya biçimine indirmeyi sağlar.
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.
- 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 standart için günlük verileri gecikmeleri Azure CDN, Akamai 'ten standart ve Verizon 'den standart/Premium Azure CDN gösterilmektedir.
| Microsoft günlük veri gecikmeleri | Verizon günlük verileri gecikmeleri | Akamai günlük verileri gecikmeleri |
|---|---|---|
| 1 saat gecikiyor. | 1 saat gecikmeli ve uç nokta yayma tamamlandıktan sonra görüntülenecek 2 saate kadar zaman alabilir. | 24 saat gecikiyor; 24 saatten uzun bir süre önce oluşturulduysa, görünün başlaması 2 saate kadar sürer. Yakın zamanda oluşturulduysa, günlüklerin görünmeye başlaması 25 saate kadar sürebilir. |
çekirdek analizi CDN için tanılama günlüğü türleri
Microsoft şu anda yalnızca CDN pop/kenarlarından görüldüğü gibi HTTP yanıt istatistiklerini ve çıkış istatistiklerini gösteren ölçümleri içeren temel analiz günlükleri sunmaktadır.
Çekirdek analizi ölçüm ayrıntıları
Aşağıdaki tabloda, için çekirdek analiz günlüklerinde bulunan ölçümlerin bir listesi gösterilmektedir:
- Azure CDN Microsoft 'tan standart
- Azure CDN Akamai 'ten standart
- Azure CDN Verizon 'ten standart/Premium
Tüm ölçümler tüm sağlayıcılardan kullanılamaz, ancak bu farklar en az düzeydedir. Tablo aynı zamanda belirli bir metriğin sağlayıcıdan kullanılabilir olup olmadığını gösterir. ölçümler yalnızca üzerinde trafiği olan CDN uç noktaları için kullanılabilir.
| Metric | Açıklama | Microsoft | Verizon | Akamai |
|---|---|---|---|---|
| RequestCountTotal | Bu süre boyunca toplam istek isabet sayısı. | Yes | Yes | Yes |
| RequestCountHttpStatus2xx | 2xx HTTP kodu ile sonuçlanan tüm isteklerin sayısı (örneğin, 200, 202). | Yes | Yes | Yes |
| RequestCountHttpStatus3xx | 3xx HTTP kodu ile sonuçlanan tüm isteklerin sayısı (örneğin, 300, 302). | Yes | Yes | Yes |
| RequestCountHttpStatus4xx | 4xx HTTP kodu ile sonuçlanan tüm isteklerin sayısı (örneğin, 400, 404). | Yes | Yes | Yes |
| RequestCountHttpStatus5xx | 5xx HTTP kodu ile sonuçlanan tüm isteklerin sayısı (örneğin, 500, 504). | Yes | Yes | Yes |
| RequestCountHttpStatusOthers | Diğer tüm HTTP kodlarının sayısı (2xx-5xx dışında). | Yes | Yes | Yes |
| RequestCountHttpStatus200 | 200 HTTP kod yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır | Yes |
| RequestCountHttpStatus206 | 206 HTTP kod yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır | Yes |
| RequestCountHttpStatus302 | 302 HTTP kod yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır | Yes |
| RequestCountHttpStatus304 | 304 HTTP kod yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır | Yes |
| RequestCountHttpStatus404 | 404 HTTP kod yanıtıyla sonuçlanan tüm isteklerin sayısı. | Yes | Hayır | Yes |
| RequestCountCacheHit | Önbellek okuması ile sonuçlanan tüm isteklerin sayısı. Varlık doğrudan POP 'tan istemciye sunulur. | Yes | Yes | Hayır |
| Requestcountcacheisabetsizlik | Önbellek isabetsizliği ile sonuçlanan tüm isteklerin sayısı. Bir önbellek isabetsizlik, varlığın istemciye en yakın POP üzerinde bulunamadığını ve kaynaktan alındığını gösterir. | Yes | Yes | Hayır |
| RequestCountCacheNoCache | Bir varlık için, uçta Kullanıcı yapılandırması nedeniyle önbelleğe alınması engellenen tüm isteklerin sayısı. | Yes | Yes | Hayır |
| RequestCountCacheUncacheable | Varlık Cache-Control ve süre sonu üstbilgileri tarafından önbelleğe alınması engellenen varlıkların tüm isteklerinin sayısı. Bu sayı, bir POP veya HTTP istemcisi tarafından önbelleğe alınmaması gerektiğini gösterir. | Yes | Yes | Hayır |
| Requestcountcachediğerleri | Yukarıda yer almayan önbellek durumuna sahip tüm isteklerin sayısı. | Hayır | Yes | Hayır |
| Yumurresstotal | GB cinsinden giden veri aktarımı | Yes | Yes | Yes |
| EgressHttpStatus2xx | GB cinsinden 2xx HTTP durum koduna sahip yanıtlar için giden veri aktarımı *. | Yes | Yes | Hayır |
| EgressHttpStatus3xx | GB olarak 3xx HTTP durum koduna sahip yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| EgressHttpStatus4xx | GB cinsinden 4xx HTTP durum koduna sahip yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| EgressHttpStatus5xx | GB olarak 5 xx HTTP durum koduna sahip yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| EgressHttpStatusOthers | GB olarak diğer HTTP durum kodlarına sahip yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| Yumurresscachehit | CDN pop/kenarlarındaki CDN önbelleğinden doğrudan teslim edilen yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| Yumurresscacheisabetsizlik. | En yakın POP sunucusunda bulunmayan ve kaynak sunucudan alınan yanıtlar için giden veri aktarımı. | Yes | Yes | Hayır |
| Yumurresscachenocache | Kenarda Kullanıcı yapılandırması nedeniyle önbelleğe alınması engellenen varlıkların giden veri aktarımı. | Yes | Yes | Hayır |
| Yumurresscacheuncacheable | Varlığın Cache-Control ve veya süre sonu üstbilgileri tarafından önbelleğe alınması engellenen varlıkların giden veri aktarımı. Bir POP veya HTTP istemcisi tarafından önbelleğe alınmaması gerektiğini gösterir. | Yes | Yes | Hayır |
| Yumurresscachediğerleri | Diğer önbellek senaryoları için giden veri aktarımları. | Hayır | Yes | Hayır |
- giden veri aktarımı, CDN POP sunucularından istemciye teslim edilen trafiğin anlamına gelir.
Çekirdek analiz günlüklerinin şeması
Tüm Günlükler JSON biçiminde depolanır ve her girdinin aşağıdaki şemaya göre dize alanları vardır:
"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 gösterir. bir CDN sağlayıcısı tarafından desteklenmeyen bir ölçüm, double veya integer değeri yerine, null değer değeriyle sonuçlanır. Bu null değer, bir ölçümün yokluğunu gösterir ve 0 değerinden farklıdır. Her etki alanı için bu ölçümler kümesi uç noktada yapılandırılır.
Örnek Özellikler:
{
"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
}