将工作区配置转换为 DCR 配置

Azure Monitor 代理依赖数据收集规则 (DCR) 进行配置,而 Log Analytics 代理则是从 Log Analytics 工作区继承其配置

工作区配置到 DCR 配置生成器是一个 PowerShell,它根据工作区中存在的 MMA 配置从工作区中读取配置,生成多个 DCR ARM 模板。

先决条件

  • 建议使用 PowerShell 7.1.3 或更高版本(最低版本 5.1)
  • 拉取工作区代理配置信息 Az PowerShell 模块的 Az PowerShell 模块。 要安装 Az PowerShell 模块,请参阅在 Windows 上安装 Azure PowerShell 模块
  • 对指定的工作区资源的读/写访问权限

安装和执行

从 Git 中心下载 PowerShell 脚本

该脚本会从工作区检索旧代理配置的配置,并为指定输出文件夹中每个受支持的 DCR 类型生成 DCR ARM 模板。 可以创建多个模板(每个 DCR 类型一个)。

对于配置了数据收集的多个工作区,必须为每个工作区运行该脚本。 IIS 将脚本记录为该配置的一部分,还会创建一个额外的数据收集角色。

脚本完成后,它会提示测试环境中模板的部署。 选择允许它为你部署模板,或将模板存储在指定的输出文件夹

注意

该脚本不会将 DCR 与工作区相关联。 必须创建自己的数据收集规则关联 (DCRA),才能将 DCR 与相关服务器相关联。 这样,你就可以控制 DCR 到服务器的部署,并在大规模部署之前在示例服务器上测试 DCR。

若要运行脚本,请复制以下命令,并将参数替换为你的值:

	.\WorkspaceConfigToDCRMigrationTool.ps1 -SubscriptionId $subId -ResourceGroupName $rgName -WorkspaceName $workspaceName -DCRName $dcrName -OutputFolder $outputFolderPath

脚本参数

名称 必需 说明
SubscriptionId 工作区的订阅 ID
ResourceGroupName 工作区的资源组
WorkspaceName 工作区名称(Azure 资源 ID 不区分大小写)
DCRName 将用于每个输出 DCR 的基础名称
OutputFolder NO 输出文件夹路径。 如果未提供,则使用工作目录路径

输出:

  • 对于每个受支持的 DCR type,脚本将生成 DCR ARM 模板(准备好部署)和 DCR 有效负载(对于不需要 ARM 模板的用户)。

当前受支持的 DCR 类型:

  • Windows 仅包含 WindowsPerfCountersWindowsEventLogs 数据源
  • Linux 仅包含 LinuxPerfCountersSyslog 数据源
  • 自定义日志仅包含 logFiles 数据源
  • IIS 日志仅包含 iisLogs 数据源
  • DependencyAgent 扩展
  • 扩展仅包含 extensions 数据源以及任何关联的 perfCounters 数据源
    • VMInsights

部署

有关部署 DCR 的信息,请参阅 Azure Monitor 中的数据收集规则在 Azure Monitor 中创建和编辑数据收集规则 (DCR)

警告

不应使用 MMA 代理使用的现有自定义日志表。 一旦第一个 AMA 代理写入表,MMA 代理将无法写入表。 你应为 AMA 创建一个新表,以防止 MMA 数据丢失。

后续步骤