作为服务提供商,可以将客户租户加入 Azure Lighthouse。 通过使用 Azure Lighthouse,服务提供商可以一次性跨多个租户大规模执行作,使管理任务更高效。
本文介绍如何在所管理的客户租户中以可缩放的方式使用 Azure Monitor 日志 。 虽然本文指服务提供商和客户,但本指南也适用于 使用 Azure Lighthouse 管理多个租户的企业。
注意
确保管理租户中的用户具备管理客户委托订阅中 Log Analytics 工作区所需的角色。
创建 Log Analytics 工作区
若要收集数据,需要创建 Log Analytics 工作区。 这些工作区是 Azure Monitor 收集的数据的独特环境。 每个工作区都有其自己的数据存储库和配置。 配置数据源和解决方案以将其数据存储在特定工作区中。
我们建议直接在客户租户中创建这些工作区,以便其数据保留在租户中,而不是导出到你的租户中。 在客户租户中创建工作区时,可以集中监视 Log Analytics 支持的任何资源或服务。 此方法使你能够更灵活地了解所监视的数据类型。 若要从 诊断设置中收集信息,必须在客户租户中创建工作区。
提示
从 Log Analytics 工作区访问数据的任何自动化帐户必须在与该工作区相同的租户中创建。
可以使用 Azure 门户、PowerShell、Azure CLI、Bicep 或 ARM 模板 创建 Log Analytics 工作区 。
重要
如果仅在客户租户中创建工作区,则还必须在管理租户中的订阅上 注册 Microsoft.Insights 资源提供程序。 如果你的管理租户没有现有的 Azure 订阅,可以使用以下 PowerShell 命令手动注册资源提供程序:
$ManagingTenantId = "your-managing-Azure-AD-tenant-id"
# Authenticate as a user with admin rights on the managing tenant
Connect-AzAccount -Tenant $ManagingTenantId -Environment AzureChinaCloud
# 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
部署记录数据的策略
创建 Log Analytics 工作区后,在客户层次结构中使用 Azure Policy 将诊断数据发送到每个租户中的相应工作区。 部署的确切策略可能会有所不同,具体取决于要监视的资源类型。
有关创建策略的详细信息,请参阅 教程:创建和管理策略以强制实施合规性。 若要使脚本帮助你创建策略来监视所选的特定资源类型,请尝试使用此 社区工具。
确定要部署的策略后,大规模地将其部署到委派订阅。
分析收集的数据
部署策略后,在每个客户租户中创建的 Log Analytics 工作区将开始记录数据。 请使用 Azure 工作簿 等工具,从多个数据源收集并分析信息,以获取对所有托管客户的洞察。
跨客户工作区查询数据
通过创建包含多个工作区的联合,使用 日志查询 在不同客户租户中的 Log Analytics 工作区中检索数据。 通过包含 TenantID 列,可以查看哪些结果属于哪些租户。
以下示例查询在 AzureDiagnostics 表上跨两个单独客户租户中的工作区创建并集。 结果会显示 Category、ResourceGroup 和 TenantID 列。
union AzureDiagnostics,
workspace("WS-customer-tenant-1").AzureDiagnostics,
workspace("WS-customer-tenant-2").AzureDiagnostics
| project Category, ResourceGroup, TenantId
有关跨多个 Log Analytics 工作区的查询的更多示例,请参阅 Azure Monitor 中 Log Analytics 工作区、应用程序和资源的查询数据。
重要
如果使用自动化帐户从 Log Analytics 工作区查询数据,该自动化帐户必须与工作区位于同一租户中。
跨客户查看警报
可以在你管理的客户租户中查看委派订阅的警报。 在你管理的租户中,你可以通过 Azure 门户或 API 和管理工具来创建、查看和管理活动日志警报。
若要跨多个客户自动刷新警报,请使用 Azure Resource Graph 查询来筛选警报。 可以将查询固定到仪表板,并选择所有相应的客户和订阅。
例如,以下查询显示严重性为 0 和 1 的警报,每 60 分钟刷新一次。
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)
后续步骤
- 尝试使用 GitHub 中的按域分类的活动日志工作簿。
- 探索此 MVP 生成的示例工作簿,该工作簿通过跨多个 Log Analytics 工作区 查询 Azure 更新管理器数据 来跟踪修补程序符合性报告。
- 了解通过 Azure Lighthouse 启用的其他 跨租户管理体验 。