Resource Manager template samples for Log Analytics clusters in Azure Monitor
This article includes sample Azure Resource Manager templates to create and configure Log Analytics clusters in Azure Monitor. Each sample includes a template file and a parameters file with sample values to provide to the template.
Note
See Azure Resource Manager samples for Azure Monitor for a list of samples that are available and guidance on deploying them in your Azure subscription.
Template references
Create a Log Analytics cluster
The following sample creates a new empty Log Analytics cluster.
Template file
@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([
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
}
}
Parameter file
{
"$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"
}
}
}
Update a Log Analytics cluster
The following sample updates a Log Analytics cluster to use customer-managed key.
Template file
@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
}
}
}
Parameter file
{
"$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.net"
},
"keyName": {
"value": "MyKeyName"
},
"keyVersion": {
"value": ""
}
}
}
Next steps
Feedback
Submit and view feedback for