Wysyłanie danych dziennika aktywności usługi Azure Monitor
Dziennik aktywności usługi Azure Monitor to dziennik platformy, który zapewnia wgląd w zdarzenia na poziomie subskrypcji. Dziennik aktywności zawiera informacje, takie jak po zmodyfikowaniu zasobu lub uruchomieniu maszyny wirtualnej. Dziennik aktywności można wyświetlić w witrynie Azure Portal lub pobrać wpisy za pomocą programu PowerShell i interfejsu wiersza polecenia platformy Azure. Ten artykuł zawiera informacje na temat wyświetlania dziennika aktywności i wysyłania go do różnych miejsc docelowych.
Utwórz ustawienie diagnostyczne, aby wysłać dziennik aktywności do co najmniej jednej z następujących lokalizacji:
- Obszar roboczy usługi Log Analytics umożliwiający bardziej złożone wykonywanie zapytań i alertów
- Usługa Azure Event Hubs umożliwia przekazywanie dzienników poza platformę Azure.
- Usługa Azure Storage do tańszego, długoterminowego archiwizowania.
Aby uzyskać szczegółowe informacje na temat tworzenia ustawienia diagnostycznego, zobacz Create diagnostic settings to send platform logs and metrics to different destinations (Tworzenie ustawień diagnostycznych w celu wysyłania dzienników i metryk platformy do różnych miejsc docelowych).
Napiwek
Wyślij dzienniki aktywności do obszaru roboczego usługi Log Analytics, aby uzyskać następujące korzyści:
- Wysyłanie dzienników do obszaru roboczego usługi Log Analytics jest bezpłatne dla domyślnego okresu przechowywania.
- Wysyłanie dzienników do obszaru roboczego usługi Log Analytics przez dłuższy okres przechowywania do 12 lat.
- Dzienniki wyeksportowane do obszaru roboczego usługi Log Analytics można wyświetlić w usłudze Power BI
- Szczegółowe informacje są udostępniane dla dzienników aktywności wyeksportowanych do usługi Log Analytics.
Uwaga
- Wpisy w dzienniku aktywności są generowane przez system i nie można ich zmienić ani usunąć.
- Wpisy w dzienniku aktywności reprezentują zmiany płaszczyzny sterowania, takie jak ponowne uruchomienie maszyny wirtualnej, wszystkie niezwiązane wpisy powinny być zapisywane w dziennikach zasobów platformy Azure
- Wpisy w dzienniku aktywności są zwykle wynikiem zmian (operacji tworzenia, aktualizowania lub usuwania) lub zainicjowanej akcji. Operacje skoncentrowane na odczytywaniu szczegółów zasobu nie są zwykle przechwytywane.
Wysyłanie do obszaru roboczego usługi Log Analytics
Wyślij dziennik aktywności do obszaru roboczego usługi Log Analytics, aby włączyć funkcję Dzienniki usługi Azure Monitor, w której:
- Korelowanie danych dziennika aktywności z innymi danymi monitorowania zebranymi przez usługę Azure Monitor.
- Skonsoliduj wpisy dziennika z wielu subskrypcji i dzierżaw platformy Azure w jedną lokalizację na potrzeby analizy razem.
- Użyj zapytań dziennika do wykonywania złożonej analizy i uzyskiwania szczegółowych informacji na temat wpisów dziennika aktywności.
- Użyj alertów przeszukiwania dzienników z wpisami działań, aby uzyskać bardziej złożoną logikę alertów.
- Przechowuj wpisy dziennika aktywności dłużej niż okres przechowywania dziennika aktywności.
- Nie naliczaj opłat za pozyskiwanie danych ani przechowywanie danych dziennika aktywności przechowywanych w obszarze roboczym usługi Log Analytics.
- Domyślny okres przechowywania w usłudze Log Analytics wynosi 90 dni
Wybierz pozycję Eksportuj dzienniki aktywności, aby wysłać dziennik aktywności do obszaru roboczego usługi Log Analytics.
Dziennik aktywności można wysłać z dowolnej subskrypcji do maksymalnie pięciu obszarów roboczych.
Dane dziennika aktywności w obszarze roboczym usługi Log Analytics są przechowywane w tabeli o nazwie AzureActivity
, którą można pobrać za pomocą zapytania dziennika w usłudze Log Analytics. Struktura tej tabeli różni się w zależności od kategorii wpisu dziennika. Opis właściwości tabeli można znaleźć w dokumentacji dotyczącej danych usługi Azure Monitor.
Aby na przykład wyświetlić liczbę rekordów dziennika aktywności dla każdej kategorii, użyj następującego zapytania:
AzureActivity
| summarize count() by CategoryValue
Aby pobrać wszystkie rekordy w kategorii administracyjnej, użyj następującego zapytania:
AzureActivity
| where CategoryValue == "Administrative"
Ważne
W niektórych scenariuszach możliwe jest, że wartości w polach usługi AzureActivity mogą mieć różne wielkości liter niż w przeciwnym razie równoważne wartości. Podczas wykonywania zapytań dotyczących danych w usłudze AzureActivity należy używać operatorów bez uwzględniania wielkości liter na potrzeby porównań ciągów lub użyć funkcji skalarnej, aby wymusić użycie pola do jednolitej wielkości liter przed wszelkimi porównaniami. Na przykład użyj funkcji tolower() w polu, aby wymusić, że będzie ona zawsze małą literą lub operatorem =~ podczas porównywania ciągów.
Wysyłanie do usługi Azure Event Hubs
Wyślij dziennik aktywności do usługi Azure Event Hubs, aby wysyłać wpisy spoza platformy Azure, na przykład do rozwiązania SIEM innej firmy lub innych rozwiązań do analizy dzienników. Zdarzenia dziennika aktywności z centrów zdarzeń są używane w formacie JSON z elementem zawierającym records
rekordy w każdym ładunku. Schemat zależy od kategorii i jest opisany w schemacie zdarzeń dziennika aktywności platformy Azure.
Następujące przykładowe dane wyjściowe pochodzą z centrów zdarzeń dla dziennika aktywności:
{
"records": [
{
"time": "2019-01-21T22:14:26.9792776Z",
"resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"operationName": "microsoft.support/supporttickets/write",
"category": "Write",
"resultType": "Success",
"resultSignature": "Succeeded.Created",
"durationMs": 2826,
"callerIpAddress": "111.111.111.11",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"identity": {
"authorization": {
"scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"action": "microsoft.support/supporttickets/write",
"evidence": {
"role": "Subscription Admin"
}
},
"claims": {
"aud": "https://management.core.windows.net/",
"iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
"iat": "1421876371",
"nbf": "1421876371",
"exp": "1421880271",
"ver": "1.0",
"http://schemas.microsoft.com/identity/claims/tenantid": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
"puid": "20030000801A118C",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
"name": "John Smith",
"groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
"appid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"appidacr": "2",
"http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
"http://schemas.microsoft.com/claims/authnclassreference": "1"
}
},
"level": "Information",
"location": "global",
"properties": {
"statusCode": "Created",
"serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
}
}
]
}
Wysyłanie do usługi Azure Storage
Wyślij dziennik aktywności do konta usługi Azure Storage, jeśli chcesz przechowywać dane dziennika dłużej niż 90 dni na potrzeby inspekcji, analizy statycznej lub tworzenia kopii zapasowej. Jeśli musisz zachować zdarzenia przez 90 dni lub mniej, nie musisz konfigurować archiwizacji na koncie magazynu. Zdarzenia dziennika aktywności są zachowywane na platformie Azure przez 90 dni.
Po wysłaniu dziennika aktywności na platformę Azure kontener magazynu jest tworzony na koncie magazynu natychmiast po wystąpieniu zdarzenia. Obiekty blob w kontenerze używają następującej konwencji nazewnictwa:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Na przykład określony obiekt blob może mieć nazwę podobną do:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json
Każdy obiekt blob PT1H.json zawiera obiekt JSON ze zdarzeniami z plików dziennika, które zostały odebrane w ciągu godziny określonej w adresie URL obiektu blob. W ciągu obecnej godziny zdarzenia są dołączane do pliku PT1H.json podczas ich odbierania, niezależnie od tego, kiedy zostały wygenerowane. Wartość minuty w adresie URL jest zawsze 00
tak, m=00
jak obiekty blob są tworzone na godzinę.
Każde zdarzenie jest przechowywane w pliku PT1H.json o następującym formacie. Ten format używa wspólnego schematu najwyższego poziomu, ale w przeciwnym razie jest unikatowy dla każdej kategorii, zgodnie z opisem w schemacie dziennika aktywności.
{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}
Inne metody pobierania zdarzeń dziennika aktywności
Dostęp do zdarzeń dziennika aktywności można również uzyskać przy użyciu następujących metod:
- Użyj polecenia cmdlet Get-AzLog, aby pobrać dziennik aktywności za pomocą programu PowerShell. Zobacz Przykłady poleceń programu PowerShell usługi Azure Monitor.
- Użyj polecenia az monitor activity-log, aby pobrać dziennik aktywności za pomocą interfejsu wiersza polecenia. Zobacz Przykłady poleceń interfejsu wiersza polecenia usługi Azure Monitor.
- Użyj interfejsu API REST usługi Azure Monitor, aby pobrać dziennik aktywności za pomocą klienta REST.
Starsze metody kolekcji
Uwaga
- Rozwiązanie dzienników aktywności platformy Azure zostało użyte do przekazywania dzienników aktywności do usługi Azure Log Analytics. To rozwiązanie zostanie wycofane 15 września 2026 r. i zostanie automatycznie przekonwertowane na ustawienia diagnostyczne.
Jeśli zbierasz dzienniki aktywności przy użyciu starszej metody zbierania, zalecamy wyeksportowanie dzienników aktywności do obszaru roboczego usługi Log Analytics i wyłączenie starszej kolekcji przy użyciu źródła danych — usuń interfejs API w następujący sposób:
Wyświetl listę wszystkich źródeł danych połączonych z obszarem roboczym przy użyciu interfejsu API Źródła danych — wyświetlanie listy według obszaru roboczego i filtrowanie dzienników aktywności przez ustawienie .
kind eq 'AzureActivityLog'
Skopiuj nazwę połączenia, które chcesz wyłączyć z odpowiedzi interfejsu API.
Użyj interfejsu API Źródła danych — usuwanie, aby zatrzymać zbieranie dzienników aktywności dla określonego zasobu.
Zarządzanie starszymi profilami dzienników — wycofywanie
Uwaga
- Profile dzienników były używane do przekazywania dzienników aktywności do kont magazynu i usługi Event Hubs. Ta metoda jest wycofywana 15 września 2026 r.
- Jeśli używasz tej metody, przejdź do ustawień diagnostycznych przed 15 września 2025 r., kiedy przestaniemy zezwalać na nowe tworzenie profilów dzienników.
Profile dzienników to starsza metoda wysyłania dziennika aktywności do magazynu lub centrów zdarzeń. Jeśli używasz tej metody, przejdź do obszaru Ustawienia diagnostyczne, które zapewniają lepszą funkcjonalność i spójność z dziennikami zasobów.
Jeśli profil dziennika już istnieje, musisz najpierw usunąć istniejący profil dziennika, a następnie utworzyć nowy.
Użyj
Get-AzLogProfile
polecenia , aby określić, czy istnieje profil dziennika. Jeśli profil dziennika istnieje, zanotujName
właściwość .Użyj polecenia
Remove-AzLogProfile
, aby usunąć profil dziennika przy użyciu wartości zName
właściwości .# For example, if the log profile name is 'default' Remove-AzLogProfile -Name "default"
Użyj
Add-AzLogProfile
polecenia , aby utworzyć nowy profil dziennika:Add-AzLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Location global,westus,eastus -RetentionInDays 90 -Category Write,Delete,Action
Właściwości Wymagania opis Nazwa/nazwisko Tak Nazwa profilu dziennika. Identyfikator konta magazynu Nie. Identyfikator zasobu konta magazynu, na którym ma zostać zapisany dziennik aktywności. serviceBusRuleId Nie. Identyfikator reguły usługi Service Bus dla przestrzeni nazw usługi Service Bus, w której chcesz utworzyć centra zdarzeń. Ten ciąg ma format {service bus resource ID}/authorizationrules/{key name}
.Lokalizacja Tak Rozdzielona przecinkami lista regionów, dla których chcesz zbierać zdarzenia dziennika aktywności. RetentionInDays Tak Liczba dni przechowywania zdarzeń na koncie magazynu z zakresu od 1 do 365. Wartość zero przechowuje dzienniki w nieskończoność. Kategoria Nie. Rozdzielona przecinkami lista kategorii zdarzeń do zebrania. Możliwe wartości to Write, Delete i Action.
Przykładowy skrypt
Ten przykładowy skrypt programu PowerShell tworzy profil dziennika, który zapisuje dziennik aktywności zarówno na koncie magazynu, jak i w centrum zdarzeń.
# Settings needed for the new log profile
$logProfileName = "default"
$locations = (Get-AzLocation).Location
$locations += "global"
$subscriptionId = "<your Azure subscription Id>"
$resourceGroupName = "<resource group name your Event Hub belongs to>"
$eventHubNamespace = "<Event Hub namespace>"
# Build the service bus rule Id from the settings above
$serviceBusRuleId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$eventHubNamespace/authorizationrules/RootManageSharedAccessKey"
# Build the Storage Account Id from the settings above
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"
Add-AzLogProfile -Name $logProfileName -Location $locations -StorageAccountId $storageAccountId -ServiceBusRuleId $serviceBusRuleId
Zmiany struktury danych
Środowisko Eksportowanie dzienników aktywności wysyła te same dane co starsza metoda używana do wysyłania dziennika aktywności z pewnymi zmianami w strukturze AzureActivity
tabeli.
Kolumny w poniższej tabeli są przestarzałe w zaktualizowanym schemacie. Nadal istnieją w systemie AzureActivity
, ale nie mają żadnych danych. Zamiany tych kolumn nie są nowe, ale zawierają te same dane co przestarzała kolumna. Są one w innym formacie, więc może być konieczne zmodyfikowanie zapytań dziennika, które ich używają.
Dane JSON dziennika aktywności | Nazwa kolumny usługi Log Analytics (starsze przestarzałe) |
Nowa nazwa kolumny usługi Log Analytics | Uwagi |
---|---|---|---|
category | Kategoria | CategoryValue | |
status Wartości to powodzenie, rozpoczęcie, zaakceptowanie, niepowodzenie |
ActivityStatus Wartości takie same jak w formacie JSON |
ActivityStatusValue Zmiana wartości na powiodła się, uruchomiona, zaakceptowana, nie powiodła się |
Prawidłowe wartości zmieniają się, jak pokazano. |
subStatus | ActivitySubstatus | ActivitySubstatusValue | |
operationName | OperationName | OperationNameValue | Interfejs API REST lokalizuje wartość nazwy operacji. Interfejs użytkownika usługi Log Analytics zawsze wyświetla angielski. |
resourceProviderName | ResourceProvider | ResourceProviderValue |
Ważne
W niektórych przypadkach wartości w tych kolumnach mogą być wielkie. Jeśli masz zapytanie zawierające te kolumny, użyj operatora =~, aby wykonać porównanie bez uwzględniania wielkości liter.
W zaktualizowanym schemacie dodano AzureActivity
następujące kolumny:
- Authorization_d
- Claims_d
- Properties_d
Następne kroki
Dowiedz się więcej na następujące tematy: