Condividi tramite


Monitorare le risorse delegate su larga scala

I provider di servizi potrebbero aver integrato più tenant di clienti in Azure Lighthouse. Azure Lighthouse consente ai provider di servizi di eseguire operazioni su larga scala tra più tenant contemporaneamente, rendendo più efficienti le attività di gestione.

Questo argomento illustra come usare i log di Monitoraggio di Azure in modo scalabile nei tenant dei clienti che si gestiscono. Anche se in questo argomento si fa riferimento a provider di servizi e clienti, le linee guida si applicano anche alle aziende che usano Azure Lighthouse per gestire più tenant.

Nota

Assicurarsi che agli utenti dei tenant gestiti siano stati concessi i ruoli necessari per la gestione delle aree di lavoro di Log Analytics nelle sottoscrizioni delegate dei clienti.

Creare aree di lavoro Log Analytics

Per raccogliere i dati, è necessario creare aree di lavoro di Log Analytics. Queste aree di lavoro di Log Analytics sono ambienti univoci per i dati raccolti da Monitoraggio di Azure. Ogni area di lavoro ha un proprio repository di dati e una propria configurazione, mentre le origini dati e le soluzioni sono configurate per l'archiviazione dei dati in un'area di lavoro specifica.

È consigliabile creare queste aree di lavoro direttamente nei tenant dei clienti. In questo modo, i dati rimangono nei tenant dei clienti anziché essere esportati nei propri tenant. La creazione delle aree di lavoro nei tenant dei clienti consente il monitoraggio centralizzato di qualsiasi risorsa o servizio supportato da Log Analytics, offrendo maggiore flessibilità sui tipi di dati che possono essere monitorati. Le aree di lavoro create nei tenant dei clienti sono necessarie per raccogliere informazioni dalle impostazioni di diagnostica.

Suggerimento

Qualsiasi account di automazione usato per accedere ai dati da un'area di lavoro di Log Analytics deve essere creato nello stesso tenant dell'area di lavoro.

È possibile creare un'area di lavoro di Log Analytics usando il portale di Azure, i modelli di Azure Resource Manager oppure Azure PowerShell.

Importante

Se tutte le aree di lavoro vengono create nei tenant dei clienti, anche i provider di risorse di Microsoft.Insights devono essere registrati in una sottoscrizione nel tenant di gestione. Se il tenant di gestione non ha già una sottoscrizione di Azure, è possibile registrare manualmente il provider di risorse usando i comandi di PowerShell seguenti:

$ManagingTenantId = "your-managing-Azure-AD-tenant-id"

# Authenticate as a user with admin rights on the managing tenant
Connect-AzAccount -Tenant $ManagingTenantId

# Register the Microsoft.Insights resource providers Application Ids
New-AzADServicePrincipal -ApplicationId 1215fb39-1d15-4c05-b2e3-d519ac3feab4 -Role Contributor
New-AzADServicePrincipal -ApplicationId 6da94f3c-0d67-4092-a408-bb5d1cb08d2d -Role Contributor
New-AzADServicePrincipal -ApplicationId ca7f3f0b-7d91-482c-8e09-c5d840d0eac5 -Role Contributor

Distribuire criteri che registrano i dati

Dopo aver creato le aree di lavoro di Log Analytics, è possibile distribuire Criteri di Azure tra le gerarchie dei clienti. In questo modo i dati di diagnostica vengono inviati all'area di lavoro appropriata in ciascun tenant. I criteri esatti distribuiti possono variare in base ai tipi di risorse che si desidera monitorare.

Per altre informazioni sulla creazione dei criteri, vedere Esercitazione: Creare e gestire criteri per imporre la conformità. Questo strumento della community fornisce uno script che consente di creare criteri per monitorare i tipi di risorse specifici scelti.

Dopo aver stabilito quali criteri distribuire, è possibile distribuirli nelle sottoscrizioni delegate su larga scala.

Analizzare i dati raccolti

Dopo aver distribuito i criteri, i dati verranno registrati nelle aree di lavoro di Log Analytics create in ciascun tenant dei clienti. Per ottenere informazioni dettagliate su tutti i clienti gestiti, è possibile usare strumenti come cartelle di lavoro di Monitoraggio di Azure per raccogliere e analizzare le informazioni provenienti da più origini dati.

Eseguire query relative ai dati delle aree di lavoro dei clienti

È possibile eseguire query relative ai log per recuperare i dati nelle aree di lavoro di Log Analytics dei tenant dei diversi clienti creando un'unione che includa più aree di lavoro. Includendo la colonna TenantID, è possibile comprendere quali risultati appartengono ai singoli tenant.

La query di esempio seguente crea un'unione nella tabella AzureDiagnostics tra aree di lavoro in due tenant di clienti separati. I risultati mostrano le colonne Category, ResourceGroup e TenantID.

union AzureDiagnostics,
workspace("WS-customer-tenant-1").AzureDiagnostics,
workspace("WS-customer-tenant-2").AzureDiagnostics
| project Category, ResourceGroup, TenantId

Per altri esempi di query in più aree di lavoro di Log Analytics, vedere Creare una query sui log in più aree di lavoro e app in Monitoraggio di Azure.

Importante

Se si utilizza un account di automazione usato per eseguire query sui dati da un'area di lavoro di Log Analytics, tale account di automazione deve essere creato nello stesso tenant dell'area di lavoro.

Visualizzare avvisi per i clienti

È possibile visualizzare avvisi per le sottoscrizioni delegate nei tenant dei clienti gestiti.

Dal tenant di gestione è possibile creare, visualizzare e gestire gli avvisi del log attività nel portale di Azure oppure tramite API e strumenti di gestione.

Per aggiornare automaticamente gli avvisi per più clienti, usare una query di Azure Resource Graph per filtrare gli avvisi. È possibile aggiungere la query al dashboard e selezionare tutte le sottoscrizioni e i clienti appropriati. Ad esempio, la query seguente comporta la visualizzazione di avvisi di gravità 0 e 1 che vengono aggiornati ogni 60 minuti.

alertsmanagementresources
| where type == "microsoft.alertsmanagement/alerts"
| where properties.essentials.severity =~ "Sev0" or properties.essentials.severity =~ "Sev1"
| where properties.essentials.monitorCondition == "Fired"
| where properties.essentials.startDateTime > ago(60m)
| project StartTime=properties.essentials.startDateTime,name,Description=properties.essentials.description, Severity=properties.essentials.severity, subscriptionId
| sort by tostring(StartTime)

Passaggi successivi