Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 w przypadku modyfikacji zasobu lub wystąpienia błędu wdrożenia. 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 sposobu wyświetlania dziennika aktywności i wysyłania go do różnych miejsc docelowych.
Uwaga / Notatka
- 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 nierelowane wpisy powinny być zapisywane w dziennikach zasobów platformy Azure
- Wpisy w dzienniku aktywności są zazwyczaj wynikiem zmian (tworzenia, aktualizowania lub usuwania) lub zainicjowania akcji. Operacje skoncentrowane na odczytywaniu szczegółów zasobu nie są zwykle przechwytywane.
Wskazówka
Jeśli został przekierowany do tego artykułu z błędu operacji wdrażania, zobacz Rozwiązywanie typowych błędów wdrażania platformy Azure.
Eksportowanie dzienników aktywności
Przejdź dodziennika aktywności> i wybierz pozycję Eksportuj dzienniki aktywności.
Uwaga / Notatka
Dziennik aktywności można wysłać z dowolnej subskrypcji do maksymalnie pięciu obszarów roboczych.
Dodaj ustawienie diagnostyczne , aby wysyłać dzienniki aktywności do co najmniej jednej z następujących lokalizacji:
- Obszar roboczy usługi Log Analytics umożliwia 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).
Wskazówka
Wyślij dane dziennika 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.
- Wyślij dzienniki do obszaru roboczego usługi Log Analytics w celu dłuższego okresu 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.
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ę do wspólnej analizy.
- 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.
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 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ść minutowa w adresie URL, m=00
jest zawsze 00
, ponieważ obiekty blob są tworzone co 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"}}}
Eksportuj do pliku CSV
Wybierz pozycję Pobierz jako plik CSV , aby wyeksportować dziennik aktywności do pliku CSV przy użyciu witryny Azure Portal.
Ważne
Eksportowanie może zająć zbyt dużo czasu, jeśli masz dużą liczbę wpisów dziennika. Aby zwiększyć wydajność, zmniejsz zakres czasu eksportu. W portalu Azure jest ustawiane za pomocą ustawienia Przedział czasu.
Dziennik aktywności można również wyeksportować do pliku CSV przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure, jak pokazano w poniższych przykładach.
az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json
Get-AzActivityLog -StartTime 2021-12-01T10:30 -EndTime 2022-01-14T11:30 | Export-csv operations_logs.csv
Poniższy przykładowy skrypt programu PowerShell eksportuje dziennik aktywności do plików CSV w ciągu jednej godziny, z których każdy jest zapisywany w osobnym pliku.
# Parameters
$subscriptionId = "Subscription ID here" # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00" # Adjust as needed
$outputFolder = "\Logs" # Change path as needed
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
New-Item -Path $outputFolder -ItemType Directory
}
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
$currentEnd = $currentStart.AddHours(1)
$timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
$csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
Write-Host "Fetching logs from $currentStart to $currentEnd..."
Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
Export-Csv -Path $csvFile -NoTypeInformation
$currentStart = $currentEnd
}
Write-Host "Export completed. Files saved to $outputFolder."
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 z programu PowerShell. Zobacz Przykłady programu PowerShell dla usługi Azure Monitor.
- Użyj az monitor activity-log, aby pobrać dziennik aktywności z CLI. Zobacz Przykłady interfejsu wiersza polecenia usługi Azure Monitor.
- Użyj interfejsu API REST usługi Azure Monitor , aby pobrać dziennik aktywności z klienta REST.
Starsze metody kolekcji
Uwaga / Notatka
Rozwiązanie Dziennik aktywności platformy Azure zostało użyte do przekazywania dzienników aktywności do usługi 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 Data Sources - List By Workspace API i filtruj dzienniki aktywności, ustawiając
kind eq 'AzureActivityLog'
.Skopiuj nazwę połączenia, które chcesz wyłączyć z odpowiedzi interfejsu API.
Użyj interfejsu API Usuń - Źródła danych, aby zatrzymać zbieranie dzienników aktywności dla określonego zasobu.
Zarządzanie dziedzicznymi profilami dzienników (wycofywane)
Uwaga / Notatka
- 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 tworzenie nowych 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
Majątek Wymagane Opis Nazwa Tak Nazwa profilu dziennika. Id konta przechowywania Nie. Identyfikator zasobu konta magazynu, na którym ma zostać zapisany dziennik aktywności. IdentyfikatorRegułyUsługiBus 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>"
$storageAccountName = "<Storage Account name>"
# 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 | Stara nazwa kolumny usługi Log Analytics (przestarzałe) |
Nowa nazwa kolumny usługi Log Analytics | Notatki |
---|---|---|---|
kategoria | Kategoria | Wartość kategorii | |
stan Wartości to success , start , accept , failure |
Status Aktywności Wartości takie same jak w formacie JSON |
WartośćStatusuDziałań Wartości zmieniają się na succeeded , started , accepted , failed |
Prawidłowe wartości zmieniają się, jak pokazano. |
podstatus | Podstatus Aktywności | WartośćPodstanuAktywności | |
nazwa operacji | Nazwa operacji | WartośćNazwyOperacji | Interfejs API REST lokalizuje wartość nazwy operacji. Interfejs użytkownika usługi Log Analytics zawsze wyświetla angielski. |
NazwaDostawcyZasobów | Dostawca zasobów | WartośćDostawcyZasobu |
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
Dalsze kroki
Dowiedz się więcej o: