Supervisión de los recursos delegados a escala

Como proveedor de servicios, es posible que haya incorporado varios inquilinos de cliente para Azure Lighthouse. Azure Lighthouse permite a los proveedores de servicios realizar operaciones a escala a través de varios inquilinos a la vez, lo que hace que las tareas de administración sean más eficaces.

En este tema se muestra cómo usar los registros de Azure Monitor de forma eficaz y escalable en los inquilinos del cliente que está administrando. Aunque en este tema hacemos referencia a proveedores de servicios y clientes, esta guía es aplicable también a empresas que usan Azure Lighthouse para administrar varios inquilinos.

Nota

Asegúrese de que se han concedido a los usuarios de los inquilinos de administración los roles necesarios para administrar las áreas de trabajo de Log Analytics en las suscripciones de clientes delegados.

Creación de áreas de trabajo de Log Analytics

Para recopilar datos, deberá crear áreas de trabajo de Log Analytics. Estas áreas de trabajo de Log Analytics son entornos únicos para los datos que recopila Azure Monitor. Cada área de trabajo tiene su propio repositorio de datos y configuración, y las soluciones y orígenes de datos están configurados para almacenar sus datos en una determinada área de trabajo.

Se recomienda crear estas áreas de trabajo directamente en los inquilinos del cliente. De esta forma, los datos permanecen en sus respectivos inquilinos en lugar de exportarse al suyo. La creación de áreas de trabajo en los inquilinos del cliente permite la supervisión centralizada de los recursos o servicios que admite Log Analytics, lo que le proporciona más flexibilidad respecto a los tipos de datos que supervisa. Las áreas de trabajo creadas en inquilinos de cliente son necesarias para recopilar información de la configuración de diagnóstico.

Sugerencia

Cualquier cuenta de Automation usada para acceder a los datos de un área de trabajo de Log Analytics debe crearse en el mismo inquilino que el área de trabajo.

Para crear un área de trabajo de Log Analytics, puede usar Azure Portal, plantillas de Azure Resource Manager o Azure PowerShell.

Importante

Si todas las áreas de trabajo se crean en los inquilinos del cliente, los proveedores de recursos de Microsoft.Insights también deben registrarse en una suscripción del inquilino 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 sus áreas de trabajo de Log Analytics, puede implementar Azure Policy en las jerarquías del cliente para que los datos de diagnóstico se envíen al área de trabajo correspondiente en cada inquilino. Las directivas exactas implementadas pueden variar en función de los tipos de recursos que quiera supervisar.

Para obtener más información acerca de la creación de directivas, vea Tutorial: Creación y administración de directivas para aplicar el cumplimiento. Esta herramienta de la comunidad proporciona un script para ayudarle a crear directivas para supervisar los tipos de recursos específicos que elija.

Cuando haya determinado las directivas que se van a implementar, puede implementarlas en las suscripciones delegadas a escala.

Análisis de los datos recopilados

Una vez implementadas las directivas, los datos se registrarán en las áreas de trabajo de Log Analytics que ha creado en cada inquilino del cliente. Para obtener información sobre todos los clientes administrados, puede usar herramientas como Libros de Azure Monitor para recopilar y analizar información de varios orígenes de datos.

Consulta de datos entre áreas de trabajo de los clientes

Puede ejecutar consultas de registro para recuperar datos entre áreas de trabajo de Log Analytics en distintos inquilinos de clientes 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 que funcionan en varias áreas de trabajo de Log Analytics, consulte Creación de una consulta de registro en varias áreas de trabajo y aplicaciones en Azure Monitor.

Importante

Si se emplea una cuenta de Automation usada para consultar datos de un área de trabajo de Log Analytics, la cuenta debe crearse en el mismo inquilino 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, en la consulta siguiente se mostrarán las alertas de gravedad 0 y 1, que se actualizan 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