Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 Wycofanie wersji klasycznej usługi Azure CDN Standard od Microsoft.
Usługa Azure CDN z Edgio została wycofana 15 stycznia 2025 r. For more information, see 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:
- Export data to blob storage, export to CSV, and generate graphs in 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 portalu Azure przejdź do 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ć logi przy użyciu konta magazynowego, wykonaj następujące kroki:
Uwaga
Do wykonania tych kroków wymagane jest konto magazynowe. Aby uzyskać więcej informacji, zobacz: Tworzenie konta usługi Azure Storage.
W polu Nazwa ustawienia diagnostycznego wprowadź nazwę ustawień dziennika diagnostycznego.
Select Archive to a storage account, then select CoreAnalytics.
W obszarze Przechowywanie (dni) wybierz liczbę dni przechowywania. A retention of zero days stores the logs indefinitely.
Select the subscription and storage account for the logs.
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.
Stream to an event hub
Aby użyć centrum zdarzeń dla dzienników, wykonaj następujące kroki:
Uwaga
An event hub is required to complete these steps. 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.
Select Stream to an event hub, then select CoreAnalytics.
Select the subscription and event hub namespace for the logs.
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.
Enable diagnostic logs in a storage account
Zaloguj się do programu Azure PowerShell:
Connect-AzAccountTo enable Diagnostic Logs in a storage account, enter these commands. 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-AzAccountAby 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
Enable diagnostics logs for event hub namespace
Zaloguj się do programu Azure PowerShell:
Connect-AzAccountAby 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
Consuming diagnostics logs from 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 Eksploratora 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
- Zlokalizuj konto magazynowe
- Expand the Blob Containers node under this storage account.
- 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, aż znajdziesz plik PT1H.json. For an explanation of the path, see Blob path format.
- Each blob PT1H.json file represents the analytics logs for one hour for a specific content delivery network endpoint or its custom domain.
- Schemat zawartości tego pliku JSON jest opisany w sekcji schematu podstawowych dzienników analitycznych.
Blob path format
Core analytics logs are generated every hour and the data is collected and stored inside a single Azure blob as a JSON payload. Narzędzie Eksploratora usługi Storage interpretuje znak "/" jako separator katalogu i pokazuje hierarchię. The path to the Azure blob appears as if there's a hierarchical structure and represents the blob name. The name of the blob follows the following naming convention:
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 |
| Rok | Four-digit representation of the year, for example, 2017 |
| Month | Dwucyfrowa reprezentacja numeru miesiąca. 01=Styczeń ... 12=grudzień |
| Day | Two-digit representation of the day of the month |
| 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.
Log data delays
Dane dziennika firmy Microsoft są opóźnione o maksymalnie 1 godzinę. To opóźnienie jest spowodowane czasem potrzebnym na przetworzenie i zapisanie danych.
Typy dzienników diagnostycznych na potrzeby analizy podstawowej sieci dostarczania zawartości
Firma Microsoft obecnie oferuje jedynie podstawowe dzienniki analityczne, które prezentują metryki ukazujące statystyki odpowiedzi HTTP oraz statystyki dotyczące ruchu wychodzącego, widoczne z punktów POP i krawędzi sieci dostarczania treści.
Szczegóły metryk analizy podstawowej
W poniższej tabeli przedstawiono listę metryk dostępnych w podstawowych dziennikach analizy.
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.
| Metric | Opis |
|---|---|
| RequestCountTotal | Total number of request hits during this period. |
| RequestCountHttpStatus2xx | Liczba wszystkich żądań, które spowodowały kod HTTP 2xx (na przykład 200, 202). |
| RequestCountHttpStatus3xx | Liczba wszystkich żądań, które spowodowały kod HTTP 3xx (na przykład 300, 302). |
| RequestCountHttpStatus4xx | Liczba wszystkich żądań, które spowodowały kod HTTP 4xx (na przykład 400, 404). |
| RequestCountHttpStatus5xx | Liczba wszystkich żądań, które spowodowały kod HTTP 5xx (na przykład 500, 504). |
| LiczbaŻądańHttpStatusInne | Liczba wszystkich innych kodów HTTP (poza 2xx-5xx). |
| RequestCountHttpStatus200 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 200. |
| LiczbaŻądańHttpStatus206 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 206. |
| RequestCountHttpStatus302 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 302. |
| LiczbaŻądańHttpStatus304 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 304. |
| LiczbaŻądańHttpStatus404 | Liczba wszystkich żądań, które spowodowały odpowiedź kodu HTTP 404. |
| RequestCountCacheHit | Count of all requests that resulted in a Cache hit. The asset was served directly from the POP to the client. |
| RequestCountCacheMiss | Count of all requests that resulted in a Cache miss. A Cache miss means the asset wasn't found on the POP closest to the client, and was retrieved from the origin. |
| RequestCountCacheNoCache | Liczba wszystkich żądań do zasobu, które nie mogą być buforowane z powodu konfiguracji użytkownika na brzegu sieci. |
| RequestCountCacheUncacheable | Count of all requests to assets that are prevented from getting cached by the asset's Cache-Control and Expires headers. Ta liczba wskazuje, że nie powinna być buforowana na serwerze POP ani przez klienta HTTP. |
| EgressTotal | Outbound data transfer in GB |
| EgressHttpStatus2xx | Outbound data transfer* for responses with 2xx HTTP status codes in GB. |
| EgressHttpStatus3xx | Outbound data transfer for responses with 3xx HTTP status codes in GB. |
| EgressHttpStatus4xx | Outbound data transfer for responses with 4xx HTTP status codes in GB. |
| EgressHttpStatus5xx | Outbound data transfer for responses with 5xx HTTP status codes in GB. |
| EgressHttpStatusOthers | Outbound data transfer for responses with other HTTP status codes in GB. |
| EgressCacheHit | Outbound data transfer for responses that were delivered directly from the content delivery network cache on the content delivery network POPs/Edges. |
| EgressCacheMiss | Outbound data transfer for responses that weren't found on the nearest POP server, and retrieved from the origin server. |
| EgressCacheNoCache | Transfer danych wychodzących dla zasobów, które nie mogą być cacheowane z powodu konfiguracji użytkownika na krawędzi sieci. |
| EgressCacheUncacheable | Outbound data transfer for assets that are prevented from getting cached by the asset's Cache-Control and, or Expires headers. Indicates that it shouldn't be cached on a POP or by the HTTP client. |
*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 oznacza początek przedziału godzinowego, dla którego raportowane są 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
}