你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

MMA 发现和删除实用工具

将计算机迁移到 Azure Monitor 代理 (AMA) 后,需要删除 Log Analytics 代理(也称为 Microsoft 管理代理或 MMA),以避免日志重复。 Azure 租户安全解决方案 (AzTS) MMA 发现和删除实用工具可以从租户的 Azure 虚拟机 (VM)、Azure 虚拟机规模集和 Azure Arc 服务器中集中删除 MMA 扩展。

注意

此实用工具用于发现和移除 MMA 扩展。 这不会移除 OMS 扩展,需要运行清除 Linux 代理中的清除脚本来手动移除 OMS

该实用工具按两个步骤工作:

  1. 发现:该实用工具会创建已安装 MMA 的所有计算机的清单。 建议在运行实用工具时不要创建具有 MMA 扩展的任何新 VM、虚拟机规模集或 Azure Arc 服务器。

  2. 删除:该实用工具会选择装有 MMA 和 AMA 的计算机,并删除 MMA 扩展。 可以在验证计算机列表后禁用此步骤并运行它。 可以选择从只有 MMA 的计算机中删除扩展,但我们建议先将所有依赖项迁移到 AMA,然后删除 MMA。

先决条件

使用 PowerShell 扩展Visual Studio Code 中执行所有安装步骤。 您需要:

  • Windows 10 或更高版本,或 Windows Server 2019 或更高版本。
  • PowerShell 5.0 或更高版本。 通过运行 $PSVersionTable 来查看版本。
  • PowerShell。 语言必须设置为 FullLanguage 模式。 通过在 PowerShell 中运行 $ExecutionContext.SessionState.LanguageMode 来检查模式。 有关详细信息,请参阅 PowerShell 参考
  • Bicep。 安装脚本使用 Bicep 自动进行安装。 通过运行 bicep --version 检查安装。 有关详细信息,请参阅安装 Bicep 工具
  • 用户分配的托管标识,它对目标作用域具有读取者虚拟机参与者Azure Arc ScVmm VM 参与者访问权限。
  • 一个新资源组,用于包含安装自动化自动创建的所有 Azure 资源。
  • 对已配置的作用域具有适当权限。 若要向修正用户分配的托管标识授予对目标作用域具有的上述角色,必须具有用户访问管理员所有者权限。 例如,如果要为特定订阅配置安装程序,则必须对该订阅具有用户访问管理员角色分配,以便脚本可以为修正用户分配的托管标识提供权限。

创建的资源

删除工具会创建一个资源组,并创建以下存储库来管理代理的删除。 其中一些可能产生 Azure 成本。

下载部署包

部署包包含:

  • Bicep 模板,其中包含在安装过程中创建的资源配置详细信息。
  • 部署安装脚本,它提供用于运行安装的 cmdlet。

安装此包:

  1. 转到 AzTS-docs GitHub 存储库。 将部署包文件 AzTSMMARemovalUtilityDeploymentFiles.zip 下载到本地计算机。

  2. 将 .zip 文件提取到本地文件夹位置。

  3. 使用此脚本取消阻止文件:

    Get-ChildItem -Path "<Extracted folder path>" -Recurse | Unblock-File 
    

设置实用工具

  1. 转到部署文件夹并加载合并的安装脚本。 你必须对订阅具有所有者访问权限。

    CD "<LocalExtractedFolderPath>\AzTSMMARemovalUtilityDeploymentFiles"
    . ".\MMARemovalUtilityConsolidatedSetup.ps1"
    
  2. 使用以下 PowerShell 命令登录到 Azure 帐户:

    $TenantId = "<TenantId>"
    Connect-AzAccount -Tenant $TenantId
    
  3. 运行安装脚本以执行以下操作:

    • 安装所需的 Az 模块。
    • 设置修正用户分配的托管标识。
    • 根据用户首选项提示并收集使用情况遥测收集的载入详细信息。
    • 创建或更新资源组。
    • 使用分配的托管标识创建或更新资源。
    • 创建或更新监视仪表板。
    • 配置目标作用域。
    $SetupInstallation = Install-AzTSMMARemovalUtilitySolutionConsolidated `
             -RemediationIdentityHostSubId <MIHostingSubId> `
             -RemediationIdentityHostRGName <MIHostingRGName> `
             -RemediationIdentityName <MIName> `
             -TargetSubscriptionIds @("<SubId1>","<SubId2>","<SubId3>") `
             -TargetManagementGroupNames @("<MGName1>","<MGName2>","<MGName3>") `
             -TenantScope `
             -SubscriptionId <HostingSubId> `
             -HostRGName <HostingRGName> `
             -Location <Location> `
             -AzureEnvironmentName <AzureEnvironmentName>
    

    该脚本包含以下参数:

    参数名称 说明 必须
    RemediationIdentityHostSubId 用于创建修正资源的订阅 ID。
    RemediationIdentityHostRGName 用于创建修正的新资源组名称。 默认为 AzTS-MMARemovalUtility-RG
    RemediationIdentityName 修正托管标识的名称。
    TargetSubscriptionIds 要在其上运行的目标订阅 ID 的列表。
    TargetManagementGroupNames 要运行的目标管理组名称的列表。
    TenantScope 通过租户 ID 分配角色的租户作用域。
    SubscriptionId 在其中安装安装程序的订阅 ID。
    HostRGName 在其中创建修正托管标识的新资源组的名称。 默认值为 AzTS-MMARemovalUtility-Host-RG
    Location 在其中创建安装程序的位置域控制器。 默认值为 EastUS2
    AzureEnvironmentName 安装解决方案的 Azure 环境:AzureCloudAzureGovernmentCloud。 默认值为 AzureCloud

运行实用工具

Update-AzTSMMARemovalUtilityDiscoveryTrigger ` 
    -SubscriptionId <HostingSubId> `
    -ResourceGroupName <HostingRGName> `
    -StartScopeResolverAfterMinutes 60 `
    -StartExtensionDiscoveryAfterMinutes 30 

该脚本包含以下参数:

参数名称 说明 必须
SubscriptionId 在其中安装了实用工具的订阅 ID。
ResourceGroupName 在其中安装了实用工具的资源组的名称。
StartScopeResolverAfterMinutes 在运行解析程序之前等待的时间(以分钟为单位)。 是(与 -StartScopeResolverImmediately 互斥)
StartScopeResolverImmediately 用于立即运行解析程序的指示器。 是(与 -StartScopeResolverAfterMinutes 互斥)
StartExtensionDiscoveryAfterMinutes 等待运行发现的时间(以分钟为单位)(应在解析程序完成之后)。 是(与 -StartExtensionDiscoveryImmediatley 互斥)
StartExtensionDiscoveryImmediatley 用于立即运行扩展发现的指示器。 是(与 -StartExtensionDiscoveryAfterMinutes 互斥)