Trasmettere il log attività di Azure a Hub eventiStream the Azure Activity Log to Event Hubs

È possibile trasmettere il log attività di Azure quasi in tempo reale a qualsiasi applicazione:You can stream the Azure Activity Log in near real time to any application by either:

  • Tramite l'opzione predefinita Esporta disponibile nel portaleUsing the built-in Export option in the portal
  • Abilitando l'ID regola del bus di servizio di Azure in un profilo di log con i cmdlet di Azure PowerShell o l'interfaccia della riga di comando di AzureEnabling the Azure Service Bus rule ID in a log profile via the Azure PowerShell cmdlets or Azure CLI

Che cosa si può fare con il log attività e Hub eventiWhat you can do with the Activity Log and Event Hubs

Di seguito sono riportati due esempi di come è possibile usare la funzionalità di trasmissione per il log attività:Here are two ways you might use the streaming capability for the Activity Log:

  • Trasmettere a sistemi di telemetria e registrazione di terze parti : in futuro, la funzionalità di trasmissione di Hub eventi di Azure diventerà il meccanismo di invio del log attività a soluzioni di analisi di log e SIEM di terze parti.Stream to third-party logging and telemetry systems: Over time, Azure Event Hubs streaming will become the mechanism to pipe your Activity Log into third-party SIEMs and log analytics solutions.
  • Creare una piattaforma di telemetria e registrazione personalizzata : se si ha già una piattaforma di telemetria personalizzata o si intende crearne una, le caratteristiche di pubblicazione-sottoscrizione altamente scalabili di Hub eventi consentono di inserire il log attività con la massima flessibilità.Build a custom telemetry and logging platform: If you already have a custom-built telemetry platform or are thinking about building one, the highly scalable publish-subscribe nature of Event Hubs enables you to flexibly ingest the activity log. Per altre informazioni, guardare il video di Dan Rosanova sull'uso di Hub eventi in una piattaforma di telemetria su scala globale.For more information, see Dan Rosanova’s video about using Event Hubs in a global-scale telemetry platform.

Abilitare la trasmissione del log attivitàEnable streaming of the Activity Log

È possibile abilitare la trasmissione del log attività a livello di codice o tramite il portale.You can enable streaming of the Activity Log either programmatically or via the portal. In entrambi i casi è necessario scegliere uno spazio dei nomi di Hub eventi e criteri di accesso condiviso per tale spazio dei nomi.Either way, you pick an Event Hubs namespace and a shared access policy for that namespace. Quando si verifica il primo nuovo evento del log attività, in questo spazio dei nomi viene creato un hub eventi con il nome insights-logs-operationallogs.An event hub with the name insights-logs-operationallogs is created in that namespace when the first new Activity Log event occurs.

Se non si ha uno spazio dei nomi di Hub eventi, è necessario crearne uno.If you don't have an Event Hubs namespace, you first need to create one. Se in precedenza sono stati trasmessi eventi del log attività a questo spazio dei nomi di Hub eventi, verrà usato nuovamente l'hub eventi creato in tale occasione.If you previously streamed Activity Log events to this Event Hubs namespace, the event hub that was previously created will be reused.

Il criterio di accesso condiviso definisce le autorizzazioni per il meccanismo di trasmissione.The shared access policy defines the permissions that the streaming mechanism has. Attualmente la trasmissione a Hub eventi richiede autorizzazioni di gestione, invio e attesa.Today, streaming to Event Hubs requires Manage, Send, and Listen permissions. È possibile creare o modificare i criteri di accesso condiviso per lo spazio dei nomi di Hub eventi nel portale di Azure, nella scheda Configura relativa a tale spazio dei nomi.You can create or modify shared access policies for the Event Hubs namespace in the Azure portal under the Configure tab for your Event Hubs namespace.

Per aggiornare il profilo del log attività e includere la trasmissione, l'utente che apporta la modifica deve avere l'autorizzazione ListKey nella regola di autorizzazione di Hub eventi.To update the Activity Log log profile to include streaming, the user who's making the change must have the ListKey permission on that Event Hubs authorization rule. Lo spazio dei nomi di Hub eventi non deve necessariamente trovarsi nella stessa sottoscrizione in cui vengono creati i log, purché l'utente che configura l'impostazione abbia l'accesso RBAC appropriato a entrambe le sottoscrizioni.The Event Hubs namespace does not have to be in the same subscription as the subscription that's emitting logs, as long as the user who configures the setting has appropriate RBAC access to both subscriptions.

Tramite il portale di AzureVia the Azure portal

  1. Passare alla sezione Log attività usando la casella di ricerca Tutti i servizi sul lato sinistro del portale.Browse to the Activity Log section by using the All services search on the left side of the portal.

    Selezione di Log attività nell'elenco dei servizi disponibili nel portale

  2. Selezionare il pulsante Esporta nella parte superiore del log.Select the Export button at the top of the log.

    Pulsante Esporta nel portale

    Si noti che le impostazioni di filtro applicate durante la visualizzazione del log attività in precedenza non hanno alcun effetto sulle impostazioni di esportazione.Note that the filter settings you had applied while viewing the Activity Log in the previous view have no impact on your export settings. Servono solo per filtrare i dati visualizzati durante l'esplorazione del log attività nel portale.Those are only for filtering what you see while browsing through your Activity Log in the portal.

  3. Nella sezione che viene visualizzata selezionare Tutte le aree.In the section that appears, select All regions. Non selezionare aree specifiche.Do not select particular regions.

    Sezione di esportazione

    Avviso

    Se si seleziona qualsiasi opzione diversa da Tutte le aree, non verranno trovati gli eventi principali che si prevede di ricevere.If you select anything other than All regions, you'll miss key events that you expect to receive. Il log attività è di tipo globale e non correlato ad aree specifiche. La maggior parte degli eventi, pertanto, non è associata a un'area.The Activity Log is a global (non-regional) log, so most events do not have a region associated with them.

  4. Selezionare Salva per salvare le impostazioni.Select Save to save these settings. Le impostazioni vengono applicate immediatamente alla sottoscrizione.The settings are immediately applied to your subscription.

  5. Se si hanno più sottoscrizioni, ripetere questa operazione e inviare tutti i dati allo stesso hub eventi.If you have several subscriptions, repeat this action and send all the data to the same event hub.

Tramite i cmdlet di PowerShellVia PowerShell cmdlets

Se esiste già un profilo di log, è innanzitutto necessario rimuovere il profilo di log esistente e quindi crearne uno nuovo.If a log profile already exists, you first need to remove the existing log profile and then create a new log profile.

  1. Usare Get-AzureRmLogProfile per determinare se esiste già un profilo di log.Use Get-AzureRmLogProfile to identify if a log profile exists. Se esiste un profilo di log, individuare la proprietà name.If a log profile does exist, locate the name property.
  2. Usare Remove-AzureRmLogProfile per rimuovere il profilo di log usando il valore della proprietà name.Use Remove-AzureRmLogProfile to remove the log profile using the value from the name property.

    # For example, if the log profile name is 'default'
    Remove-AzureRmLogProfile -Name "default"
    
  3. Usare Add-AzureRmLogProfile per creare un nuovo profilo di log:Use Add-AzureRmLogProfile to create a new log profile:

    # Settings needed for the new log profile
    $logProfileName = "default"
    $locations = (Get-AzureRmLocation).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"
    
    Add-AzureRmLogProfile -Name $logProfileName -Location $locations -ServiceBusRuleId $serviceBusRuleId
    

Tramite l'interfaccia della riga di comando di AzureVia Azure CLI

Se esiste già un profilo di log, è innanzitutto necessario rimuovere il profilo di log esistente e quindi crearne uno nuovo.If a log profile already exists, you first need to remove the existing log profile and then create a new log profile.

  1. Usare az monitor log-profiles list per determinare se esiste già un profilo di log.Use az monitor log-profiles list to identify if a log profile exists.
  2. Usare az monitor log-profiles delete --name "<log profile name> per rimuovere il profilo di log usando il valore della proprietà name.Use az monitor log-profiles delete --name "<log profile name> to remove the log profile using the value from the name property.
  3. Usare az monitor log-profiles create per creare un nuovo profilo di log:Use az monitor log-profiles create to create a new log profile:

    az monitor log-profiles create --name "default" --location null --locations "global" "eastus" "westus" --categories "Delete" "Write" "Action"  --enabled false --days 0 --service-bus-rule-id "/subscriptions/<YOUR SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<EVENT HUB NAME SPACE>/authorizationrules/RootManageSharedAccessKey"
    

Utilizzare i dati di log da Hub eventiConsume the log data from Event Hubs

Lo schema del log attività è disponibile in Monitorare l'attività di sottoscrizione con il log attività di Azure.The schema for the Activity Log is available in Monitor subscription activity with the Azure Activity Log. Ogni evento si trova in una matrice di BLOB JSON denominati record.Each event is in an array of JSON blobs called records.

Passaggi successiviNext steps