Compartilhar via

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

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

高级功能

需要专用群集的功能:

  • 客户管理的密钥 - 使用自己提供和控制的密钥对数据进行加密
  • Double encryption - 数据的额外加密层。
  • 跨查询优化 - 跨工作区查询在同一群集上运行时,查询速度更快。
  • 成本优化 - 将同一区域中的工作区链接到群集,并享受从所有链接工作区引入的数据的承诺层折扣。
  • Availability zones - 通过位于不同物理位置的数据中心保护您的数据,这些数据中心配备独立的电力、冷却和网络设施。 Azure Monitor可用性区域涵盖服务更广泛的部分,并在区域中可用时自动扩展Azure Monitor复原能力。 默认情况下,Azure Monitor将专用群集创建为已启用可用性区域(isAvailabilityZonesEnabled:“true”)。 目前,并非所有区域都支持专用集群可用性区域

群集定价模型

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/*权限的Log Analytics贡献者内置角色
解除群集与工作区的关联 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”时,在群集创建过程中自动生成。 稍后可使用此标识来授予 Key Vault 的存储访问权限,以便进行密钥包装和解包操作。

      群集的 REST 调用中的标识

      {
        "identity": {
          "type": "SystemAssigned"
          }
      }
      
    • 用户分配的托管身份 - 允许在群集创建时配置客户管理的密钥,并在群集创建之前在密钥库中授予其权限。

      群集的 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门户中的Log Analytics专用群集菜单中单击创建。 系统会提示你提供详细信息,例如群集名称和承诺层级。

在 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门户中的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、1000、2000、5000、10000、25000 或 50000 GB/天。 无需提供完整的 REST 请求正文,但必须包含 SKU。

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

在 Azure 门户中的 Log Analytics 专用群集 菜单中选择您的群集,然后点击 更改,位于 承诺层级 旁边。

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

Warning

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

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

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

Note

  • 仅限在一个月内对特定工作区执行两个链接操作,以防止跨群集分配数据。 如果达到限制,请联系支持人员。
  • 未链接的工作区将移动到即用即付定价层级。

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

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

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

删除群集

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

应谨慎执行群集删除操作,因为该操作不可恢复。 从连接工作区引入到群集的所有数据都会被永久删除。

群集的计费在删除群集时停止,而不考虑群集中定义的 31 天承诺期。

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

Note

  • 每个订阅和地区最多可以有七个集群,其中有五个处于活动状态,另外两个则需是在过去两周内删除的。
  • 删除后两周,群集的名称将保留,不能用于创建新群集。

使用以下命令删除群集:

从 Azure 门户中的 Log Analytics 专用群集菜单中选择群集,然后单击 Delete

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

更改托管标识类型

创建群集后,可以更改标识类型,且不会中断引入或查询,但有以下注意事项:

  • 将 SystemAssigned 更新为 UserAssigned - 首先在 Key Vault 中授予 UserAssigned 标识,然后在群集中更新标识类型
  • 将 UserAssigned 更新为 SystemAssigned - 当将群集标识类型更新为 SystemAssigned 后,创建了系统分配的托管身份,因此必须执行以下步骤:
    1. 更新群集以删除密钥 - 将 keyVaultUri、keyName 和 keyVersion 设置为值“”
    2. 将群集身份类型更新为 SystemAssigned
    3. 更新密钥保管库并授予权限给该标识。
    4. 更新专用群集中的密钥

限制和约束

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

  • 每个订阅和区域最多允许 7 个群集,5 个处于活动状态,以及在过去 2 周内删除的 2 个群集。

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

  • 在 30 天内最多允许对特定工作区进行两次工作区链接操作。

  • 当前不支持将群集移到另一个资源组或订阅。

  • 不支持将群集移到另一个区域。

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

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

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

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

Troubleshooting

  • 如果在创建群集时遇到冲突错误,则可能是在过去 2 周内删除了它,并且现在仍处在删除过程中。 群集名称在 2 周删除期间保持保留状态,并且无法创建具有该名称的新群集。

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

  • 部分操作较为耗时,可能需要一段时间才能完成。 这些操作包括群集创建群集密钥更新群集删除。 可以通过向群集或工作区发送 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、1000、2000、5000、10000、25000、50000 GB/天。
  • 400 - 容量锁定 30 天。 更新后 30 天内允许减少容量。
  • 400 - 未设置 SKU。 将 SKU 名称设置为 capacityReservation 并将容量值设置为 100、200、300、400、500、1000、2000、5000、10000、25000 或 50000 GB/天。
  • 400 -- 现在无法执行操作。 异步操作处于非成功状态。 群集必须完成其操作,才能执行任意更新操作。

群集更新

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

群集获取

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

群集删除

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

后续步骤