在 Azure Monitor 日志中创建和管理专用群集
本文内容
将 Log Analytics 工作区链接到 Azure Monitor 中的专用群集可提供高级功能和更高的查询利用率。 群集要求每天的最低引入承诺为 100 GB。 可以从专用群集链接和取消链接工作区,而不会丢失任何数据或中断服务。
高级功能
需要专用群集的功能:
客户管理的密钥 - 使用提供和控制的密钥对群集数据进行加密。
双重加密 - 可以在其中一种加密算法或密钥可能被泄露的情况下提供保护。 在这种情况下,额外的一层加密会继续保护你的数据。
跨工作区查询优化 - 如果工作区在同一群集上,则跨工作区查询的运行速度更快。
成本优化 - 将同一区域中的工作区链接到群集,以便获取所有工作区的承诺层级折扣,甚至包括那些有资格享受承诺层级折扣的低引入量工作区。
可用性区域 - 依赖于不同物理位置配备了独立的电源、冷却和网络的数据中心,可保护数据免受数据中心故障的影响。 由于工作区可以依赖来自任何区域的资源,因此区域和独立基础设施之间的物理分离大大降低了发生事故的可能性。 Azure Monitor 可用性区域 涵盖服务的更广泛部分,并且你所在区域可用时,它会自动扩展 Azure Monitor 复原能力。 Azure Monitor 在支持的区域中创建专用群集并默认启用可用性区域 (isAvailabilityZonesEnabled
: 'true')。 目前,并非所有区域都支持专用集群可用性区域 。
群集定价模型
Log Analytics 专用群集使用承诺层级定价模型,该模型至少为 100 GB/天。 高于层级别的任何使用都会产生费用,具体取决于该承诺层级的每 GB 费率。 有关专用群集的定价详细信息,请参阅 Azure Monitor 日志定价详细信息 。 从选择承诺层起,承诺层有 31 天的承诺期。
先决条件
专用群集要求每天的最低引入承诺量为 100 GB。
创建专用群集时,不能将其命名为在过去两周内删除的群集的名称。
所需的权限
若要执行与群集相关的操作,需要以下权限:
操作
所需的权限或角色
创建专用群集
例如,Log Analytics 参与者内置角色 提供的 Microsoft.Resources/deployments/*
和 Microsoft.OperationalInsights/clusters/write
权限
更改群集属性
例如,Log Analytics 参与者内置角色 提供的 Microsoft.OperationalInsights/clusters/write
权限
将工作区链接到群集
例如,Log Analytics 参与者内置角色 提供的 Microsoft.OperationalInsights/clusters/write
、Microsoft.OperationalInsights/workspaces/write
和 Microsoft.OperationalInsights/workspaces/linkedservices/write
权限
检查工作区链接状态
例如,Log Analytics 读者内置角色 提供的对工作区的 Microsoft.OperationalInsights/workspaces/read
权限
获取群集或检查群集的预配状态
例如,Log Analytics 读者内置角色 提供的 Microsoft.OperationalInsights/clusters/read
权限
更新群集中的承诺层级或计费类型
例如,Log Analytics 参与者内置角色 提供的 Microsoft.OperationalInsights/clusters/write
权限
授予所需权限
具有 */write
权限的所有者或参与者角色,或具有 Microsoft.OperationalInsights/*
权限的 Log Analytics 参与者内置角色
从群集中取消与工作区的链接
例如,Log Analytics 参与者内置角色 提供的 Microsoft.OperationalInsights/workspaces/linkedServices/delete
权限
删除专用群集
例如,Log Analytics 参与者内置角色 提供的 Microsoft.OperationalInsights/clusters/delete
权限
有关 Log Analytics 权限的更多信息,请参阅管理对 Azure Monitor 中的日志数据和工作区的访问 。
资源管理器模板示例
本文包含用于在 Azure 资源管理器 (ARM) 中创建和配置 Log Analytics 群集的 Azure 资源管理器模板 示例。 每个示例都包含模板文件和参数文件,其中包含要提供给模板的示例值。
注意
有关可用示例的列表以及在 Azure 订阅中部署这些示例的指南,请参阅 Azure Monitor 的 Azure 资源管理器示例 。
模板参考
创建专用群集
新建专用群集时提供以下属性:
ClusterName :对于资源组必须是唯一的。
ResourceGroupName :使用中心 IT 资源组,因为组织中的许多团队通常共享群集。 有关更多设计注意事项,请查看设计 Log Analytics 工作区配置 。
位置
SkuCapacity :可将承诺层设置为 100、200、300、400、500、1000、2000、5000、10000、25000、50000 GB/天。 CLI 中支持的最低承诺层级目前为 500。 使用 REST 配置最小值为 100 的承诺层级。 有关群集成本的详细信息,请参阅专用群集 。
托管标识 :群集支持两种托管标识类型 :
系统分配的托管标识 - 当标识 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>"
}
}
}
创建群集资源后,可以编辑属性,如 sku 、*keyVaultProperties 或 billingType 。 参阅下面的更多详细信息。
删除的群集需要两周时间才能完全移除。 每个订阅和地区最多可以有七个集群,其中有五个处于活动状态,有两个是在过去的两周内删除的。
注意
创建群集涉及多项资源,操作通常在两小时内完成。
专用群集一旦预配就开始计费,不考虑数据引入情况;建议准备部署来更快预配群集并更快将其与工作区关联。 检查下列各项:
确定要关联到群集的初始工作区列表
你有权访问专用于该群集的订阅和所有要关联的工作区
在 Azure 门户的“Log Analytics 专用群集”菜单中单击“创建” 。 系统会提示你提供详细信息,例如群集名称和承诺层级。
注意
CLI 中支持的最低承诺层级目前为 500。 使用 REST 配置最小值为 100 的承诺层级。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster create --no-wait --resource-group "resource-group-name" --name "cluster-name" --location "region-name" --sku-capacity "daily-ingestion-gigabyte"
# Wait for job completion when `--no-wait` was used
$clusterResourceId = az monitor log-analytics cluster list --resource-group "resource-group-name" --query "[?contains(name, 'cluster-name')].[id]" --output tsv
az resource wait --created --ids $clusterResourceId --include-response-body true
注意
PowerShell 中支持的最低承诺层级目前为 500。 使用 REST 配置最小值为 100 的承诺层级。
Select-AzSubscription "cluster-subscription-id"
New-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -Location "region-name" -SkuCapacity "daily-ingestion-gigabyte" -AsJob
# Check when the job is done when `-AsJob` was used
Get-Job -Command "New-AzOperationalInsightsCluster*" | Format-List -Property *
调用
PUT https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"identity": {
"type": "systemAssigned"
},
"sku": {
"name": "capacityReservation",
"Capacity": 100
},
"properties": {
"billingType": "Cluster",
},
"location": "<region>",
}
响应
应为 202(已接受)和一个标头。
下面的示例创建一个新的空 Log Analytics 群集。
@description('Specify the name of the Log Analytics cluster.')
param clusterName string
@description('Specify the location of the resources.')
param location string = resourceGroup().location
@description('Specify the capacity reservation value.')
@allowed([
100
200
300
400
500
1000
2000
5000
])
param CommitmentTier int
@description('Specify the billing type settings. Can be \'Cluster\' (default) or \'Workspaces\' for proportional billing on workspaces.')
@allowed([
'Cluster'
'Workspaces'
])
param billingType string
resource cluster 'Microsoft.OperationalInsights/clusters@2021-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
sku: {
name: 'CapacityReservation'
capacity: CommitmentTier
}
properties: {
billingType: billingType
}
}
参数文件
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"CommitmentTier": {
"value": 500
},
"billingType": {
"value": "Cluster"
}
}
}
下面的示例创建一个新的空 Log Analytics 群集。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "Specify the name of the Log Analytics cluster."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the location of the resources."
}
},
"CommitmentTier": {
"type": "int",
"allowedValues": [
100,
200,
300,
400,
500,
1000,
2000,
5000
],
"metadata": {
"description": "Specify the capacity reservation value."
}
},
"billingType": {
"type": "string",
"allowedValues": [
"Cluster",
"Workspaces"
],
"metadata": {
"description": "Specify the billing type settings. Can be 'Cluster' (default) or 'Workspaces' for proportional billing on workspaces."
}
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/clusters",
"apiVersion": "2021-06-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"sku": {
"name": "CapacityReservation",
"capacity": "[parameters('CommitmentTier')]"
},
"properties": {
"billingType": "[parameters('billingType')]"
}
}
]
}
参数文件
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"CommitmentTier": {
"value": 500
},
"billingType": {
"value": "Cluster"
}
}
}
检查群集预配状态
Log Analytics 群集的预配需要一段时间才能完成。 使用以下方法之一检查 ProvisioningState 属性。 预配进行时此值是 ProvisioningAccount ,预配完成后是 Succeeded 。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster show --resource-group "resource-group-name" --name "cluster-name"
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name"
在群集资源上发送 GET 请求,然后查看 provisioningState 值。 预配进行时此值是 ProvisioningAccount ,预配完成后是 Succeeded 。
GET https://management.chinacloudapi.cn/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name?api-version=2022-10-01
Authorization: Bearer <token>
响应
{
"identity": {
"type": "SystemAssigned",
"tenantId": "tenant-id",
"principalId": "principal-id"
},
"sku": {
"name": "capacityreservation",
"capacity": 100
},
"properties": {
"provisioningState": "ProvisioningAccount",
"clusterId": "cluster-id",
"billingType": "Cluster",
"lastModifiedDate": "last-modified-date",
"createdDate": "created-date",
"isDoubleEncryptionEnabled": false,
"isAvailabilityZonesEnabled": false,
"capacityReservationProperties": {
"lastSkuUpdate": "last-sku-modified-date",
"minCapacity": 100
}
},
"id": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name",
"name": "cluster-name",
"type": "Microsoft.OperationalInsights/clusters",
"location": "cluster-region"
}
创建群集时,托管标识服务会生成 principalId GUID。
将工作区链接到群集
注意
只有在完成 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 专用群集”菜单中选择群集,然后单击“链接的工作区”查看当前链接到专用群集的所有工作区 。 单击“链接工作区”链接其他工作区 。
# Find cluster resource ID
az account set --subscription "cluster-subscription-id"
$clusterResourceId = az monitor log-analytics cluster list --resource-group "resource-group-name" --query "[?contains(name, 'cluster-name')].[id]" --output tsv
# Link workspace
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace linked-service create --no-wait --name cluster --resource-group "resource-group-name" --workspace-name "workspace-name" --write-access-resource-id $clusterResourceId
# Wait for job completion when `--no-wait` was used
$workspaceResourceId = az monitor log-analytics workspace list --resource-group "resource-group-name" --query "[?contains(name, 'workspace-name')].[id]" --output tsv
az resource wait --deleted --ids $workspaceResourceId --include-response-body true
注意
将群集 值用于 LinkedServiceName
。
Select-AzSubscription "cluster-subscription-id"
# Find cluster resource ID
$clusterResourceId = (Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name").id
Select-AzSubscription "workspace-subscription-id"
# Link the workspace to the cluster
Set-AzOperationalInsightsLinkedService -ResourceGroupName "resource-group-name" -WorkspaceName "workspace-name" -LinkedServiceName cluster -WriteAccessResourceId $clusterResourceId -AsJob
# Check when the job is done
Get-Job -Command "Set-AzOperationalInsightsLinkedService" | Format-List -Property *
使用以下 REST 调用链接到群集:
发送
PUT https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>/linkedservices/cluster?api-version=2020-08-01
Authorization: Bearer <token>
Content-type: application/json
{
"properties": {
"WriteAccessResourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/clusters/<cluster-name>"
}
}
响应
202(已接受)和标头。
检查工作区链接状态
工作区链接操作可能最多需要 90 分钟才能完成。 你可以在链接的工作区和群集上查看状态。 完成后,工作区资源将在 features
下包括 clusterResourceId
属性,群集将在 associatedWorkspaces
部分下包括链接的工作区。
使用客户管理的密钥配置群集时,链接操作完成后引入到工作区的数据将使用密钥进行加密存储。
在专用群集的“概览”页上,选择“JSON 视图” 。 associatedWorkspaces
部分列出了链接到群集的工作区。
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace show --resource-group "resource-group-name" --workspace-name "workspace-name"
Select-AzSubscription "workspace-subscription-id"
Get-AzOperationalInsightsWorkspace -ResourceGroupName "resource-group-name" -Name "workspace-name"
调用
GET https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>?api-version=2023-09-01
Authorization: Bearer <token>
响应
{
"properties": {
"source": "Azure",
"customerId": "workspace-name",
"provisioningState": "Succeeded",
"sku": {
"name": "pricing-tier-name",
"lastSkuUpdate": "Tue, 28 Jan 2020 12:26:30 GMT"
},
"retentionInDays": 31,
"features": {
"legacy": 0,
"searchVersion": 1,
"enableLogAccessUsingOnlyResourcePermissions": true,
"clusterResourceId": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name"
},
"workspaceCapping": {
"dailyQuotaGb": -1.0,
"quotaNextResetTime": "Tue, 28 Jan 2020 14:00:00 GMT",
"dataIngestionStatus": "RespectQuota"
}
},
"id": "/subscriptions/subscription-id/resourcegroups/resource-group-name/providers/microsoft.operationalinsights/workspaces/workspace-name",
"name": "workspace-name",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "region"
}
更改群集属性
创建群集资源并对其进行完全预配后,可以使用 CLI、PowerShell 或 REST API 编辑群集属性。 预配群集后可以设置的属性包括:
keyVaultProperties - 包含 Azure 密钥保管库中具有以下参数的密钥:KeyVaultUri 、KeyName 、KeyVersion 。 请参阅为群集更新密钥标识符详细信息 。
标识 - 用于对密钥保管库进行身份验证的标识。 这可以是系统分配的或用户分配的。
billingType - 群集资源及其数据的计费归属。 包括以下值:
群集(默认) - 群集的成本归属于群集资源。
工作区 - 群集的成本按比例归属于群集中的工作区,如果一天中的引入数据总量低于承诺层级,则会向群集资源的部分使用量进行计费。 请参阅 Log Analytics 专用群集 ,以了解有关群集定价模型的更多信息。
重要
群集更新不应在同一个操作中同时包含标识和密钥标识符详细信息。 如果需要对两者进行更新,则更新应为两个连续操作。
以下示例会更新计费类型。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster update --resource-group "resource-group-name" --name "cluster-name" --billing-type {Cluster, Workspaces}
以下示例会更新计费类型。
Select-AzSubscription "cluster-subscription-id"
Update-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -BillingType "Workspaces"
以下示例会更新计费类型。
调用
PATCH https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"properties": {
"billingType": "Workspaces"
},
"location": "region"
}
下面的示例将 Log Analytics 群集更新为使用客户管理的密钥。
@description('Specify the name of the Log Analytics cluster.')
param clusterName string
@description('Specify the location of the resources')
param location string = resourceGroup().location
@description('Specify the key vault name.')
param keyVaultName string
@description('Specify the key name.')
param keyName string
@description('Specify the key version. When empty, latest key version is used.')
param keyVersion string
var keyVaultUri = format('{0}{1}', keyVaultName, environment().suffixes.keyvaultDns)
resource cluster 'Microsoft.OperationalInsights/clusters@2021-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
keyVaultProperties: {
keyVaultUri: keyVaultUri
keyName: keyName
keyVersion: keyVersion
}
}
}
参数文件
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"keyVaultUri": {
"value": "https://key-vault-name.vault.azure.cn"
},
"keyName": {
"value": "MyKeyName"
},
"keyVersion": {
"value": ""
}
}
}
下面的示例将 Log Analytics 群集更新为使用客户管理的密钥。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "Specify the name of the Log Analytics cluster."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the location of the resources"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specify the key vault name."
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "Specify the key name."
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "Specify the key version. When empty, latest key version is used."
}
}
},
"variables": {
"keyVaultUri": "[format('{0}{1}', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]"
},
"resources": [
{
"type": "Microsoft.OperationalInsights/clusters",
"apiVersion": "2021-06-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"keyVaultProperties": {
"keyVaultUri": "[variables('keyVaultUri')]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
}
}
}
]
}
参数文件
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"keyVaultUri": {
"value": "https://key-vault-name.vault.azure.cn"
},
"keyName": {
"value": "MyKeyName"
},
"keyVersion": {
"value": ""
}
}
}
获取资源组中的所有群集
在 Azure 门户的“Log Analytics 专用群集”菜单中,选择“资源组”筛选器 。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster list --resource-group "resource-group-name"
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name"
调用
GET https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters?api-version=2022-10-01
Authorization: Bearer <token>
响应
{
"value": [
{
"identity": {
"type": "SystemAssigned",
"tenantId": "tenant-id",
"principalId": "principal-id"
},
"sku": {
"name": "capacityreservation",
"capacity": 100
},
"properties": {
"provisioningState": "Succeeded",
"clusterId": "cluster-id",
"billingType": "Cluster",
"lastModifiedDate": "last-modified-date",
"createdDate": "created-date",
"isDoubleEncryptionEnabled": false,
"isAvailabilityZonesEnabled": false,
"capacityReservationProperties": {
"lastSkuUpdate": "last-sku-modified-date",
"minCapacity": 100
}
},
"id": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name",
"name": "cluster-name",
"type": "Microsoft.OperationalInsights/clusters",
"location": "cluster-region"
}
]
}
获取订阅中的所有群集
在 Azure 门户的“Log Analytics 专用群集”菜单中,选择“订阅”筛选器 。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster list
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster
调用
GET https://management.chinacloudapi.cn/subscriptions/<subscription-id>/providers/Microsoft.OperationalInsights/clusters?api-version=2022-10-01
Authorization: Bearer <token>
响应
与“资源组的群集”相同,但在订阅范围内。
更新群集中的承诺层级
链接工作区的数据量随时间变化时,你可以适当地更新承诺层级别以优化成本。 该层级以 GB 为单位指定,其值可以是 100、200、300、400、500、1000、2000、5000、10000、25000 或 50000 GB/天。 无需提供完整的 REST 请求正文,但需包含 SKU。
在承诺期内,可以更改为更高级别的承诺层级(这将重新开始 31 天的承诺期)。 但在承诺期结束之前,无法返回到即用即付或更低的承诺层级。
在 Azure 门户的“Log Analytics 专用群集”菜单中选择群集,然后单击“承诺层级”旁边的“更改”
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster update --resource-group "resource-group-name" --name "cluster-name" --sku-capacity 500
Select-AzSubscription "cluster-subscription-id"
Update-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -SkuCapacity 500
调用
PATCH https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"sku": {
"name": "capacityReservation",
"Capacity": 2000
}
}
从群集中取消与工作区的链接
可以随时取消工作区与群集的链接。 工作区定价层更改为“按 GB”,在取消链接操作之前引入到群集的数据会保留在群集中,工作区的新数据会引入到 Log Analytics 中。
警告
取消链接工作区不会将工作区数据移出群集。 对于链接到群集时为工作区收集的任何数据,在工作区中定义的保留期内仍会保留在群集中,只要群集未被删除即可访问这些数据。
当工作区取消链接且服务无缝执行跨群集查询时,查询不会受到影响。 如果已为群集配置了客户管理的密钥 (CMK),则在链接时引入到工作区的数据仍使用你的密钥进行加密且可供访问,而你的密钥以及你对 Key Vault 的权限仍会保留。
注意
仅限在一个月内对特定工作区执行两个链接操作,以防止跨群集分配数据。 如果达到限制,请联系支持人员。
未链接的工作区将移动到即用即付定价层。
使用以下命令从群集中取消链接工作区:
在 Azure 门户的“Log Analytics 专用群集”菜单中选择群集,然后单击“链接的工作区”查看当前链接到专用群集的所有工作区 。 选择要取消链接的任何工作区,然后单击“取消链接” 。
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace linked-service delete --resource-group "resource-group-name" --workspace-name "workspace-name" --name cluster
Select-AzSubscription "workspace-subscription-id"
# Unlink a workspace from cluster
Remove-AzOperationalInsightsLinkedService -ResourceGroupName "resource-group-name" -WorkspaceName {workspace-name} -LinkedServiceName cluster
DELETE https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}?api-version=2020-08-01
删除群集
你需要对群集资源具有写入 权限。
群集删除操作应谨慎执行,因为操作不可恢复。 从链接的工作区引入到群集的所有数据都将被永久删除。
无论群集中定义的 31 天承诺层级如何,在删除群集后其计费都会停止。
如果删除具有链接的工作区的群集,工作区将自动从群集取消链接,工作区将移动到即用即付定价层,而工作区的新数据将改为引入 Log Analytics 群集。 您可以在工作区关联到集群之前以及解除关联之后的时间范围内对工作区进行查询,该服务可以无缝地执行跨集群查询。
注意
每个订阅和地区最多可以有七个集群,其中有五个处于活动状态,另外两个则需是在过去两周内删除的。
群集的名称在删除后保留两周,在此期间不能用于创建新群集。
使用以下命令删除群集:
在 Azure 门户的“Log Analytics 专用群集”菜单中选择群集,然后单击“删除” 。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster delete --resource-group "resource-group-name" --name $clusterName
Select-AzSubscription "cluster-subscription-id"
Remove-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name"
使用以下 REST 调用来删除群集:
DELETE https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
响应
200 正常
限制和约束
每个区域和订阅中最多可以创建两个活动群集。
每个订阅和地区最多可以有七个集群,其中有五个处于活动状态,另外两个则需是在过去 2 周内删除的。
最多可以将 1,000 个 Log Analytics 工作区链接到一个群集。
在 30 天内最多允许对特定工作区进行两次工作区链接操作。
当前不支持将群集移到另一个资源组或订阅。
不支持将群集移到另一个区域。
群集更新不应在同一操作中同时包含标识和密钥标识符详细信息。 如果两者都需要更新,则应在两次连续操作中进行更新。
对于受支持区域中自 2020 年 10 月开始创建的群集,系统会自动为其配置双重加密 。 可以通过在群集上发送 GET 请求并观察启用了双重加密的群集的 isDoubleEncryptionEnabled
值是否为 true
来验证是否为你的群集配置了双重加密。
如果你创建群集并收到错误“区域名称不支持对群集进行双重加密。”,则你仍可通过在 REST 请求正文中添加 "properties": {"isDoubleEncryptionEnabled": false}
来创建无双重加密的群集。
创建群集后,无法更改双重加密设置。
可在链接到群集时删除工作区。 如果你决定在软删除 期间恢复 工作区,则工作区会返回到以前的状态,并保持与群集链接。
在承诺期内,可以更改为更高级别的承诺层级(这将重新开始 31 天的承诺期)。 但在承诺期结束之前,无法返回到即用即付或更低的承诺层级。
故障排除
如果在创建某个群集时收到冲突错误,则该群集可能是在过去 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 - 标识为 Null 或为空。 设置具有 systemAssigned 类型的标识。
400 - KeyVaultProperty 是创建时设置的。 创建群集后更新 KeyVaultProperties。
400 -- 现在无法执行操作。 异步操作处于非成功状态。 群集必须完成其操作,才能执行任意更新操作。
群集更新
400 - 群集处于正在删除状态。 正在执行异步操作。 群集必须完成其操作,才能执行任意更新操作。
400 -- KeyVaultProperties 不为空,但格式错误。 请参阅密钥标识符更新 。
400 - 无法验证 Key Vault 中的密钥。 可能是由于权限不足或密钥不存在。 验证是否在 Key Vault 中设置密钥和访问策略 。
400 -- 密钥不可恢复。 Key Vault 必须设置为“软删除”和“清除保护”。 请参阅 Key Vault 文档
400 -- 现在无法执行操作。 等待异步操作完成,然后重试。
400 - 群集处于正在删除状态。 等待异步操作完成,然后重试。
群集获取
404 -- 找不到群集,群集可能已删除。 如果尝试使用该名称创建群集但发生冲突,则该群集正处于删除过程中。
群集删除
409 - 处于预配状态时无法删除群集。 等待异步操作完成,然后重试。
工作区链接
404 - 找不到工作区。 指定的工作区不存在或已被删除。
409 - 正在执行工作区链接或取消链接操作。
400 - 找不到群集,指定的群集不存在或已被删除。
工作区取消链接
404 - 找不到工作区。 指定的工作区不存在或已被删除。
409 - 正在执行工作区链接或取消链接操作。
后续步骤