Dzienniki diagnostyczne — Azure Content Delivery Network
Ważne
Usługa Azure CDN Standard firmy Microsoft (klasyczna) zostanie wycofana 30 września 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure CDN Standard z usługi Microsoft (klasycznej) do warstwy Azure Front Door Standard lub Premium do 30 września 2027 r. Aby uzyskać więcej informacji, zobacz Azure CDN Standard from Microsoft (classic) retirement (Wycofanie usługi Azure CDN w warstwie Standardowa z firmy Microsoft (wersja klasyczna).
Usługa Azure CDN z Edgio zostanie wycofana 4 listopada 2025 r. Przed tą datą należy przeprowadzić migrację obciążenia do usługi Azure Front Door, aby uniknąć przerw w działaniu usługi. Aby uzyskać więcej informacji, zobacz Azure CDN from Edgio retirement FAQ (Usługa Azure CDN from Edgio retirement FAQ).
Za pomocą dzienników diagnostycznych platformy Azure można wyświetlać podstawowe analizy i zapisywać je w co najmniej jednym miejscu docelowym, w tym:
- Konto usługi Azure Storage
- Obszar roboczy usługi Log Analytics
- Azure Event Hubs
Ta funkcja jest dostępna w punktach końcowych sieci dostarczania zawartości dla wszystkich warstw cenowych.
Dzienniki diagnostyczne umożliwiają eksportowanie podstawowych metryk użycia z punktu końcowego sieci dostarczania zawartości do różnych źródeł, dzięki czemu można z nich korzystać w dostosowany sposób. Możesz wykonać następujące typy eksportu danych:
- Eksportowanie danych do magazynu obiektów blob, eksportowanie do woluminu CSV i generowanie grafów w programie Excel.
- Eksportowanie danych do usługi Event Hubs i korelowanie z danymi z innych usług platformy Azure.
- Eksportowanie danych do dzienników usługi Azure Monitor i wyświetlanie danych we własnym obszarze roboczym usługi Log Analytics
Do wykonania poniższych kroków jest wymagany profil usługi Azure Content Delivery Network. Przed kontynuowaniem zapoznaj się z artykułem Tworzenie profilu i punktu końcowego usługi Azure Content Delivery Network.
Włączanie rejestrowania w witrynie Azure Portal
Wykonaj następujące kroki, aby włączyć rejestrowanie punktu końcowego usługi Azure Content Delivery Network:
Zaloguj się w witrynie Azure Portal.
W witrynie Azure Portal przejdź do pozycji Wszystkie zasoby>your-cdn-profile.
Wybierz punkt końcowy sieci dostarczania zawartości, dla którego chcesz włączyć dzienniki diagnostyczne:
Wybierz pozycję Dzienniki diagnostyczne w sekcji Monitorowanie :
Włączanie rejestrowania za pomocą usługi Azure Storage
Aby przechowywać dzienniki przy użyciu konta magazynu, wykonaj następujące kroki:
Uwaga
Do wykonania tych kroków wymagane jest konto magazynu. Aby uzyskać więcej informacji, zobacz: Tworzenie konta usługi Azure Storage.
W polu Nazwa ustawienia diagnostycznego wprowadź nazwę ustawień dziennika diagnostycznego.
Wybierz pozycję Archiwum na koncie magazynu, a następnie wybierz pozycję CoreAnalytics.
W obszarze Przechowywanie (dni) wybierz liczbę dni przechowywania. Przechowywanie zera dni przechowuje dzienniki na czas nieokreślony.
Wybierz subskrypcję i konto magazynu dla dzienników.
Wybierz pozycję Zapisz.
Wysyłanie do usługi Log Analytics
Aby użyć usługi Log Analytics dla dzienników, wykonaj następujące kroki:
Uwaga
Do wykonania tych kroków jest wymagany obszar roboczy usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Tworzenie obszaru roboczego usługi Log Analytics w witrynie Azure Portal .
W polu Nazwa ustawienia diagnostycznego wprowadź nazwę ustawień dziennika diagnostycznego.
Wybierz pozycję Wyślij do usługi Log Analytics, a następnie wybierz pozycję CoreAnalytics.
Wybierz subskrypcję i obszar roboczy usługi Log Analytics dla dzienników.
Wybierz pozycję Zapisz.
Przesyłanie strumieniowe do centrum zdarzeń
Aby użyć centrum zdarzeń dla dzienników, wykonaj następujące kroki:
Uwaga
Do wykonania tych kroków jest wymagane centrum zdarzeń. Aby uzyskać więcej informacji, zobacz: Szybki start: tworzenie centrum zdarzeń przy użyciu witryny Azure Portal .
W polu Nazwa ustawienia diagnostycznego wprowadź nazwę ustawień dziennika diagnostycznego.
Wybierz pozycję Stream do centrum zdarzeń, a następnie wybierz pozycję CoreAnalytics.
Wybierz subskrypcję i przestrzeń nazw centrum zdarzeń dla dzienników.
Wybierz pozycję Zapisz.
Włączanie rejestrowania przy użyciu programu PowerShell
W poniższym przykładzie pokazano, jak włączyć dzienniki diagnostyczne za pomocą poleceń cmdlet programu Azure PowerShell.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Włączanie dzienników diagnostycznych na koncie magazynu
Zaloguj się do programu Azure PowerShell:
Connect-AzAccount
Aby włączyć dzienniki diagnostyczne na koncie magazynu, wprowadź te polecenia. Zastąp zmienne swoimi wartościami:
$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
Włączanie dzienników diagnostycznych dla obszaru roboczego usługi Log Analytics
Zaloguj się do programu Azure PowerShell:
Connect-AzAccount
Aby włączyć dzienniki diagnostyczne dla obszaru roboczego usługi Log Analytics, wprowadź te polecenia. Zastąp zmienne swoimi wartościami:
$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
Włączanie dzienników diagnostycznych dla przestrzeni nazw centrum zdarzeń
Zaloguj się do programu Azure PowerShell:
Connect-AzAccount
Aby włączyć dzienniki diagnostyczne dla obszaru roboczego usługi Log Analytics, wprowadź te polecenia. Zastąp zmienne swoimi wartościami:
$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
Korzystanie z dzienników diagnostycznych z usługi Azure Storage
W tej sekcji opisano schemat analizy podstawowej sieci dostarczania zawartości, organizacji na koncie usługi Azure Storage i zawiera przykładowy kod umożliwiający pobranie dzienników w pliku CSV.
Korzystanie z Eksplorator usługi Microsoft Azure Storage
Aby pobrać narzędzie, zobacz Eksplorator usługi Azure Storage. Po pobraniu i zainstalowaniu oprogramowania skonfiguruj go tak, aby używał tego samego konta usługi Azure Storage, które zostało skonfigurowane jako miejsce docelowe w dziennikach diagnostycznych sieci dostarczania zawartości.
- Otwórz Eksplorator usługi Microsoft Azure Storage
- Lokalizowanie konta magazynu
- Rozwiń węzeł Kontenery obiektów blob w ramach tego konta magazynu.
- Wybierz kontener o nazwie insights-logs-coreanalytics.
- Wyniki są wyświetlane w okienku po prawej stronie, zaczynając od pierwszego poziomu, jako resourceId=. Kontynuuj wybieranie każdego poziomu do momentu znalezienia PT1H.json pliku. Aby uzyskać wyjaśnienie ścieżki, zobacz Format ścieżki obiektu blob.
- Każdy plik PT1H.json obiektów blob reprezentuje dzienniki analityczne przez jedną godzinę dla określonego punktu końcowego sieci dostarczania zawartości lub domeny niestandardowej.
- Schemat zawartości tego pliku JSON jest opisany w sekcji schematu podstawowych dzienników analitycznych.
Format ścieżki obiektu blob
Dzienniki analizy podstawowej są generowane co godzinę, a dane są zbierane i przechowywane wewnątrz pojedynczego obiektu blob platformy Azure jako ładunku JSON. Narzędzie Eksploratora usługi Storage interpretuje znak "/" jako separator katalogu i pokazuje hierarchię. Ścieżka do obiektu blob platformy Azure wygląda tak, jakby istniała struktura hierarchiczna i reprezentuje nazwę obiektu blob. Nazwa obiektu blob jest zgodna z następującą konwencją nazewnictwa:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Opis pól:
Wartość | Opis |
---|---|
Identyfikator subskrypcji | Identyfikator subskrypcji platformy Azure w formacie globalnie unikatowego identyfikatora (GUID). |
Nazwa grupy zasobów | Nazwa grupy zasobów, do której należą zasoby sieciowe dostarczania zawartości. |
Nazwa profilu | Nazwa profilu sieci dostarczania zawartości |
Nazwa punktu końcowego | Nazwa punktu końcowego sieci dostarczania zawartości |
Year (Rok) | Czterocyfrowa reprezentacja roku, na przykład 2017 |
Month | Dwucyfrowa reprezentacja numeru miesiąca. 01=Styczeń ... 12=grudzień |
Dzień | Dwucyfrowa reprezentacja dnia miesiąca |
PT1H.json | Rzeczywisty plik JSON, w którym są przechowywane dane analityczne |
Eksportowanie podstawowych danych analitycznych do pliku CSV
Aby uzyskać dostęp do podstawowej analizy, udostępniany jest przykładowy kod narzędzia. To narzędzie umożliwia pobieranie plików JSON do prostego formatu pliku rozdzielanego przecinkami, który może służyć do tworzenia wykresów lub innych agregacji.
Oto jak można użyć narzędzia:
- Odwiedź link usługi GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Pobierz kod.
- Postępuj zgodnie z instrukcjami, aby skompilować i skonfigurować.
- Uruchom narzędzie.
- Wynikowy plik CSV przedstawia dane analityczne w prostej płaskiej hierarchii.
Opóźnienia danych dziennika
W poniższej tabeli przedstawiono opóźnienia danych dziennika dla usługi Azure CDN Standard firmy Microsoft oraz usługi Azure CDN Standard/Premium z usługi Edgio.
Opóźnienia danych dziennika firmy Microsoft | Opóźnienia danych dziennika Edgio |
---|---|
Opóźnione o 1 godzinę. | Opóźnienie o 1 godzinę i może potrwać do 2 godzin, aby rozpocząć pojawianie się po zakończeniu propagacji punktu końcowego. |
Typy dzienników diagnostycznych na potrzeby analizy podstawowej sieci dostarczania zawartości
Firma Microsoft obecnie oferuje tylko podstawowe dzienniki analityczne, które zawierają metryki przedstawiające statystyki odpowiedzi HTTP i statystyki ruchu wychodzącego, jak pokazano na podstawie punktów POP/krawędzi sieci dostarczania zawartości.
Szczegóły metryk analizy podstawowej
W poniższej tabeli przedstawiono listę metryk dostępnych w podstawowych dziennikach analitycznych dla:
- Azure CDN Standard from Microsoft
- Usługa Azure CDN w warstwie Standardowa/Premium z usługi Edgio
Nie wszystkie metryki są dostępne dla wszystkich dostawców, chociaż takie różnice są minimalne. W tabeli przedstawiono również, czy dana metryka jest dostępna u dostawcy. Metryki są dostępne tylko dla punktów końcowych sieci dostarczania zawartości, które mają na nich ruch.
Metryczne | opis | Microsoft | Edgio |
---|---|---|---|
RequestCountTotal | Łączna liczba trafień żądań w tym okresie. | Tak | Tak |
RequestCountHttpStatus2xx | Liczba wszystkich żądań, które spowodowały kod HTTP 2xx (na przykład 200, 202). | Tak | Tak |
RequestCountHttpStatus3xx | Liczba wszystkich żądań, które spowodowały kod HTTP 3xx (na przykład 300, 302). | Tak | Tak |
RequestCountHttpStatus4xx | Liczba wszystkich żądań, które spowodowały kod HTTP 4xx (na przykład 400, 404). | Tak | Tak |
RequestCountHttpStatus5xx | Liczba wszystkich żądań, które spowodowały kod HTTP 5xx (na przykład 500, 504). | Tak | Tak |
RequestCountHttpStatusOthers | Liczba wszystkich innych kodów HTTP (poza 2xx-5xx). | Tak | Tak |
RequestCountHttpStatus200 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP na 200. | Tak | Nie. |
RequestCountHttpStatus206 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 206. | Tak | Nie. |
RequestCountHttpStatus302 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 302. | Tak | Nie. |
RequestCountHttpStatus304 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 304. | Tak | Nie. |
RequestCountHttpStatus404 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 404. | Tak | Nie. |
RequestCountCacheHit | Liczba wszystkich żądań, które spowodowały trafienie pamięci podręcznej. Zasób był obsługiwany bezpośrednio z punktu pop do klienta. | Tak | Tak |
RequestCountCacheMiss | Liczba wszystkich żądań, które spowodowały pominięcie pamięci podręcznej. Chybienie pamięci podręcznej oznacza, że element zawartości nie został znaleziony w pop najbliżej klienta i został pobrany z źródła. | Tak | Tak |
RequestCountCacheNoCache | Liczba wszystkich żądań do zasobu, które nie mogą być buforowane z powodu konfiguracji użytkownika na brzegu sieci. | Tak | Tak |
RequestCountCacheUncacheUncacheable | Liczba wszystkich żądań do zasobów, które nie mogą być buforowane przez nagłówki Cache-Control i Expires elementu zawartości. Ta liczba wskazuje, że nie powinna być buforowana w pop ani przez klienta HTTP. | Tak | Tak |
RequestCountCacheInne | Liczba wszystkich żądań ze stanem pamięci podręcznej, które nie są uwzględnione w metrykach wymienionych wcześniej. | Nie. | Tak |
EgressTotal | Transfer danych wychodzących w GB | Tak | Tak |
EgressHttpStatus2xx | Transfer danych wychodzących* dla odpowiedzi z kodami stanu HTTP 2xx w GB. | Tak | Tak |
EgressHttpStatus3xx | Transfer danych wychodzących dla odpowiedzi z kodami stanu HTTP 3xx w GB. | Tak | Tak |
EgressHttpStatus4xx | Transfer danych wychodzących dla odpowiedzi z kodami stanu HTTP 4xx w GB. | Tak | Tak |
EgressHttpStatus5xx | Transfer danych wychodzących dla odpowiedzi z kodami stanu HTTP 5xx w GB. | Tak | Tak |
EgressHttpStatusOthers | Transfer danych wychodzących dla odpowiedzi z innymi kodami stanu HTTP w GB. | Tak | Tak |
EgressCacheHit | Wychodzący transfer danych dla odpowiedzi, które zostały dostarczone bezpośrednio z pamięci podręcznej sieci dostarczania zawartości w sieci dostarczania zawartości POPs/Edges. | Tak | Tak |
EgressCacheMiss. | Transfer danych wychodzących dla odpowiedzi, które nie zostały znalezione na najbliższym serwerze POP i pobrane z serwera pochodzenia. | Tak | Tak |
EgressCacheNoCache | Transfer danych wychodzących dla zasobów, które nie mogą być buforowane z powodu konfiguracji użytkownika na brzegu sieci. | Tak | Tak |
EgressCacheUncache możliwe do zniesienia | Transfer danych wychodzących dla zasobów, które nie mogą być buforowane przez kontrolkę pamięci podręcznej zasobu i wygasa nagłówki. Wskazuje, że nie należy buforować go w pop ani przez klienta HTTP. | Tak | Tak |
EgressCacheInne | Wychodzące transfery danych dla innych scenariuszy pamięci podręcznej. | Nie. | Tak |
*Transfer danych wychodzących odnosi się do ruchu dostarczonego z serwerów POP sieci dostarczania zawartości do klienta.
Schemat podstawowych dzienników analitycznych
Wszystkie dzienniki są przechowywane w formacie JSON, a każdy wpis zawiera pola ciągów zgodnie z następującym schematem:
"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,
}
}
]
}
Gdzie czas reprezentuje godzinę rozpoczęcia granicy godziny, dla której są zgłaszane statystyki. Metryka nieobsługiwana przez dostawcę sieci dostarczania zawartości zamiast wartości podwójnej lub całkowitej powoduje wartość null. Ta wartość null wskazuje brak metryki i różni się od wartości 0. Jeden zestaw tych metryk na domenę jest skonfigurowany w punkcie końcowym.
Przykładowe właściwości:
{
"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
}