Uzyskiwanie dostępu do dzienników diagnostycznych dla usługi Azure Data Lake Storage Gen1
Dowiedz się, jak włączyć rejestrowanie diagnostyczne dla konta usługi Azure Data Lake Storage Gen1 i jak wyświetlić dzienniki zebrane dla twojego konta.
Organizacje mogą włączyć rejestrowanie diagnostyczne dla konta Azure Data Lake Storage Gen1 w celu zbierania dzienników inspekcji dostępu do danych, które zawierają informacje, takie jak lista użytkowników, do których uzyskuje się dostęp, jak często uzyskuje się dostęp do danych, ile danych jest przechowywanych na koncie itp. Po włączeniu diagnostyki i/lub żądań są rejestrowane w oparciu o najlepsze wysiłki. Wpisy dziennika żądań i diagnostyki są tworzone tylko wtedy, gdy istnieją żądania wysyłane względem punktu końcowego usługi.
Wymagania wstępne
- Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
- konto usługi Azure Data Lake Storage Gen1. Postępuj zgodnie z instrukcjami w temacie Rozpoczynanie pracy z Azure Data Lake Storage Gen1 przy użyciu Azure Portal.
Włączanie rejestrowania diagnostycznego dla konta Data Lake Storage Gen1
Zaloguj się do nowego Azure Portal.
Otwórz konto Data Lake Storage Gen1 i w bloku konta Data Lake Storage Gen1 kliknij pozycję Ustawienia diagnostyczne.
W bloku Ustawienia diagnostyki kliknij pozycję Włącz diagnostykę.
W bloku Ustawienia diagnostyki wprowadź następujące zmiany w celu skonfigurowania rejestrowania diagnostycznego.
W polu Nazwa wprowadź wartość konfiguracji dziennika diagnostycznego.
Możesz przechowywać/przetwarzać dane na różne sposoby.
Wybierz opcję Archiwizowanie na koncie magazynu , aby przechowywać dzienniki na koncie usługi Azure Storage. Ta opcja jest używana, jeśli chcesz zarchiwizować dane, które będą przetwarzane wsadowo w późniejszym terminie. Jeśli wybierzesz tę opcję, musisz podać konto usługi Azure Storage, aby zapisać dzienniki.
Wybierz opcję Stream do centrum zdarzeń, aby przesyłać strumieniowo dane dzienników do centrum zdarzeń platformy Azure. Najprawdopodobniej użyjesz tej opcji, jeśli masz potok przetwarzania podrzędnego do analizowania dzienników przychodzących w czasie rzeczywistym. Jeśli wybierzesz tę opcję, musisz podać szczegóły centrum zdarzeń platformy Azure, którego chcesz użyć.
Wybierz opcję Wyślij do usługi Log Analytics, aby użyć usługi Azure Monitor do analizowania wygenerowanych danych dziennika. Jeśli wybierzesz tę opcję, musisz podać szczegóły obszaru roboczego usługi Log Analytics, który będzie używany do przeprowadzania analizy dzienników. Zobacz Wyświetlanie lub analizowanie danych zebranych za pomocą dzienników usługi Azure Monitor, aby uzyskać szczegółowe informacje na temat korzystania z dzienników usługi Azure Monitor.
Określ, czy chcesz uzyskać dzienniki inspekcji, czy dzienniki żądań, czy oba te dzienniki.
Określ liczbę dni, dla których dane muszą być przechowywane. Przechowywanie ma zastosowanie tylko wtedy, gdy używasz konta usługi Azure Storage do archiwizowania danych dziennika.
Kliknij pozycję Zapisz.
Po włączeniu ustawień diagnostycznych można watch dzienniki na karcie Dzienniki diagnostyczne.
Wyświetlanie dzienników diagnostycznych dla konta Data Lake Storage Gen1
Istnieją dwa sposoby wyświetlania danych dziennika dla konta Data Lake Storage Gen1.
- W widoku ustawień konta Data Lake Storage Gen1
- Na koncie usługi Azure Storage, na którym są przechowywane dane
Korzystanie z widoku ustawień Data Lake Storage Gen1
W bloku Ustawienia konta Data Lake Storage Gen1 kliknij pozycję Dzienniki diagnostyczne.
W bloku Dzienniki diagnostyczne powinny zostać wyświetlone dzienniki podzielone na kategorie według dzienników inspekcji i dzienników żądań.
- Dzienniki żądań przechwytują każde żądanie interfejsu API wykonane na koncie Data Lake Storage Gen1.
- Dzienniki inspekcji są podobne do dzienników żądań, ale zapewniają znacznie bardziej szczegółowy podział operacji wykonywanych na koncie Data Lake Storage Gen1. Na przykład pojedyncze wywołanie interfejsu API przekazywania w dziennikach żądań może spowodować wiele operacji "Dołączanie" w dziennikach inspekcji.
Aby pobrać dzienniki, kliknij link Pobierz dla każdego wpisu dziennika.
Na koncie usługi Azure Storage, które zawiera dane dziennika
Otwórz blok konta usługi Azure Storage skojarzony z Data Lake Storage Gen1 na potrzeby rejestrowania, a następnie kliknij pozycję Obiekty blob. Blok usługi Blob Service zawiera listę dwóch kontenerów.
- Inspekcja dzienników-dzienników kontenera zawiera dzienniki inspekcji.
- Kontener insights-logs-requests zawiera dzienniki żądań.
W ramach tych kontenerów dzienniki są przechowywane w poniższej strukturze.
Na przykład pełna ścieżka do dziennika inspekcji może być następująca:
https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=04/m=00/PT1H.json
Podobnie pełna ścieżka do dziennika żądań może być następująca:
https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=14/m=00/PT1H.json
Omówienie struktury danych dziennika
Dzienniki inspekcji i żądań są w formacie JSON. W tej sekcji przyjrzymy się strukturze kodu JSON dla dzienników żądań i inspekcji.
Dzienniki żądań
Oto przykładowy wpis w dzienniku żądań w formacie JSON. Każdy obiekt blob ma jeden obiekt główny o nazwie rekordy zawierające tablicę obiektów dziennika.
{
"records":
[
. . . .
,
{
"time": "2016-07-07T21:02:53.456Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
"category": "Requests",
"operationName": "GETCustomerIngressEgress",
"resultType": "200",
"callerIpAddress": "::ffff:1.1.1.1",
"correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
"identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
"properties": {"HttpMethod":"GET","Path":"/webhdfs/v1/Samples/Outputs/Drivers.csv","RequestContentLength":0,"StoreIngressSize":0 ,"StoreEgressSize":4096,"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8","StartTime":"2016-07-07T21:02:52.472Z","EndTime":"2016-07-07T21:02:53.456Z","QueryParameters":"api-version=<version>&op=<operationName>"}
}
,
. . . .
]
}
Schemat dziennika żądań
Nazwa | Typ | Opis |
---|---|---|
time | Ciąg | Sygnatura czasowa dziennika (w formacie UTC) |
resourceId | Ciąg | Identyfikator zasobu, na który miała miejsce operacja |
category | Ciąg | Kategoria dziennika. Na przykład Żądania. |
operationName | Ciąg | Nazwa zarejestrowanej operacji. Na przykład getfilestatus. |
resultType | Ciąg | Stan operacji, na przykład 200. |
callerIpAddress | Ciąg | Adres IP klienta wysyłającego żądanie |
correlationId | Ciąg | Identyfikator dziennika, który może służyć do grupowania zestawu powiązanych wpisów dziennika |
identity | Obiekt | Tożsamość, która wygenerowała dziennik |
properties | JSON | Zobacz poniżej, aby uzyskać szczegółowe informacje |
Schemat właściwości dziennika żądań
Nazwa | Typ | Opis |
---|---|---|
HttpMethod | Ciąg | Metoda HTTP używana na potrzeby operacji. Na przykład GET. |
Ścieżka | Ciąg | Ścieżka, na którą wykonano operację |
RequestContentLength | int | Długość zawartości żądania HTTP |
ClientRequestId | Ciąg | Identyfikator, który jednoznacznie identyfikuje to żądanie |
StartTime | Ciąg | Czas odebrania żądania przez serwer |
EndTime | Ciąg | Czas, w którym serwer wysłał odpowiedź |
StoreIngressSize | Długi | Rozmiar w bajtach przychodzących do usługi Data Lake Store |
StoreEgressSize | Długi | Rozmiar w bajtach wychodzących z usługi Data Lake Store |
Parametry zapytań | Ciąg | Opis: Są to parametry zapytania HTTP. Przykład 1: api-version=2014-01-01&op=getfilestatus Przykład 2: op=APPEND&append=true&syncFlag=DATA&filesessionid=bee3355a-4925-4435-bb4d-ceea52811aeb&leaseid=bee3355a-4925-4435-bb4d-ceea52811aeb&offset=28313319&api-version=2017-08-01 |
Dzienniki inspekcji
Oto przykładowy wpis w dzienniku inspekcji w formacie JSON. Każdy obiekt blob ma jeden obiekt główny nazywany rekordami , który zawiera tablicę obiektów dziennika
{
"records":
[
. . . .
,
{
"time": "2016-07-08T19:08:59.359Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
"category": "Audit",
"operationName": "SeOpenStream",
"resultType": "0",
"resultSignature": "0",
"correlationId": "381110fc03534e1cb99ec52376ceebdf;Append_BrEKAmg;25.66.9.145",
"identity": "A9DAFFAF-FFEE-4BB5-A4A0-1B6CBBF24355",
"properties": {"StreamName":"adl://<data_lake_storage_gen1_account_name>.azuredatalakestore.net/logs.csv"}
}
,
. . . .
]
}
Schemat dziennika inspekcji
Nazwa | Typ | Opis |
---|---|---|
time | Ciąg | Sygnatura czasowa dziennika (w formacie UTC) |
resourceId | Ciąg | Identyfikator zasobu, na który miała miejsce operacja |
category | Ciąg | Kategoria dziennika. Na przykład Inspekcja. |
operationName | Ciąg | Nazwa zarejestrowanej operacji. Na przykład getfilestatus. |
resultType | Ciąg | Stan operacji, na przykład 200. |
resultSignature | Ciąg | Dodatkowe szczegóły dotyczące operacji. |
correlationId | Ciąg | Identyfikator dziennika, który może służyć do grupowania zestawu powiązanych wpisów dziennika |
identity | Obiekt | Tożsamość, która wygenerowała dziennik |
properties | JSON | Zobacz poniżej, aby uzyskać szczegółowe informacje |
Schemat właściwości dziennika inspekcji
Nazwa | Typ | Opis |
---|---|---|
Nazwa strumienia | Ciąg | Ścieżka, na którą wykonano operację |
Przykłady przetwarzania danych dziennika
Podczas wysyłania dzienników z usługi Azure Data Lake Storage Gen1 do dzienników usługi Azure Monitor (zobacz Wyświetlanie lub analizowanie danych zebranych za pomocą dzienników usługi Azure Monitor, aby uzyskać szczegółowe informacje na temat korzystania z dzienników usługi Azure Monitor), następujące zapytanie zwróci tabelę zawierającą listę nazw wyświetlanych użytkowników, czas zdarzeń oraz liczbę zdarzeń dla czasu zdarzenia wraz z wykresem wizualnym. Można go łatwo zmodyfikować w celu wyświetlenia identyfikatora GUID użytkownika lub innych atrybutów:
search *
| where ( Type == "AzureDiagnostics" )
| summarize count(TimeGenerated) by identity_s, TimeGenerated
Azure Data Lake Storage Gen1 zawiera przykład sposobu przetwarzania i analizowania danych dziennika. Przykład można znaleźć na stronie https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.