Compartir a través de


Supervisión de los recursos delegados a escala

Como proveedor de servicios, puede agregar clientes inquilinos a Azure Lighthouse. Con Azure Lighthouse, los proveedores de servicios pueden realizar operaciones a gran escala en varios inquilinos a la vez, lo que hace que las tareas de administración sean más eficaces.

En este artículo se muestra cómo usar los registros de Azure Monitor de forma escalable en los inquilinos del cliente que administra. Aunque en este artículo se hace referencia a proveedores de servicios y clientes, esta guía también se aplica a las empresas que usan Azure Lighthouse para administrar varios inquilinos.

Nota

Asegúrese de que los usuarios del inquilino de administración tienen los roles necesarios para administrar áreas de trabajo de Log Analytics en las suscripciones de cliente delegadas.

Creación de áreas de trabajo de Log Analytics

Para recopilar datos, debe crear áreas de trabajo de Log Analytics. Estas áreas de trabajo son entornos únicos para los datos recopilados por Azure Monitor. Cada área de trabajo tiene su propio repositorio de datos y configuración. Configuras orígenes de datos y soluciones para almacenar sus datos en un espacio de trabajo determinado.

Se recomienda crear estas áreas de trabajo directamente en los arrendatarios del cliente, de modo que sus datos se queden en sus arrendatarios en lugar de exportarse a los suyos. Al crear áreas de trabajo en entornos de clientes, puede monitorizar de manera centralizada los recursos o servicios admitidos por Log Analytics. Este enfoque proporciona más flexibilidad sobre los tipos de datos que supervisa. Para recopilar información de la configuración de diagnóstico, se deben crear áreas de trabajo en los inquilinos del cliente.

Sugerencia

Cualquier cuenta de Automation que acceda a los datos de un área de trabajo de Log Analytics debe crearse en el mismo tenant que el área de trabajo.

Puede crear un área de trabajo de Log Analytics mediante Azure Portal, PowerShell, la CLI de Azure, Bicep o plantillas de ARM.

Importante

Si solo crea áreas de trabajo en tenencias de clientes, también debe registrar los proveedores de recursos de Microsoft.Insights en una suscripción en la tenencia de administración. Si el inquilino de administración no tiene una suscripción a Azure existente, puede registrar el proveedor de recursos de manera manual con los comandos de PowerShell siguientes:

$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

Implementación de directivas que registran datos

Después de crear los espacios de trabajo de Log Analytics, use Azure Policy en las jerarquías de clientes para enviar datos de diagnóstico al espacio de trabajo adecuado en cada arrendatario. Las directivas exactas que implemente pueden variar, en función de los tipos de recursos que quiera supervisar.

Para obtener más información sobre la creación de directivas, consulte Tutorial: Creación y administración de directivas para aplicar el cumplimiento. Para que un script le ayude a crear directivas para supervisar los tipos de recursos específicos que elija, pruebe esta herramienta de la comunidad.

Una vez que determine qué directivas implementar, impleméntelas en las suscripciones delegadas a gran escala.

Análisis de los datos recopilados

Después de implementar las directivas, las áreas de trabajo de Log Analytics que creó en cada entorno del cliente comienzan a registrar datos. Para obtener información sobre todos los clientes administrados, use herramientas como Libros de Azure que recopilan y analizan información de varios orígenes de datos.

Consulta de datos entre áreas de trabajo de los clientes

Use consultas de registro para recuperar datos en áreas de trabajo de Log Analytics en distintos inquilinos del cliente mediante la creación de una unión que incluya varias áreas de trabajo. Al incluir la columna TenantID, puede ver qué resultados pertenecen a cada inquilino.

En la consulta de ejemplo siguiente se crea en la tabla AzureDiagnostics una unión entre áreas de trabajo en dos inquilinos de cliente independientes. Los resultados muestran las columnas Category, ResourceGroup y TenantID.

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

Para obtener más ejemplos de consultas en varias áreas de trabajo de Log Analytics, consulte Consulta de datos en áreas de trabajo, aplicaciones y recursos de Log Analytics en Azure Monitor.

Importante

Si utiliza una cuenta de automatización para consultar datos de un área de trabajo de Log Analytics, esa cuenta de automatización debe estar en el mismo tenant que el área de trabajo.

Visualización de alertas entre clientes

Puede ver las alertas que proceden de las suscripciones delegadas de los inquilinos de clientes que administra. Desde el inquilino de administración, puede crear, ver y administrar las alertas del registro de actividad en Azure Portal o a través de las API y las herramientas de administración.

Para actualizar las alertas automáticamente entre varios clientes, use una consulta de Azure Resource Graph para filtrar las alertas. Puede anclar la consulta al panel y seleccionar todos los clientes y suscripciones adecuados.

Por ejemplo, la consulta siguiente muestra alertas con gravedad 0 y 1, actualizando 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)

Pasos siguientes