在Azure Monitor日志中创建和管理专用群集

Azure Monitor 中的专用群集提供高级安全性和控制功能和成本优化。 可以将新工作区或现有工作区链接到专用群集,而无需中断引入和查询作。

高级功能

Azure监视器日志是一项完全托管的云规模服务,旨在自动处理大型和波动工作负荷的引入、索引和查询。 其基础引擎采用内置机制来优化查询执行、分发处理,并自动无缝缩放资源,而无需用户干预。 此高性能服务是构建默认 Log Analytics 工作区或 共享群集的框架。 创建 专用群集时,将解锁以下附加功能:

  • 客户管理的密钥 - 使用提供和控制的密钥加密数据。
  • Double encryption - 数据的额外加密层。
  • 跨工作区优化 - 在同一群集上时,跨工作区查询运行速度更快。
  • 成本优化 - 将同一区域中的工作区链接到群集,并享受从所有链接工作区引入的数据的承诺层折扣。
  • Availability zones - 通过位于不同物理位置的数据中心保护您的数据,这些数据中心配备独立的电力、冷却和网络设施。 Azure Monitor availability zones会自动增强您的Azure监视器的复原能力。 Azure Monitor 在所有支持可用性区域的地区中默认启用专用于可用性区域的专用群集(isAvailabilityZonesEnabled:"true")。 可用性区域支持的区域 包括对专用群集和共享群集的支持。

Note

专用群集并不是提高所有查询速度的一般方法。 与任何大型分析系统一样,跨非常大的数据集运行查询需要额外的计算资源,并可能会影响查询性能。 为了提高查询性能,超越专用群集的跨工作区优化, 请优化查询。 此策略特别适用于大型数据集,在长时间查询时尤其有效。

群集定价模型

Log Analytics专用群集使用承诺层定价模型,从每天 100 GB 开始。 超出承诺层级别的数据摄入量将按每 GB 费率收费。 可以随时增加承诺层,但承诺期为 31 天,然后才能减少。 有关承诺层的详细信息,请参阅 Azure Monitor 日志定价详细信息

群集 计费类型 有两个可能的值:

  • 群集(默认)- 群集的成本归属于群集资源。
  • 工作区 - 群集的成本按比例归属于群集中的工作区,如果一天中的引入数据总量低于承诺层级,则会向群集资源的部分使用量进行计费。 有关群集定价模型的详细信息,请参阅 Log Analytics 专用群集

所需的权限

若要执行与群集相关的操作,需要以下权限:

Action 所需的权限或角色
创建专用群集 Microsoft.Resources/deployments/*Microsoft.OperationalInsights/clusters/write 权限,例如由 Log Analytics 贡献者内置角色 提供
更改群集属性 Microsoft.OperationalInsights/clusters/write 权限,例如由“Log Analytics Contributor”内置角色提供
将工作区链接到群集 Microsoft.OperationalInsights/clusters/writeMicrosoft.OperationalInsights/workspaces/writeMicrosoft.OperationalInsights/workspaces/linkedservices/write 权限,例如由Log Analytics 参与者内置角色提供的权限为例
检查工作区链接状态 Microsoft.OperationalInsights/workspaces/read访问工作区的权限,例如,内置角色中的Log Analytics读取者
获取群集或检查群集的预配状态 Microsoft.OperationalInsights/clusters/read 权限,例如由 日志分析读取者内置角色 提供的权限
更新群集中的承诺层级或计费类型 Microsoft.OperationalInsights/clusters/write 权限,例如由“Log Analytics Contributor”内置角色提供
授予所需权限 具有*/write权限的所有者或贡献者角色,或者具有权限的Microsoft.OperationalInsights/*
解除群集与工作区的关联 Microsoft.OperationalInsights/workspaces/linkedServices/delete 权限,例如由“Log Analytics Contributor”内置角色提供
删除专用群集 Microsoft.OperationalInsights/clusters/delete 权限,例如由“Log Analytics Contributor”内置角色提供

有关 Log Analytics 权限的详细信息,请参阅 管理对 Azure Monitor 中的日志数据和工作区的访问

Resource Manager模板示例

本文包括示例 Azure Resource Manager (ARM) 模板,用于在 Azure Monitor 中创建和配置Log Analytics群集。 每个示例都包含模板文件和参数文件,其中包含要提供给模板的示例值。

Note

请参阅 Azure Resource Manager 示例 Azure Monitor,获取可用示例列表,以及有关如何在 Azure 订阅中部署示例的指导。

模板参考

Preparation

创建群集时,群集承诺层计费会立即开始,而不考虑数据引入。 在开始之前,准备好以下项:

  1. 用于创建群集的订阅。
  2. 您希望链接到群集的工作区列表。 这些工作区必须与群集位于同一区域。
  3. 对计费类型和归属的决定,设置为群集(默认值)或按比例分配到连接的工作空间。
  4. 验证您是否具有创建群集和链接工作区的权限。

Note

  • 群集创建和链接工作区是异步作,可能需要几个小时才能完成。
  • 将工作区链接到群集或从群集中取消链接在操作期间不会影响数据引入或查询。

创建专用群集

创建新的专用群集时提供以下属性:

  • ClusterName:对于资源组必须是唯一的。

  • ResourceGroupName:使用中心 IT 资源组,因为组织中的许多团队通常共享群集。 有关更多设计注意事项,请查看 Design Log Analytics 工作区配置

  • 位置

  • SkuCapacity:有效承诺层为 100、200、300、400、500、1000、2000、5000、10000、25000 或每天 50000 GB。 CLI 和部署模板支持的最低承诺层为 500 GB。 使用 REST API 配置低于 500 GB 的承诺层。 有关群集成本的详细信息,请参阅 专用群集

  • 托管标识:群集支持两种 托管标识类型

    • 系统分配的托管标识 - 当标识 type 设置为“SystemAssigned”时,在群集创建过程中自动生成。 使用此标识授予密钥保管库存储访问权限,以进行包装和解包操作。

      群集的 REST 调用中的标识

      {
        "identity": {
          "type": "SystemAssigned"
          }
      }
      
    • 用户分配的托管标识 - 使用此标识,可以在群集创建时在群集创建时配置客户管理的密钥,并在创建群集之前在Key Vault中授予它权限。

      群集的 REST 调用中的标识

      {
      "identity": {
        "type": "UserAssigned",
          "userAssignedIdentities": {
            "subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/UserAssignedIdentities/<cluster-assigned-managed-identity>"
          }
        }  
      }
      

创建群集资源后,可以编辑 skukeyVaultPropertiesbillingType 等属性。 参阅下面的更多详细信息。

删除的群集需要两周时间才能完全移除。 每个订阅和区域最多可以有 7 个群集-5 个活动群集,在过去两周内删除了 2 个群集。

Note

创建群集涉及多个资源,作通常在两小时内完成。 一旦专用群集被设置,无论数据引入如何,都会进行计费。 准备部署以加快预配速度并将工作区链接到群集。 检查下列各项:

  • 确定要关联到群集的初始工作区列表
  • 你有权访问专用于该群集的订阅和所有要关联的工作区

在 Azure portal 的Log Analytics 专用群集菜单中选择Create。 系统会提示输入详细信息,例如群集名称和承诺层。

在 Azure 门户中创建专用群集的截图。

检查群集预配状态

预配 Log Analytics 群集需要一段时间才能完成。 使用以下方法之一检查 ProvisioningState 属性。 值在配置时为创建,在完成后为成功

群集预配期间,门户会提供状态。

Note

  • 仅在门户完成配置 Log Analytics 群集后链接工作区。
  • 将工作区链接到群集会同步多个后端组件和缓存冻结,这通常在两小时内完成。
  • 链接 Log Analytics 工作区时,工作区计费计划将更改为 LACluster。 删除工作区模板中的 SKU,以防止在工作区部署期间发生冲突。
  • 除了群集计划所治理的计费方面之外,所有工作区配置和查询方面在链接期间和之后保持不变。

需要对工作区和群集资源拥有“写入”权限才能执行工作区链接操作。

  • 在工作区中:Microsoft.OperationalInsights/workspaces/write
  • 在群集资源中:Microsoft.OperationalInsights/clusters/write

将 Log Analytics 工作区链接到专用群集后,发送到工作区的新数据将转到专用群集,而以前引入的数据会保留在 Log Analytics 群集中。 链接工作区不会影响工作区操作,包括数据引入和查询体验。 Log Analytics 查询引擎会自动从旧群集和新群集中缝合数据,因此查询结果已完成。

群集是区域群集,最多可以链接到与群集位于同一区域中的 1,000 个工作区。 为了防止数据分裂,每月不能超过两次将工作区链接到群集。

链接工作区可以位于不同于群集所在订阅的其他订阅中。 如果使用 Azure Lighthouse 将两者映射到单个租户,则工作区和群集可以位于不同的租户中。

使用客户管理的密钥(CMK)配置专用群集时,新引入的数据使用密钥进行加密,而旧数据仍使用 Azure 托管密钥(MMK)进行加密。 Log Analytics 将抽象化密钥配置,并无缝执行跨旧数据加密和新数据加密的查询。

使用以下步骤将工作区链接到群集。 你可以自动链接多个工作区:

从Azure portal的 Log Analytics 专用群集菜单中选择群集。 选择 “链接工作区 ”以查看当前链接到专用群集的所有工作区。 选择 “链接工作区 ”以链接其他工作区。

用于将工作区链接到 Azure 门户中专用群集的截图。

工作区链接操作可能最多需要 90 分钟才能完成。 你可以在链接的工作区和群集上查看状态。 完成后,工作区资源包括 clusterResourceId 下的 features 属性,群集在 associatedWorkspaces 部分包含链接工作区。

在使用客户管理的密钥配置群集时,链接操作完成后,所引入的数据会使用您的密钥加密到工作区。

在专用群集的“概览”页上,选择“JSON 视图”associatedWorkspaces 部分列出了链接到群集的工作区。

在 Azure 门户中查看专用集群相关工作区的截图。

更改群集属性

创建群集资源并完全预配后,可以使用 CLI、PowerShell 或 REST API 编辑群集属性。 预配群集后,可以设置以下属性:

  • keyVaultProperties - 包含以下参数的Azure Key Vault中的密钥:KeyVaultUriKeyNameKeyVersion。 请参阅 更新具有密钥标识符详细信息的专用群集
  • Identity - 用于向Key Vault进行身份验证的标识。 此标识可以是系统分配的,也可以是用户分配的。
  • billingType - 群集资源及其数据的计费归属。 包括以下值:
    • 群集(默认)- 群集的成本归属于群集资源。
    • 工作区 - 群集的成本按比例归属于群集中的工作区,如果一天中的引入数据总量低于承诺层级,则会向群集资源的部分使用量进行计费。 有关群集定价模型的详细信息,请参阅 Log Analytics 专用群集

Important

单个群集更新不应在同一操作中包含身份标识和密钥标识符详细信息。 如果需要同时更新两者,请连续两个操作进行更新。

N/A

获取资源组中的所有群集

在 Azure 门户中的 Log Analytics 专用群集菜单中,选择 resource group 筛选器。

用于查看 Azure 门户中某资源组内所有专用群集的截图。

获取订阅中的所有群集

在 Azure 门户中的 Log Analytics 专用群集菜单中,选择 Subscription 筛选器。

在 Azure 门户中查看订阅内所有专用群集的截图。

更新群集中的承诺层级

当链接到链接工作区的数据量随时间而更改时,请更新承诺层级别以优化成本。 以 GB 为单位指定层。 该层的值可以为 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000 或每天 50,000 GB。 无需提供完整的 REST 请求正文,但必须包含 SKU。

在承诺期内,可以更改为更高级别的承诺层级(这将重新开始 31 天的承诺期)。 但在承诺期结束之前,无法返回到即用即付或更低的承诺层级。

从Azure portal的 Log Analytics 专用群集菜单中选择群集。 选择“承诺层”旁边的“更改”

用于在 Azure 门户中更改专用群集的承诺层级别的截图

Warning

取消链接工作区不会将工作区数据移出群集。 工作区在链接到专用群集时收集的任何数据,将根据工作区定义的保留期限保留在群集中,只要群集未被删除,数据就可以访问。

可以随时取消工作区与群集的链接。 当工作区取消链接时的后果如下:

  • 工作区定价层已更改为按每 GB 收费
  • 在取消链接操作之前引入到群集中的数据仍然保留在群集中。
  • 发送到工作区的新数据将导入到工作区,而不是专用群集
  • 取消链接工作区时,查询不会受到影响 - Log Analytics服务无缝执行跨群集查询
  • 如果专用群集配置了客户管理的密钥(CMK),则在链接工作区时引入的数据仍与专用群集中的密钥一起加密,并且只要密钥和Key Vault权限保持不变,即可访问该群集

Note

  • 为了防止数据在集群间分布,您每个月只能对特定工作区执行两次链接操作。 如果达到限制,请联系支持人员。
  • 未链接的工作区会转移至按需付费定价层。

使用以下命令从群集中取消链接工作区:

Log Analytics 专用群集 Azure portal菜单中选择群集。 选择 “链接工作区 ”以查看当前链接到专用群集的所有工作区。 选择要取消链接的任何工作区,然后选择 “取消链接”。

从 Azure 门户取消工作区与专用集群链接的截图。

删除群集

需要对群集资源 具有写入 权限。

请谨慎删除群集。 此操作无法撤销。 来自链接工作区的所有摄取到群集的数据将被永久删除。

删除群集时,群集的计费会停止,无论群集中定义的 31 天承诺期如何。

如果删除具有链接工作区的群集,则工作区会自动从群集取消链接。 它们迁移到按需付费定价层级,发送到工作区的新数据将被导入到 Log Analytics 群集。 可以在工作区链接到群集之前跨时间范围查询工作区,并在取消链接后无缝执行跨群集查询。

Note

  • 每个订阅和区域有 7 个群集的限制:5 个活动群集,以及过去两周内删除的 2 个群集。
  • 删除后两周,群集的名称将保留保留,在此期间,不能将其用于创建新群集。

使用以下命令删除群集:

从Azure portal的 Log Analytics 专用群集菜单中选择群集。 然后选择“删除”。

&&&用于在 Azure 门户中删除专用群集的截图&&&

更改托管标识类型

可以在创建群集后更改标识类型,而不会中断引入或查询。 考虑以下情况:

  • SystemAssigned 更新为 UserAssigned - 在 Key Vault 中授予 UserAssign 标识,然后更新群集中的标识类型。
  • 更新 UserAssignedSystemAssigned - 由于系统分配的托管标识是在更新 SystemAssigned群集标识类型后创建的,请按照以下步骤作:
    1. 更新群集以删除密钥——将keyVaultUrikeyNamekeyVersion设置为值""
    2. 将群集标识类型更新为 SystemAssigned.
    3. 更新 Key Vault 并向标识授予权限。
    4. 更新专用群集中的密钥

限制和约束

  • 每个区域和订阅最多可以创建五个活动群集。

  • 每个订阅和区域最多可以有七个群集:五个活动群集加上过去两周内删除的两个群集。

  • 最多可以将 1,000 个 Log Analytics 工作区链接到群集。

  • 您可以在 30 天内对特定工作区执行最多两个工作区链接操作。

  • 无法将群集移到另一个资源组或订阅。

  • 无法将群集移动到另一个区域。

  • 更新群集时,不应在同一操作中包含身份标识和密钥标识符详细信息。 如果需要同时更新这两项,请执行两个连续的更新操作。

  • 从 2020 年 10 月起,在受支持区域中创建的群集会自动配置双重加密。 可以通过在群集上发送 GET 请求并观察启用了双重加密的群集的 isDoubleEncryptionEnabled 值是否为 true 来验证是否为你的群集配置了双重加密。

    • 如果你创建群集并收到错误“区域名称不支持对群集进行双重加密。”,则你仍可通过在 REST 请求正文中添加 "properties": {"isDoubleEncryptionEnabled": false} 来创建无双重加密的群集。
    • 创建群集后,无法更改双重加密设置。
  • 你可以在工作区链接到群集时删除该工作区。 如果在软删除期间恢复工作区,工作区将返回到其以前的状态,并仍链接到群集。

  • 在承诺期内,可以更改为更高级别的承诺层级(这将重新开始 31 天的承诺期)。 但在承诺期结束之前,无法返回到即用即付或更低的承诺层级。

Troubleshooting

  • 如果在创建群集时遇到冲突错误,群集可能会被删除,仍在删除过程中。 群集名称在两周删除期间保持保留状态,并且无法创建具有该名称的新群集。

  • 如果在群集处于预配或更新状态时更新群集,更新将失败。

  • 部分操作较为耗时,可能需要一段时间才能完成。 这些作包括 群集创建群集密钥更新群集删除。 可以通过向群集或工作区发送 GET 请求并观察响应来检查作状态。 例如,未链接的工作区在功能下没有 clusterResourceId

  • 如果尝试将 Log Analytics 工作区链接到已连接到另一群集的工作区,操作将失败。

错误消息

群集创建

  • 400 -- 群集名称无效。 群集名称可以包含 a-z、A-Z、0-9 和长度为 3-63 的字符。
  • 400 - 请求的正文为 Null 或格式错误。
  • 400 - SKU 名称无效。 将 SKU 名称设置为 CapacityReservation。
  • 400 -- 已提供容量,但 SKU 不是“capacityReservation”。 将 SKU 名称设置为 CapacityReservation。
  • 400 - SKU 容量不足。 将容量值设置为 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 GB/天。
  • 400 - 容量锁定 30 天。 更新后 30 天内允许减少容量。
  • 400 - 未设置 SKU。 将 SKU 名称设置为 capacityReservation,将容量值设置为 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 GB/天。
  • 400 -- 现在无法执行操作。 异步操作处于非成功状态。 群集必须完成其操作,才能执行任意更新操作。

群集更新

  • 400 - 群集处于正在删除状态。 当前异步操作正在进行中。 群集必须完成其操作,才能执行任意更新操作。
  • 400 -- KeyVaultProperties 不为空,但格式错误。 请参阅密钥标识符更新
  • 400- 未能验证Key Vault中的密钥。 可能是由于权限不足或密钥不存在。 验证是否在Key Vault中设置密钥和访问策略
  • 400 -- 密钥不可恢复。 Key Vault必须设置为软删除和清除保护。 请参阅 Key Vault 文档
  • 400 -- 现在无法执行操作。 等待异步操作完成,然后重试。
  • 400 - 群集处于正在删除状态。 等待异步操作完成,然后重试。

群集获取

  • 404 -- 找不到群集,群集可能已删除。 如果尝试创建具有该名称并发生冲突的群集,则群集正在删除过程中。

群集删除

  • 409 - 处于预配状态时无法删除群集。 等待异步操作完成,然后重试。
  • 404 - 找不到工作区。 指定的工作区不存在或已被删除。
  • 409——正在执行工作区链接与取消链接操作。
  • 400 - 找不到群集,指定的群集不存在或已被删除。
  • 404 - 找不到工作区。 指定的工作区不存在或已被删除。
  • 409——正在执行工作区链接与取消链接操作。

后续步骤