VM 深入解析的 Resource Manager 範本範例
本文包含可用來在虛擬機器上啟用 VM 深入解析的 Azure Resource Manager 範本範例。 每個範例都包含範本檔案和參數檔案,且附有要提供給範本的範例值。
注意
如需可用範例的 Azure 監視器清單,以及在 Azure 訂用帳戶中加以部署的指引,請參閱 Azure 資源管理員範例。
設定工作區
下列範例會為 Log Analytics 工作區啟用 VM 深入解析。
範本檔案
main.bicep
@description('Resource ID of the workspace.')
param workspaceResourceId string
@description('Location of the workspace.')
param workspaceLocation string
module VMISolutionDeployment './nested_VMISolutionDeployment.bicep' = {
name: 'VMISolutionDeployment'
scope: resourceGroup(split(workspaceResourceId, '/')[2], split(workspaceResourceId, '/')[4])
params: {
workspaceLocation: workspaceLocation
workspaceResourceId: workspaceResourceId
}
}
nested_VMISolutionDeployment.bicep
@description('Location of the workspace.')
param workspaceLocation string
@description('Resource ID of the workspace.')
param workspaceResourceId string
resource solution 'Microsoft.OperationsManagement/solutions@2015-11-01-preview' = {
location: workspaceLocation
name: 'VMInsights(${split(workspaceResourceId, '/')[8]})'
properties: {
workspaceResourceId: workspaceResourceId
}
plan: {
name: 'VMInsights(${split(workspaceResourceId, '/')[8]})'
product: 'OMSGallery/VMInsights'
promotionCode: ''
publisher: 'Microsoft'
}
}
參數檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace"
},
"workspaceLocation": {
"value": "eastus"
}
}
}
將 Azure 虛擬機器上線
下列範例會將 Azure 虛擬機器新增至 VM 深入解析。
範本檔案
@description('VM Resource ID.')
param VmResourceId string
@description('The Virtual Machine Location.')
param VmLocation string
@description('OS Type, Example: Linux / Windows')
param osType string
@description('Workspace Resource ID.')
param WorkspaceResourceId string
var VmName_var = split(VmResourceId, '/')[8]
var DaExtensionName = ((toLower(osType) == 'windows') ? 'DependencyAgentWindows' : 'DependencyAgentLinux')
var DaExtensionType = ((toLower(osType) == 'windows') ? 'DependencyAgentWindows' : 'DependencyAgentLinux')
var DaExtensionVersion = '9.5'
var MmaExtensionName = ((toLower(osType) == 'windows') ? 'MMAExtension' : 'OMSExtension')
var MmaExtensionType = ((toLower(osType) == 'windows') ? 'MicrosoftMonitoringAgent' : 'OmsAgentForLinux')
var MmaExtensionVersion = ((toLower(osType) == 'windows') ? '1.0' : '1.4')
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
name: VmName_var
location: VmLocation
}
resource daExtension 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: DaExtensionName
location: VmLocation
properties: {
publisher: 'Microsoft.Azure.Monitoring.DependencyAgent'
type: DaExtensionType
typeHandlerVersion: DaExtensionVersion
autoUpgradeMinorVersion: true
}
}
resource mmaExtension 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
parent: vm
name: MmaExtensionName
location: VmLocation
properties: {
publisher: 'Microsoft.EnterpriseCloud.Monitoring'
type: MmaExtensionType
typeHandlerVersion: MmaExtensionVersion
autoUpgradeMinorVersion: true
settings: {
workspaceId: reference(WorkspaceResourceId, '2021-12-01-preview').customerId
azureResourceId: VmResourceId
stopOnMultipleConnections: true
}
protectedSettings: {
workspaceKey: listKeys(WorkspaceResourceId, '2021-12-01-preview').primarySharedKey
}
}
}
參數檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-linux-vm"
},
"vmLocation": {
"value": "westus"
},
"osType": {
"value": "linux"
},
"workspaceResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace"
}
}
}
將 Azure 虛擬機器擴展集上線
下列範例會將 Azure 虛擬機器擴展集新增至 VM 深入解析。
範本檔案
@description('VM Resource ID.')
param VmssResourceId string
@description('The Virtual Machine Location.')
param VmssLocation string
@description('OS Type, Example: Linux / Windows')
param osType string
@description('Workspace Resource ID.')
param WorkspaceResourceId string
var VmssName_var = split(VmssResourceId, '/')[8]
var DaExtensionName = ((toLower(osType) == 'windows') ? 'DependencyAgentWindows' : 'DependencyAgentLinux')
var DaExtensionType = ((toLower(osType) == 'windows') ? 'DependencyAgentWindows' : 'DependencyAgentLinux')
var DaExtensionVersion = '9.5'
var MmaExtensionName = ((toLower(osType) == 'windows') ? 'MMAExtension' : 'OMSExtension')
var MmaExtensionType = ((toLower(osType) == 'windows') ? 'MicrosoftMonitoringAgent' : 'OmsAgentForLinux')
var MmaExtensionVersion = ((toLower(osType) == 'windows') ? '1.0' : '1.4')
resource vmss 'Microsoft.Compute/virtualMachineScaleSets@2021-11-01' = {
name: VmssName_var
location: VmssLocation
properties:{}
}
resource daExtension 'Microsoft.Compute/virtualMachineScaleSets/extensions@2018-10-01' = {
parent: vmss
name: DaExtensionName
properties: {
publisher: 'Microsoft.Azure.Monitoring.DependencyAgent'
type: DaExtensionType
typeHandlerVersion: DaExtensionVersion
autoUpgradeMinorVersion: true
}
}
resource mmaExtension 'Microsoft.Compute/virtualMachineScaleSets/extensions@2018-10-01' = {
parent: vmss
name: MmaExtensionName
properties: {
publisher: 'Microsoft.EnterpriseCloud.Monitoring'
type: MmaExtensionType
typeHandlerVersion: MmaExtensionVersion
autoUpgradeMinorVersion: true
settings: {
workspaceId: reference(WorkspaceResourceId, '2021-12-01-preview').customerId
azureResourceId: VmssResourceId
stopOnMultipleConnections: true
}
protectedSettings: {
workspaceKey: listKeys(WorkspaceResourceId, '2021-12-01-preview').primarySharedKey
}
}
}
參數檔案
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"VmssResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-windows-vmss"
},
"VmssLocation": {
"value": "westus"
},
"OsType": {
"value": "windows"
},
"WorkspaceResourceId": {
"value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace"
}
}
}