Partilhar via


Monitorar recursos delegados em escala

Como fornecedor de serviços, pode ter integrado vários inquilinos de clientes no Azure Lighthouse. O Azure Lighthouse permite que os fornecedores de serviços desempenhem operações em escala em vários inquilinos de uma vez, o que torna as tarefas de gestão mais eficientes.

Este tópico mostra como usar os Logs do Azure Monitor de forma escalável entre os locatários de clientes que você está gerenciando. Embora nos referimos a provedores de serviços e clientes neste tópico, esta orientação também se aplica a empresas que usam o Azure Lighthouse para gerenciar vários locatários.

Nota

Certifique-se de que os usuários em seus locatários de gerenciamento receberam as funções necessárias para gerenciar espaços de trabalho do Log Analytics em suas assinaturas de cliente delegadas.

Criar espaços de trabalho do Log Analytics

Para coletar dados, você precisará criar espaços de trabalho do Log Analytics. Esses espaços de trabalho do Log Analytics são ambientes exclusivos para dados coletados pelo Azure Monitor. Cada área de trabalho tem o seu próprio repositório de dados e configuração e as origens de dados e soluções são configuradas para armazenar os dados numa área de trabalho específica.

Recomendamos a criação desses espaços de trabalho diretamente nos locatários do cliente. Desta forma, os seus dados permanecem nos seus inquilinos em vez de serem exportados para os seus. A criação dos espaços de trabalho nos locatários do cliente permite o monitoramento centralizado de quaisquer recursos ou serviços suportados pelo Log Analytics, oferecendo mais flexibilidade sobre os tipos de dados que você monitora. Os espaços de trabalho criados em locatários de clientes são necessários para coletar informações de configurações de diagnóstico.

Gorjeta

Qualquer conta de automação usada para acessar dados de um espaço de trabalho do Log Analytics deve ser criada no mesmo locatário do espaço de trabalho.

Você pode criar um espaço de trabalho do Log Analytics usando o portal do Azure, usando modelos do Azure Resource Manager ou usando o Azure PowerShell.

Importante

Se todos os espaços de trabalho forem criados em locatários de clientes, os provedores de recursos do Microsoft.Insights também deverão ser registrados em uma assinatura no locatário de gerenciamento. Se seu locatário de gerenciamento não tiver uma assinatura existente do Azure, você poderá registrar o provedor de recursos manualmente usando os seguintes comandos do PowerShell:

$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

Implantar políticas que registram dados

Depois de criar seus espaços de trabalho do Log Analytics, você pode implantar a Política do Azure em suas hierarquias de cliente para que os dados de diagnóstico sejam enviados para o espaço de trabalho apropriado em cada locatário. As políticas exatas que você implanta podem variar, dependendo dos tipos de recursos que você deseja monitorar.

Para saber mais sobre como criar políticas, consulte Tutorial: Criar e gerenciar políticas para impor a conformidade. Esta ferramenta da comunidade fornece um script para ajudá-lo a criar políticas para monitorar os tipos de recursos específicos que você escolher.

Depois de determinar quais políticas implantar, você poderá implantá-las em suas assinaturas delegadas em escala.

Analise os dados recolhidos

Depois de implantar suas políticas, os dados serão registrados nos espaços de trabalho do Log Analytics criados em cada locatário do cliente. Para obter informações sobre todos os clientes gerenciados, você pode usar ferramentas como as Pastas de Trabalho do Azure Monitor para coletar e analisar informações de várias fontes de dados.

Consultar dados em espaços de trabalho de clientes

Você pode executar consultas de log para recuperar dados em espaços de trabalho do Log Analytics em diferentes locatários de clientes criando uma união que inclui vários espaços de trabalho. Ao incluir a coluna TenantID, você pode ver quais resultados pertencem a quais locatários.

A consulta de exemplo a seguir cria uma união na tabela AzureDiagnostics entre espaços de trabalho em dois locatários de cliente separados. Os resultados mostram as colunas Category, ResourceGroup e TenantID.

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

Para obter mais exemplos de consultas em vários espaços de trabalho do Log Analytics, consulte Criar uma consulta de log em vários espaços de trabalho e aplicativos no Azure Monitor.

Importante

Se você usar uma conta de automação usada para consultar dados de um espaço de trabalho do Log Analytics, essa conta de automação deverá ser criada no mesmo locatário do espaço de trabalho.

Ver alertas entre clientes

Pode ver alertas para subscrições delegadas nos inquilinos de clientes que gere.

A partir do seu inquilino gestor, pode criar, ver e gerir alertas de registo de atividades no portal do Azure ou através de APIs e ferramentas de gestão.

Para atualizar alertas automaticamente em vários clientes, use uma consulta do Gráfico de Recursos do Azure para filtrar alertas. Você pode fixar a consulta em seu painel e selecionar todos os clientes e assinaturas apropriados. Por exemplo, a consulta abaixo exibirá alertas de gravidade 0 e 1, atualizando a cada 60 minutos.

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)

Próximos passos