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 możliwości. Oznacza to, że większość żądań spowoduje zarejestrowanie rekordu dziennika, ale kompletność i osi czasu dzienników analityka magazynu nie są gwarantowane.

Uwaga

Zalecamy używanie dzienników usługi Azure Storage w usłudze Azure Monitor zamiast dzienników analityka magazynu. 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. Aby włączyć analityka magazynu dla każdej usługi, użyj właściwości usługi Get Blob Service, pobierz właściwości usługi kolejki i pobierz właściwości usługi Table Service. Aby zapoznać się z przykładem umożliwiającym analityka magazynu dzienników przy użyciu platformy .NET, zobacz Włączanie dzienników

Wpisy dziennika są tworzone tylko wtedy, gdy są wysyłane żądania względem 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 w warstwie Premium. Jednak nie jest ona dostępna dla kont ogólnego przeznaczenia w wersji 2 z wydajnością Premium.

Żądania zalogowane podczas rejestrowania

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 samą analityka magazynu, 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. Połączenia z dostawcy zasobów platformy 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, choć jego zawartość można usunąć. Jeśli używasz narzędzia do przeglądania magazynu, aby przejść bezpośrednio do kontenera, zobaczysz wszystkie obiekty blob zawierające dane rejestrowania.

Uwaga

Kontener $logs nie jest wyświetlany po wykonaniu operacji listy kontenerów, takiej jak operacja List Containers. Dostęp do niego musi być uzyskiwany bezpośrednio. Na przykład możesz użyć operacji List Blobs 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 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 na każdą godzinę, możesz użyć metadanych obiektu blob, aby określić, jakie 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 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 dla dziennika. Na przykład: 2011
MM Dwucyfrowy miesiąc dziennika. Na przykład: 07
DD Dwucyfrowy dzień dziennika. Na przykład: 31
hh Dwucyfrowa godzina wskazująca godzinę początkową dla dzienników w formacie 24 godziny UTC. Na przykład: 18
mm Dwucyfrowa liczba wskazująca minutę początkową dzienników. Uwaga: Ta wartość nie jest obsługiwana w bieżącej wersji analityka magazynu, a jej wartość zawsze będzie mieć wartość 00.
<counter> Licznik oparty na zera z sześcioma cyframi, który wskazuje liczbę obiektów blob dziennika wygenerowanych dla usługi magazynu w okresie godzinowym. Ten licznik zaczyna 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óry może służyć do uzyskiwania 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ą ukończenia żądanej operacji. Jeśli na przykład żądanie GetBlob zostało ukończone o godzinie 16:30 w dniu 7.31.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óre mogą służyć do identyfikowania danych rejestrowania, które zawiera obiekt 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 Ostatni raz 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 przy użyciu 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 Storage obiektów blob

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 Storage obiektów blob (włączono Data Lake Storage Gen2)

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 Storage kolejki

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 Storage tabeli

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