Rejestrowanie usługi Azure Storage Analytics

Usługa Storage Analytics rejestruje szczegółowe informacje dotyczące żądań do usługi magazynu zakończonych powodzeniem i niepowodzeniem. Tych informacji można używać na potrzeby monitorowania poszczególnych żądań i diagnozowania problemów z usługą magazynu. Żądania są rejestrowane w oparciu o najlepsze wysiłki. Oznacza to, że większość żądań spowoduje zarejestrowanie rekordu dziennika, ale kompletność i osie czasu dzienników analityka magazynu nie są gwarantowane.

Uwaga

Zalecamy używanie dzienników usługi Azure Storage w usłudze Azure Monitor zamiast analityka magazynu dzienników. Aby dowiedzieć się więcej, zobacz dowolny z następujących artykułów:

Rejestrowanie w usłudze Storage Analytics nie jest domyślnie włączone dla Twojego konta magazynu. Można ją włączyć w Azure Portal lub przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Aby uzyskać szczegółowe wskazówki, zobacz Włączanie dzienników usługi Azure analityka magazynu (wersja klasyczna) i zarządzanie nimi.

Dzienniki analityka magazynu można również włączyć programowo za pomocą interfejsu API REST lub biblioteki klienta. Użyj operacji Pobierz właściwości usługi Blob Service, Pobierz właściwości usługi kolejki i Pobierz właściwości usługi Table Service, aby włączyć analityka magazynu dla każdej usługi. Aby zapoznać się z przykładem umożliwiającym korzystanie z dzienników analityka magazynu przy użyciu platformy .NET, zobacz Włączanie dzienników

Wpisy dziennika są tworzone tylko wtedy, gdy istnieją żądania dotyczące punktu końcowego usługi. Jeśli na przykład konto magazynu ma działanie w punkcie końcowym obiektu blob, ale nie w punktach końcowych tabeli lub kolejki, zostaną utworzone tylko dzienniki dotyczące usługi Blob Service.

Uwaga

Rejestrowanie w usłudze Storage Analytics jest aktualnie dostępne tylko dla usług Blob Storage, Queue Storage i Table Storage. analityka magazynu rejestrowanie jest również dostępne dla kont BlockBlobStorage o wydajności premium. Jednak nie jest ona dostępna dla kont ogólnego przeznaczenia w wersji 2 z wydajnością Premium.

Żądania logowania

Rejestrowanie uwierzytelnionych żądań

Rejestrowane są następujące typy żądań uwierzytelnionych:

  • Żądania zakończone powodzeniem

  • Żądania zakończone niepowodzeniem, w tym błędy limitu czasu, ograniczania przepustowości, sieci, autoryzacji i inne błędy

  • Żądania przy użyciu sygnatury dostępu współdzielonego (SAS) lub protokołu OAuth, w tym żądania zakończone niepowodzeniem i zakończone powodzeniem

  • Żądania dotyczące danych analityki

    Żądania wysyłane przez analityka magazynu się, takie jak tworzenie lub usuwanie dziennika, nie są rejestrowane. Pełna lista zarejestrowanych danych jest udokumentowana w tematach analityka magazynu Zarejestrowane operacje i komunikaty o stanie oraz analityka magazynu format dziennika.

Rejestrowanie żądań anonimowych

Rejestrowane są następujące typy żądań anonimowych:

Uwaga

analityka magazynu rejestruje wszystkie wewnętrzne wywołania płaszczyzny danych. Wywołania dostawcy zasobów usługi Azure Storage są również rejestrowane. Aby zidentyfikować te żądania, poszukaj ciągu <sk=system-1> zapytania w adresie URL żądania.

Jak są przechowywane dzienniki

Wszystkie dzienniki są przechowywane w blokowych obiektach blob w kontenerze o nazwie $logs, który jest tworzony automatycznie po włączeniu analityka magazynu dla konta magazynu. Kontener $logs znajduje się w przestrzeni nazw obiektów blob konta magazynu, na przykład: http://<accountname>.blob.core.windows.net/$logs. Nie można usunąć tego kontenera po włączeniu analityka magazynu, chociaż jego zawartość można usunąć. Jeśli używasz narzędzia do przeglądania magazynu do bezpośredniego przechodzenia do kontenera, zostaną wyświetlone wszystkie obiekty blob zawierające dane rejestrowania.

Uwaga

Kontener $logs nie jest wyświetlany podczas wykonywania operacji wyświetlania listy kontenerów, na przykład operacji Wyświetlanie listy kontenerów. Dostęp do niego musi być uzyskiwany bezpośrednio. Na przykład możesz użyć operacji Wyświetlanie listy obiektów blob w celu uzyskania dostępu do obiektów blob w kontenerze $logs .

W miarę rejestrowania żądań analityka magazynu przekaże wyniki pośrednie jako bloki. Okresowo analityka magazynu zatwierdzi te bloki i udostępni je jako obiekt blob. Wyświetlenie danych dziennika w kontenerze $logs może potrwać do godziny, ponieważ częstotliwość opróżniania składników zapisywania dzienników przez usługę magazynu. Zduplikowane rekordy mogą istnieć dla dzienników utworzonych w tej samej godzinie. Możesz określić, czy rekord jest duplikatem, sprawdzając identyfikator żądania i numer operacji .

Jeśli masz dużą ilość danych dziennika z wieloma plikami dla każdej godziny, możesz użyć metadanych obiektu blob, aby określić, które dane zawiera dziennik, sprawdzając pola metadanych obiektu blob. Jest to również przydatne, ponieważ czasami może wystąpić opóźnienie podczas zapisywania danych w plikach dziennika: metadane obiektu blob dają dokładniejsze wskazanie zawartości obiektu blob niż nazwa obiektu blob.

Większość narzędzi do przeglądania magazynu umożliwia wyświetlanie metadanych obiektów blob; Możesz również przeczytać te informacje przy użyciu programu PowerShell lub programowo. Poniższy fragment kodu programu PowerShell to przykład filtrowania listy obiektów blob dziennika według nazwy w celu określenia czasu oraz metadanych w celu zidentyfikowania tylko tych dzienników zawierających operacje zapisu .

Get-AzStorageBlob -Container '$logs' |  
Where-Object {  
    $_.Name -match 'blob/2014/05/21/05' -and   
    $_.ICloudBlob.Metadata.LogType -match 'write'  
} |  
ForEach-Object {  
    "{0}  {1}  {2}  {3}" -f $_.Name,   
    $_.ICloudBlob.Metadata.StartTime,   
    $_.ICloudBlob.Metadata.EndTime,   
    $_.ICloudBlob.Metadata.LogType  
}  

Aby uzyskać informacje na temat programowego wyświetlania listy obiektów blob, zobacz Wyliczanie zasobów obiektów blob i ustawianie i pobieranie właściwości i metadanych dla zasobów obiektów blob.

Konwencje nazewnictwa dzienników

Każdy dziennik zostanie zapisany w następującym formacie:

<service-name>/YYYY/MM/DD/hhmm/<counter>.log

W poniższej tabeli opisano każdy atrybut w nazwie dziennika:

Atrybut Opis
<service-name> Nazwa usługi magazynu. Na przykład: blob, lub tablequeue
YYYY Czterocyfrowy rok dziennika. Na przykład: 2011
MM Dwucyfrowy miesiąc dziennika. Na przykład: 07
DD Dwucyfrowy dzień dziennika. Na przykład: 31
hh Dwie godziny cyfry wskazujące godzinę początkową dzienników w formacie UTC 24 godziny. Na przykład: 18
mm Dwucyfrowa liczba wskazująca minutę początkową dzienników. Uwaga: Ta wartość jest nieobsługiwana w bieżącej wersji analityka magazynu, a jej wartość zawsze będzie mieć wartość 00.
<counter> Licznik oparty na zerze z sześcioma cyframi, który wskazuje liczbę obiektów blob dziennika wygenerowanych dla usługi magazynu w ciągu godziny. Ten licznik rozpoczyna się od 000000. Na przykład: 000001

Poniżej znajduje się pełna przykładowa nazwa dziennika, która łączy powyższe przykłady:

blob/2011/07/31/1800/000001.log

Poniżej przedstawiono przykładowy identyfikator URI, którego można użyć do uzyskania dostępu do powyższego dziennika:

https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log

Po zarejestrowaniu żądania magazynu wynikowa nazwa dziennika jest skorelowana z godziną zakończenia żądanej operacji. Jeśli na przykład żądanie GetBlob zostało ukończone o godzinie 18:30 w dniu 31.07.2011 r., dziennik zostanie zapisany z następującym prefiksem: blob/2011/07/31/1800/

Metadane dziennika

Wszystkie obiekty blob dziennika są przechowywane z metadanymi, których można użyć do identyfikowania danych rejestrowania zawartych w obiekcie blob. W poniższej tabeli opisano każdy atrybut metadanych:

Atrybut Opis
LogType Opisuje, czy dziennik zawiera informacje dotyczące operacji odczytu, zapisu lub usuwania. Ta wartość może zawierać jeden typ lub kombinację wszystkich trzech rozdzielonych przecinkami.

Przykład 1: write

Przykład 2: read,write

Przykład 3: read,write,delete
StartTime Najwcześniejszy czas wpisu w dzienniku w postaci YYYY-MM-DDThh:mm:ssZ. Na przykład: 2011-07-31T18:21:46Z
EndTime Najnowszy czas wpisu w dzienniku w postaci YYYY-MM-DDThh:mm:ssZ. Na przykład: 2011-07-31T18:22:09Z
LogVersion Wersja formatu dziennika.

Poniższa lista zawiera pełne przykładowe metadane, korzystając z powyższych przykładów:

  • LogType=write
  • StartTime=2011-07-31T18:21:46Z
  • EndTime=2011-07-31T18:22:09Z
  • LogVersion=1.0

Wpisy dziennika

W poniższych sekcjach przedstawiono przykładowy wpis dziennika dla każdej obsługiwanej usługi Azure Storage.

Przykładowy wpis dziennika dla usługi Blob Storage

2.0;2022-01-03T20:34:54.4617505Z;PutBlob;SASSuccess;201;7;7;sas;;logsamples;blob;https://logsamples.blob.core.windows.net/container1/1.txt?se=2022-02-02T20:34:54Z&amp;sig=XXXXX&amp;sp=rwl&amp;sr=c&amp;sv=2020-04-08&amp;timeout=901;"/logsamples/container1/1.txt";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53371;2019-12-12;654;13;337;0;13;"xxxxxxxxxxxxxxxxxxxxx==";"xxxxxxxxxxxxxxxxxxxxx==";"&quot;0x8D9CEF88004E296&quot;";Monday, 03-Jan-22 20:34:54 GMT;;"Microsoft Azure Storage Explorer, 1.20.1, win32, azcopy-node, 2.0.0, win32, AzCopy/10.11.0 Azure-Storage/0.13 (go1.15; Windows_NT)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Przykładowy wpis dziennika dla usługi Blob Storage (Data Lake Storage Gen2 włączone)

2.0;2022-01-04T22:50:56.0000775Z;RenamePathFile;Success;201;49;49;authenticated;logsamples;logsamples;blob;"https://logsamples.dfs.core.windows.net/my-container/myfileorig.png?mode=legacy";"/logsamples/my-container/myfilerenamed.png";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;73.157.16.8;2020-04-08;591;0;224;0;0;;;;Friday, 11-Jun-21 17:58:15 GMT;;"Microsoft Azure Storage Explorer, 1.19.1, win32 azsdk-js-storagedatalake/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Przykładowy wpis dziennika dla usługi Queue Storage

2.0;2022-01-03T20:35:04.6097590Z;PeekMessages;Success;200;5;5;authenticated;logsamples;logsamples;queue;https://logsamples.queue.core.windows.net/queue1/messages?numofmessages=32&amp;peekonly=true&amp;timeout=30;"/logsamples/queue1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53385;2020-04-08;536;0;232;62;0;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32 azsdk-js-storagequeue/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Przykładowy wpis dziennika dla usługi Table Storage

1.0;2022-01-03T20:35:13.0719766Z;CreateTable;Success;204;30;30;authenticated;logsamples;logsamples;table;https://logsamples.table.core.windows.net/Tables;"/logsamples/Table1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53389;2018-03-28;601;22;339;0;22;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32, Azure-Storage/2.10.3 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"

Następne kroki