Udostępnij za pośrednictwem


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 na podstawie najlepszych wysiłków. 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 witrynie 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 wyświetlić przykład umożliwiający analityka magazynu dzienniki 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. Rejestrowanie analityka magazynu jest również dostępne dla wydajności PremiumKonta BlockBlobStorage. Jednak nie jest dostępna dla kont ogólnego przeznaczenia w wersji 2 z wydajnością Premium.

Żądania zalogowania się do 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:

  • Żądania zakończone powodzeniem

  • Błędy serwera

  • Błędy przekroczenia limitu czasu dla klienta i serwera

  • Żądania GET zakończone niepowodzeniem z kodem błędu 304 (Nie zmodyfikowano)

    Wszystkie inne nieudane żądania anonimowe 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.

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, zobaczysz wszystkie obiekty blob zawierające dane rejestrowania.

Uwaga

Kontener $logs nie jest wyświetlany po wykonaniu operacji wyświetlania 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 Wyświetlanie 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 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 i 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 cyfry godziny, która wskazuje godzinę początkową dzienników w formacie 24 godziny UTC. Na przykład: 18.
mm Dwie cyfry, które wskazują 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 zera z sześcioma cyframi, który wskazuje liczbę obiektów blob dziennika wygenerowanych dla usługi magazynu w okresie godziny. Ten licznik rozpoczyna się od 000000. Na przykład: 000001.

Poniżej znajduje się kompletna 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ą zakończenia żądanej operacji. Jeśli na przykład żądanie GetBlob zostało ukończone o godzinie 18: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, 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;172.16.0.0: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 (włączono usługę Data Lake Storage)

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;172.16.0.0;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;172.16.0.0: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;172.16.0.0: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