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

Włączanie rejestrowania diagnostycznego dla konta Data Lake Storage Gen1

  1. Zaloguj się do nowego Azure Portal.

  2. Otwórz konto Data Lake Storage Gen1 i w bloku konta Data Lake Storage Gen1 kliknij pozycję Ustawienia diagnostyczne.

  3. W bloku Ustawienia diagnostyki kliknij pozycję Włącz diagnostykę.

    Zrzut ekranu przedstawiający konto Data Lake Storage Gen 1 z opcją ustawienia diagnostycznego i wywołaną opcją Włącz diagnostykę.

  4. W bloku Ustawienia diagnostyki wprowadź następujące zmiany w celu skonfigurowania rejestrowania diagnostycznego.

    Zrzut ekranu przedstawiający sekcję Ustawienia diagnostyczne z polem tekstowym Nazwa i wybraną opcją Zapisz.

    • 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

  1. W bloku Ustawienia konta Data Lake Storage Gen1 kliknij pozycję Dzienniki diagnostyczne.

    Wyświetlanie dzienników diagnostycznych Wyświetl dzienniki diagnostyczne

  2. 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.
  3. Aby pobrać dzienniki, kliknij link Pobierz dla każdego wpisu dziennika.

Na koncie usługi Azure Storage, które zawiera dane dziennika

  1. 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.

    Zrzut ekranu przedstawiający blok Data Lake Storage Gen 1 wybraną opcję Obiekty blob i blok usługi Blog z nazwami dwóch usług obiektów blob.

    • Inspekcja dzienników-dzienników kontenera zawiera dzienniki inspekcji.
    • Kontener insights-logs-requests zawiera dzienniki żądań.
  2. W ramach tych kontenerów dzienniki są przechowywane w poniższej strukturze.

    Zrzut ekranu przedstawiający strukturę dziennika przechowywaną w kontenerze.

    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.

Zobacz też