Dziennik aktywności usługi Azure Monitor

Dziennik aktywności usługi Azure Monitor to dziennik platformy na platformie Azure, 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 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.

Aby uzyskać więcej funkcji, utwórz ustawienie diagnostyczne, aby wysłać dziennik aktywności do co najmniej jednej z tych lokalizacji z następujących powodów:

  • Wysyłanie do dzienników usługi Azure Monitor w celu uzyskania bardziej złożonych zapytań i alertów oraz dłuższego przechowywania do dwóch lat.
  • Wyślij do Azure Event Hubs do przodu poza platformą Azure.
  • Wysyłanie do usługi Azure Storage w celu uzyskania tańszej, długoterminowej archiwizacji.

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).

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, wszelkie niezwiązane wpisy powinny być zapisywane w dziennikach zasobów platformy Azure

Okres przechowywania

Zdarzenia dziennika aktywności są przechowywane na platformie Azure przez 90 dni, a następnie usuwane. W tym czasie nie są naliczane opłaty za wpisy niezależnie od woluminu. Aby uzyskać więcej funkcji, takich jak dłuższe przechowywanie, utwórz ustawienie diagnostyczne i skierować wpisy do innej lokalizacji w zależności od potrzeb. Zobacz kryteria w poprzedniej sekcji.

Wyświetlanie dziennika aktywności

Dostęp do dziennika aktywności można uzyskać z większości menu w Azure Portal. Menu, z poziomu którego jest otwierany, określa jego filtr początkowy. Jeśli otworzysz go z menu Monitorowanie , jedynym filtrem jest subskrypcja. Jeśli otworzysz go z menu zasobu, filtr zostanie ustawiony na ten zasób. Zawsze możesz zmienić filtr, aby wyświetlić wszystkie inne wpisy. Wybierz pozycję Dodaj filtr , aby dodać więcej właściwości do filtru.

Zrzut ekranu przedstawiający dziennik aktywności.

Opis kategorii dzienników aktywności można znaleźć w temacie Schemat zdarzeń dziennika aktywności platformy Azure.

Pobieranie dziennika aktywności

Wybierz pozycję Pobierz jako plik CSV, aby pobrać zdarzenia uwzględnione w bieżącym widoku.

Zrzut ekranu przedstawiający pobieranie dziennika aktywności.

Wyświetlanie historii zmian

W przypadku niektórych zdarzeń można wyświetlić historię zmian, która pokazuje, jakie zmiany wystąpiły w czasie zdarzenia. Wybierz zdarzenie z dziennika aktywności, które chcesz dokładniej przyjrzeć się. Wybierz kartę Historia zmian (wersja zapoznawcza) , aby wyświetlić wszystkie zmiany skojarzone z tym zdarzeniem.

Zrzut ekranu przedstawiający listę Historii zmian dla zdarzenia.

Jeśli jakiekolwiek zmiany są skojarzone ze zdarzeniem, zostanie wyświetlona lista zmian, które można wybrać. Wybranie zmiany powoduje otwarcie strony Historia zmian (wersja zapoznawcza). Na tej stronie są wyświetlane zmiany w zasobie. W poniższym przykładzie widać, że maszyna wirtualna zmieniła rozmiary. Na stronie jest wyświetlany rozmiar maszyny wirtualnej przed zmianą i po zmianie. Aby dowiedzieć się więcej o historii zmian, zobacz Pobieranie zmian zasobów.

Zrzut ekranu przedstawiający stronę Historia zmian z różnicami.

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:

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:

  • Skorelowanie danych dziennika aktywności z innymi danymi monitorowania zbieranymi przez usługę Azure Monitor.
  • Skonsoliduj wpisy dziennika z wielu subskrypcji i dzierżaw platformy Azure do jednej lokalizacji na potrzeby 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żywaj alertów 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 są naliczane opłaty za pozyskiwanie lub 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.

Zrzut ekranu przedstawiający eksportowanie dzienników aktywności.

Dziennik aktywności można wysłać z dowolnej pojedynczej 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 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 z kategorii administracyjnej, użyj następującego zapytania:

AzureActivity
| where CategoryValue == "Administrative"

Wyślij do Azure Event Hubs

Wyślij dziennik aktywności do 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": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "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": "00000000-0000-0000-0000-000000000000",
                    "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": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "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 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-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/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 m=00 jest zawsze 00 tworzona, ponieważ obiekty blob są tworzone co godzinę.

Każde zdarzenie jest przechowywane w pliku PT1H.json w 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/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "0f0cb6b4-804b-4129-b893-70aeeb63997e", "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"}}}

Starsze metody kolekcji

Jeśli zbierasz dzienniki aktywności przy użyciu starszej metody kolekcji, 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:

  1. Wyświetl listę wszystkich źródeł danych połączonych z obszarem roboczym przy użyciu interfejsu API Źródła danych — lista według obszaru roboczego i filtruj dzienniki aktywności, ustawiając wartość filter=kind='AzureActivityLog'.

    Zrzut ekranu przedstawiający konfigurację interfejsu API Źródła danych — lista według obszaru roboczego.

  2. Skopiuj nazwę połączenia, które chcesz wyłączyć z odpowiedzi interfejsu API.

    Zrzut ekranu przedstawiający informacje o połączeniu, które należy skopiować z danych wyjściowych interfejsu API Źródła danych — lista według obszaru roboczego.

  3. Użyj interfejsu API Data Sources — Delete , aby zatrzymać zbieranie dzienników aktywności dla określonego zasobu.

    Zrzut ekranu przedstawiający konfigurację interfejsu API Źródła danych — usuwanie.

Zarządzanie starszymi profilami 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, rozważ przejście do ustawień diagnostycznych, 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.

  1. Służy Get-AzLogProfile do identyfikowania, czy istnieje profil dziennika. Jeśli profil dziennika istnieje, zanotuj Name właściwość .

  2. Użyj polecenia Remove-AzLogProfile , aby usunąć profil dziennika przy użyciu wartości z Name właściwości .

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. 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ść Wymagane Opis
    Nazwa Tak Nazwa profilu dziennika.
    StorageAccountId 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 Zapis, Usuwanie i Akcja.

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 zostały uznane za przestarzałe w zaktualizowanym schemacie. Nadal istnieją w AzureActivityelemecie , ale nie mają 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 z nich korzystają.

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.
Podstanu 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: