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

Il log attività di Azure può essere trasmesso quasi in tempo reale a qualsiasi applicazione con l'opzione "Esporta" incorporata nel portale oppure abilitando l'ID regola del bus di servizio in un profilo di log tramite i cmdlet di Azure PowerShell o l'interfaccia della riga di comando di Azure.The Azure Activity Log can be streamed in near real time to any application using the built-in “Export” option in the portal, or by enabling the 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

Ecco alcuni esempi di come è possibile usare la funzionalità di trasmissione per il log attività:Here are just a few 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 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, Event Hubs streaming will become the mechanism to pipe your Activity Log into third-party SIEMs and log analytics solutions.
  • Compilare una piattaforma di registrazione e telemetria personalizzata : se è disponibile una piattaforma di telemetria personalizzata o si intende crearne una, le caratteristiche di pubblicazione-sottoscrizione altamente scalabili di Hub eventi offrono grande flessibilità per l'inserimento del log attività.Build a custom telemetry and logging platform – If you already have a custom-built telemetry platform or are just thinking about building one, the highly scalable publish-subscribe nature of Event Hubs allows you to flexibly ingest the activity log. Vedere la guida all'uso di Hub eventi in una piattaforma di telemetria su scala globale di Dan Rosanova.See Dan Rosanova’s guide to using Event Hubs in a global scale telemetry platform here.

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, selezionare uno spazio dei nomi del bus di servizio e un criterio di accesso condiviso per tale spazio dei nomi; quando si verifica il primo nuovo evento del log attività, viene creato un Hub eventi nello spazio dei nomi.Either way, you pick a Service Bus Namespace and a shared access policy for that namespace, and an Event Hub is created in that namespace when the first new Activity Log event occurs. Se non si dispone di uno spazio dei nomi del bus di servizio, è necessario crearne uno.If you do not have a Service Bus Namespace, you first need to create one. Se in precedenza sono stati trasmessi gli eventi del log attività allo spazio dei nomi del bus di servizio, verrà usato di nuovo l'Hub eventi creato in quell'occasione.If you have previously streamed Activity Log events to this Service Bus 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. Al momento, per trasmettere a un hub eventi sono necessarie autorizzazioni di gestione, invio e ascolto.Today, streaming to an Event Hubs requires Manage, Send, and Listen permissions. Per creare o modificare i criteri di accesso condiviso dello spazio dei nomi del bus di servizio nel portale classico è possibile usare la scheda "Configura" dello spazio dei nomi del bus di servizio.You can create or modify Service Bus Namespace shared access policies in the classic portal under the “Configure” tab for your Service Bus Namespace. Per aggiornare il profilo di log del log attività e includere la trasmissione, l'utente che apporta la modifica deve disporre dell'autorizzazione ListKey nella regola di autorizzazione del bus di servizio.To update the Activity Log log profile to include streaming, the user making the change must have the ListKey permission on that Service Bus Authorization Rule.

Lo spazio dei nomi del bus di servizio o per l'hub eventi non deve trovarsi nella stessa sottoscrizione della sottoscrizione che emette log, purché l'utente che configura l'impostazione abbia un accesso RBAC appropriato a entrambe le sottoscrizioni.The service bus or event hub namespace does not have to be in the same subscription as the subscription emitting logs as long as the user who configures the setting has appropriate RBAC access to both subscriptions.

Tramite il portale di AzureVia Azure portal

  1. Passare al pannello Log attività usando il menu sul lato sinistro del portale.Navigate to the Activity Log blade using the menu on the left side of the portal.

    Passare al log attività nel portale

  2. Fare clic sul pulsante Esporta nella parte superiore del pannello.Click the Export button at the top of the blade.

    Pulsante Esporta nel portale

  3. Nel pannello visualizzato è possibile selezionare le aree per cui trasmettere gli eventi e lo spazio dei nomi del bus di servizio in cui creare un hub eventi per la trasmissione degli eventi.In the blade that appears, you can select the regions for which you would like to stream events and the Service Bus Namespace in which you would like an Event Hub to be created for streaming these events.

    Pannello Esporta log di controllo

  4. Fare clic su Salva per salvare le impostazioni.Click Save to save these settings. Le impostazioni vengono applicate immediatamente alla sottoscrizione.The settings are immediately be applied to your subscription.

Tramite i cmdlet di PowerShellVia PowerShell Cmdlets

Se esiste già un profilo di log, prima di tutto è necessario rimuoverlo.If a log profile already exists, you first need to remove that profile.

  1. Usare Get-AzureRmLogProfile per determinare se esiste già un profilo di log.Use Get-AzureRmLogProfile to identify if a log profile exists
  2. In tal caso, usare Remove-AzureRmLogProfile per rimuoverlo.If so, use Remove-AzureRmLogProfile to remove it.
  3. Usare Set-AzureRmLogProfile per creare un profilo:Use Set-AzureRmLogProfile to create a profile:
Add-AzureRmLogProfile -Name my_log_profile -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Locations global,westus,eastus -RetentionInDays 90 -Categories Write,Delete,Action

L'ID regola del bus di servizio è una stringa nel formato seguente: {service bus resource ID}/authorizationrules/{key name}. Ad esempio:The Service Bus Rule ID is a string with this format: {service bus resource ID}/authorizationrules/{key name}, for example

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

Se esiste già un profilo di log, prima di tutto è necessario rimuoverlo.If a log profile already exists, you first need to remove that profile.

  1. Usare azure insights logprofile list per determinare se esiste già un profilo di log.Use azure insights logprofile list to identify if a log profile exists
  2. In tal caso, usare azure insights logprofile delete per rimuoverlo.If so, use azure insights logprofile delete to remove it.
  3. Usare azure insights logprofile add per creare un profilo:Use azure insights logprofile add to create a profile:
azure insights logprofile add --name my_log_profile --storageId /subscriptions/s1/resourceGroups/insights-integration/providers/Microsoft.Storage/storageAccounts/my_storage --serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey --locations global,westus,eastus,northeurope --retentionInDays 90 –categories Write,Delete,Action

L'ID regola del bus di servizio è una stringa nel formato seguente: {service bus resource ID}/authorizationrules/{key name}.The Service Bus Rule ID is a string with this format: {service bus resource ID}/authorizationrules/{key name}.

Come utilizzare i dati di log da Hub eventiHow do I consume the log data from Event Hubs?

Lo schema per il log attività è disponibile qui.The schema for the Activity Log is available here. 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