Azure Storage Diagnostics daje dostęp do metryk i logów, dzięki którym możliwe jest śledzenie zużycia magazynu, diagnozowanie problemów z odpytywaniem storaga lub zwiększanie wydajności aplikacji na nim uruchomionych.
Diagnostykę storaga włączamy wchodząc na konto danego storaga i w sekcji Monitoring klikamy na Diagnostic logs (classic) a potem w Status na On. Tutaj można wybrać metryki, logi i retencję.
Są dwa poziomy kolekcjonowania metryk:
- poziom usługi – te metryki zawierają statystyki dla wszystkich zapytań, gromadzonych w określonym interwale czasowym. Nawet jeżeli nie ma żadnych zapytań do usługi wpis i tak jest dokonywany z informacją, że nie było żadnego zapytania w określonym interwale.
- poziom API – metryki zapisują zapytania do każdej usługi tylko jeżeli zapytania odbywają się w interwale godzinnym.
Diagnostykę magazynu można także uruchomić w PowerShellu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$storageAccount = "mystorageaccount0002" $rgName="RG01" $storageKey = Get-AzureRmStorageAccountKey -ResourceGroupName $rgName -Name $storageAccount $context = New-AzureStorageContext -StorageAccountName $storageAccount ` -StorageAccountKey $storageKey[0].Value Set-AzureStorageServiceMetricsProperty -ServiceType Blob ` -MetricsType Hour ` -RetentionDays 30 ` -MetricsLevel ServiceAndApi ` -Context $context Set-AzureStorageServiceLoggingProperty -ServiceType Blob ` -RetentionDays 30 ` -LoggingOperations Delete ` -Context $context |
W przykładzie powyżej cmdlet Set-AzureStorageServiceMetricsPropert
włącza metrykę godzinną, retencję ustawia na 30 dni, a poziom metryki na ServiceAndApi. Dozwolone tutaj parametry to:
- MetricsType: Hour and Minute.
- ServiceType: Blob, Queue, and Table.
- MetricsLevel: None, Service, and ServiceAndApi.
Natomiast cmdlet Set-AzureStorageServiceLoggingProperty
konfiguruje dla usługi blobs retencję na 30 dni, ale logowane są tylko operacje kasowania. Dozwolone tutaj są parametry:
- LoggingOperations: All, None, Read, Write i Delete
Metryki rejestrowane są poziomie usługi a także na poziomie usługi i API. Na poziomie usługi (blobsy, tabele i kolejki) gromadzone są takie podstawowe metryki jak ruch przychodzący, ruch wychodzący, dostępność, czas odpowiedzi.
Analiza danych diagnostycznych
Poza włączeniem i konfiguracją diagnostyki ważne jest także zrozumienie co przechwycone metryki i logi znaczą. Metryki przechwytywane są do do tabel danego konta storage. Zawartość tych tabel można przeglądać w Azure Storage Explorerze.
Logi są natomiast składowane w blobsach w kontenerze $logs
, który także można przeglądać Azure Stoage Explorerem. Blobsy, w których są logi składowane są wg schematu:
<servicetype>/YYYY/MM/DD/HHMM/<counter>.log
np. table/2014/05/20/0900/000002.log
To co zawierają logi zależy od parametru -LoggingOperations
(All, Reads, Writes, Delete
) ustawionego na etapie włączania logowania.
Alarmy.
Alarm można ustawiać w menu klikając:
[Storage Account] -> Alerts -> New Alert Rule
Więcej informacji:
https://docs.microsoft.com/en-us/azure/storage/common/storage-monitor-storage-account
https://docs.microsoft.com/en-us/azure/storage/common/storage-monitoring-diagnosing-troubleshooting