Sdílet prostřednictvím


Odeslání dat protokolu aktivit služby Azure Monitor

Protokol aktivit služby Azure Monitor je protokol platformy, který poskytuje přehled o událostech na úrovni předplatného. Protokol aktivit obsahuje informace, jako je změna prostředku nebo chyba nasazení. Protokol aktivit můžete zobrazit na webu Azure Portal nebo načíst položky pomocí PowerShellu a Azure CLI.

Tento článek obsahuje informace o tom, jak zobrazit protokol aktivit a poslat ho do různých cílů.

Poznámka:

  • Položky v protokolu aktivit jsou generované systémem a není možné je změnit ani odstranit.
  • Položky v protokolu aktivit představují změny řídicí roviny, jako je restartování virtuálního počítače, všechny nesouvisející položky by se měly zapisovat do protokolů prostředků Azure.
  • Položky v protokolu aktivit jsou obvykle výsledkem změn (operace vytvoření, aktualizace nebo odstranění) nebo zahájené akce. Operace zaměřené na čtení detailů o prostředku nejsou obvykle zaznamenány.

Návod

Pokud jste byli přesměrováni na tento článek z chyby operace nasazení, přečtěte si téma Řešení běžných chyb nasazení Azure.

Export protokolů aktivit

  1. Přejděte do Azure Monitor>protokolu aktivit a vyberte Exportovat protokoly aktivit.

    Snímek obrazovky znázorňující, jak se dostat k protokolům aktivit

    Poznámka:

    Protokol aktivit můžete odeslat z libovolného předplatného do až pěti pracovních prostorů.

  2. Přidejte nastavení diagnostiky pro odesílání protokolů aktivit do jednoho nebo více z těchto umístění:

    Snímek obrazovky znázorňující přidání nastavení diagnostiky

    Podrobnosti o tom, jak vytvořit nastavení diagnostiky, najdete v tématu Vytvoření nastavení diagnostiky pro odesílání protokolů platformy a metrik do různých cílů.

    Návod

    Odeslání dat protokolu aktivit do pracovního prostoru služby Log Analytics pro následující výhody:

    • Odesílání protokolů do pracovního prostoru služby Log Analytics je bezplatné pro výchozí dobu uchovávání informací.
    • Odešlete protokoly do pracovního prostoru služby Log Analytics pro delší uchovávání až 12 let.
    • Protokoly exportované do pracovního prostoru služby Log Analytics se dají zobrazit v Power BI.
    • Přehledy se poskytují pro protokoly aktivit exportované do Log Analytics.

Odeslání do pracovního prostoru služby Log Analytics

Odešlete protokol aktivit do pracovního prostoru služby Log Analytics, abyste povolili funkci protokolů služby Azure Monitor, kde:

  • Korelujte data protokolu aktivit s dalšími daty monitorování shromážděnými službou Azure Monitor.
  • Sloučení položek protokolu z několika předplatných a tenantů Azure do jednoho umístění pro účely analýzy
  • Pomocí dotazů protokolu můžete provádět komplexní analýzu a získat podrobné přehledy o položkách protokolu aktivit.
  • Pro složitější logiku upozorňování použijte upozornění prohledávání protokolu s položkami aktivit.
  • Ukládat položky protokolu aktivit po delší dobu, než je doba uchovávání protokolu aktivit.
  • Neúčtují se žádné poplatky za příjem dat ani uchovávání dat protokolu aktivit uložených v pracovním prostoru služby Log Analytics.
  • Výchozí doba uchovávání v Log Analytics je 90 dnů.

Data protokolu aktivit v pracovním prostoru služby Log Analytics jsou uložená v tabulce s názvem AzureActivity , kterou můžete načíst pomocí dotazu protokolu v Log Analytics. Struktura této tabulky se liší v závislosti na kategorii položky protokolu. Popis vlastností tabulky najdete v referenčních informacích k datům služby Azure Monitor.

Pokud chcete například zobrazit počet záznamů protokolu aktivit pro každou kategorii, použijte následující dotaz:

AzureActivity
| summarize count() by CategoryValue

Pokud chcete načíst všechny záznamy v kategorii správy, použijte následující dotaz:

AzureActivity
| where CategoryValue == "Administrative"

Důležité

V některých scénářích je možné, že hodnoty v polích AzureActivity můžou mít různá velikost velikostí od jiných ekvivalentních hodnot. Při dotazování na data v AzureActivity se starají o použití operátorů nerozlišující malá a velká písmena pro porovnání řetězců nebo použití skalární funkce k vynucení pole do jednotné velikosti písmen před jakýmkoli porovnáním. Například pomocí funkce tolower() u pole vynutíte, aby byla při porovnávání řetězců vždy malá písmena nebo operátor =~.

Odeslání do služby Azure Event Hubs

Odešlete protokol aktivit do služby Azure Event Hubs, aby se odesílaly položky mimo Azure, například do řešení SIEM třetí strany nebo jiných řešení pro analýzu protokolů. Události protokolu aktivit z center událostí se využívají ve formátu JSON s elementem records , který obsahuje záznamy v každé datové části. Schéma závisí na kategorii a je popsáno ve schématu událostí protokolu aktivit Azure.

Následující ukázková výstupní data pocházejí z center událostí pro protokol aktivit:

{
    "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"
            }
        }
    ]
}

Odeslání do Azure Storage

Pokud chcete uchovávat data protokolů déle než 90 dnů pro audit, statickou analýzu nebo zálohování, odešlete protokol aktivit do účtu Azure Storage. Pokud potřebujete zachovat události po dobu 90 dnů nebo méně, nemusíte archivovat účet úložiště. Události protokolu aktivit se uchovávají na platformě Azure po dobu 90 dnů.

Při odesílání protokolu aktivit do Azure se v účtu úložiště vytvoří kontejner úložiště, jakmile dojde k události. Objekty blob v kontejneru používají následující zásady vytváření názvů:

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

Konkrétní objekt blob může mít například podobný název:

insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Každý soubor PT1H.json obsahuje JSON objekt s událostmi ze souborů protokolu, které byly přijaty během hodiny uvedené v URL adresě objektu blob. Během aktuální hodiny se události připojují k souboru PT1H.json při jejich přijetí bez ohledu na to, kdy byly vygenerovány. Minutová hodnota v adrese URL m=00 je vždy 00 protože objekty blob jsou vytvářeny hodinově.

Každá událost je uložena v souboru PT1H.json s následujícím formátem. Tento formát používá společné schéma nejvyšší úrovně, ale pro každou kategorii je jinak jedinečné, jak je popsáno ve schématu protokolu aktivit.

{ "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"}}}

Export do CSV

Výběrem možnosti Stáhnout jako CSV exportujte protokol aktivit do souboru CSV pomocí webu Azure Portal.

Snímek obrazovky znázorňující možnost exportu do souboru CSV

Důležité

Export může trvat příliš dlouho, pokud máte velký počet položek protokolu. Pokud chcete zvýšit výkon, snižte časový rozsah exportu. V Azure portálu se toto nastavení provádí pomocí nastavení časového rozsahu.

Protokol aktivit můžete také exportovat do souboru CSV pomocí PowerShellu nebo Azure CLI jako v následujících příkladech.

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

Následující ukázkový skript PowerShellu exportuje protokol aktivit do souborů CSV v hodinových intervalech, přičemž každý se uloží do samostatného souboru.

# 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."

Další metody načítání událostí protokolu aktivit

K událostem protokolu aktivit můžete přistupovat také pomocí následujících metod:

Starší metody kolekce

Poznámka:

Řešení protokolu aktivit Azure se použilo k předávání protokolů aktivit do Log Analytics. Toto řešení se vyřadí z 15. září 2026 a automaticky se převede na nastavení diagnostiky.

Pokud shromažďujete protokoly aktivit pomocí starší verze metody shromažďování, doporučujeme exportovat protokoly aktivit do pracovního prostoru služby Log Analytics a zakázat starší shromažďování pomocí zdrojů dat – rozhraní API pro odstranění následujícím způsobem:

  1. Vypsat všechny zdroje dat připojené k pracovnímu prostoru pomocí rozhraní Data Sources – List By Workspace API a filtrovat protokoly aktivit nastavením kind eq 'AzureActivityLog'.

    Snímek obrazovky znázorňující konfiguraci zdrojů dat – seznam podle rozhraní API pracovního prostoru

  2. Zkopírujte název připojení, které chcete zakázat z odpovědi rozhraní API.

    Snímek obrazovky znázorňující informace o připojení, které potřebujete zkopírovat z výstupu rozhraní API zdrojů dat – Seznam podle rozhraní API pracovního prostoru

  3. Pomocí zdrojů dat – Odstranění rozhraní API zastavte shromažďování protokolů aktivit pro konkrétní prostředek.

    Snímek obrazovky s konfigurací zdrojů dat – rozhraní API pro odstranění

Správa zastaralých profilů protokolu (vyřazování)

Poznámka:

  • Profily protokolů se použily k předávání protokolů aktivit účtům úložiště a službě Event Hubs. Tato metoda je vyřazena 15. září 2026.
  • Pokud používáte tuto metodu, přejděte do nastavení diagnostiky před 15. zářím 2025, kdy přestaneme povolovat nové vytváření profilů protokolů.

Profily protokolů jsou starší metodou pro odesílání protokolu aktivit do úložiště nebo centra událostí. Pokud používáte tuto metodu, přejděte na Nastavení diagnostiky, které poskytují lepší funkce a konzistenci s protokoly prostředků.

Pokud profil protokolu již existuje, musíte nejprve odebrat existující profil protokolu a pak vytvořit nový profil.

  1. Slouží Get-AzLogProfile k identifikaci, jestli existuje profil protokolu. Pokud profil protokolu existuje, poznamenejte si Name vlastnost.

  2. Slouží Remove-AzLogProfile k odebrání profilu protokolu pomocí hodnoty z Name vlastnosti.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Slouží Add-AzLogProfile k vytvoření nového profilu protokolu:

    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
    
    Vlastnictví Povinné Popis
    Název Ano Název profilu protokolu.
    Identifikátor úložiště účtu Ne ID prostředku účtu úložiště, do kterého se má protokol aktivit uložit.
    serviceBusPravidloId Ne ID pravidla služby Service Bus pro obor názvů služby Service Bus, ve kterém chcete mít vytvořené centra událostí. Tento řetězec má formát {service bus resource ID}/authorizationrules/{key name}.
    Umístění Ano Čárkami oddělený seznam oblastí, pro které chcete shromažďovat události protokolu aktivit.
    RetenceInDays Ano Počet dnů, po které se mají události uchovávat v účtu úložiště, od 1 do 365 Hodnota nula ukládá protokoly po neomezenou dobu.
    Kategorie Ne Čárkami oddělený seznam kategorií událostí, které se mají shromažďovat. Možné hodnoty jsou Zapisovat, Odstranit a Akce.

Ukázkový skript

Tento ukázkový skript PowerShellu vytvoří profil protokolu, který zapíše protokol aktivit do účtu úložiště i do centra událostí.

# 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

Změny struktury dat

Prostředí protokolu aktivit exportu odesílá stejná data jako starší metoda použitá k odeslání protokolu aktivit s některými změnami struktury AzureActivity tabulky.

Sloupce v následující tabulce jsou v aktualizovaném schématu zastaralé. Stále existují, AzureActivityale nemají žádná data. Nahrazení těchto sloupců není nové, ale obsahují stejná data jako zastaralý sloupec. Jsou v jiném formátu, takže možná budete muset upravit dotazy protokolu, které je používají.

JSON protokolu aktivit Starý název sloupce Log Analytics
(zastaralé)
Nový název sloupce Log Analytics Poznámky
kategorie Kategorie HodnotaKategorie
stav

Hodnoty jsou success, start, acceptfailure
Stav Aktivity

Hodnoty stejné jako JSON
ActivityStatusValue

Hodnoty se změní na succeeded, startedaccepted, failed
Platné hodnoty se změní, jak je znázorněno.
podStav Podstav aktivity HodnotaPodstavuAktivity
název operace název operace OperationNameValue Rozhraní REST API lokalizuje hodnotu názvu operace. Uživatelské rozhraní Log Analytics vždy zobrazuje angličtinu.
název poskytovatele zdrojů Poskytovatel zdrojů ResourceProviderValue

Důležité

V některých případech můžou být hodnoty v těchto sloupcích velkými písmeny. Pokud máte dotaz, který obsahuje tyto sloupce, použijte operátor =~ k porovnání nerozlišující malá a velká písmena.

Do aktualizovaného schématu byly přidány AzureActivity následující sloupce:

  • Authorization_d
  • Claims_d
  • Properties_d

Další kroky

Další informace o: