Sdílet prostřednictvím


Ukázky šablon Resource Manageru pro agenty ve službě Azure Monitor

Tento článek obsahuje ukázkové šablony Azure Resource Manageru pro nasazení a konfiguraci agenta Azure Monitoru, staršího agenta Log Analytics a rozšíření diagnostiky pro virtuální počítače ve službě Azure Monitor. Každá ukázka obsahuje soubor šablony a soubor parametrů s ukázkovými hodnotami pro poskytnutí šablony.

Agent Azure Monitoru

Ukázky v této části nainstalují agenta Azure Monitoru na virtuální počítače s Windows a Linuxem a servery s podporou Služby Azure Arc.

Požadavky

Pokud chcete použít následující šablony, budete potřebovat:

  • Pokud chcete vytvořit spravovanou identitu přiřazenou uživatelem a přiřadit spravovanou identitu přiřazenou uživatelem, nebo povolit spravovanou identitu přiřazenou systémem. Ke shromažďování a publikování dat se vyžaduje spravovaná identita agenta služby Azure Monitor. Spravované identity přiřazené uživatelem se důrazně doporučují u spravovaných identit přiřazených systémem kvůli jejich snadné správě ve velkém měřítku.
  • Pokud chcete nakonfigurovat shromažďování dat pro agenta Služby Azure Monitor, musíte také nasadit pravidla a přidružení shromažďování dat šablon Resource Manageru.

Požadována oprávnění

Předdefinovaná role Rozsahy Důvod
  • Virtuální počítače, škálovací sady virtuálních počítačů
  • Servery s podporou arc
Nasazení rozšíření agenta
Libovolná role, která zahrnuje akci Microsoft.Resources/deployments/*
  • Předplatné a/nebo
  • Skupina prostředků nebo
  • Existující pravidlo shromažďování dat
Nasazení šablon ARM

Virtuální počítač Azure s Windows

Následující ukázka nainstaluje agenta Azure Monitoru na virtuální počítač Azure s Windows. Na základě zvolené metody ověřování použijte níže příslušnou šablonu.

param vmName string
param location string
param userAssignedManagedIdentity string

resource windowsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  name: '${vmName}/AzureMonitorWindowsAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorWindowsAgent'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {
      authentication: {
        managedIdentity: {
          'identifier-name': 'mi_res_id'
          'identifier-value': userAssignedManagedIdentity
        }
      }
    }
  }
}
Soubor parametrů
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-windows-vm"
    },
    "location": {
      "value": "eastus"
    },
    "userAssignedManagedIdentity": {
      "value": "/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"
    }
  }
}

Spravovaná identita přiřazená systémem

Soubor šablony
param vmName string
param location string

resource windowsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  name: '${vmName}/AzureMonitorWindowsAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorWindowsAgent'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
  }
}
Soubor parametrů
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-windows-vm"
    },
    "location": {
      "value": "eastus"
    }
  }
}

Virtuální počítač Azure s Linuxem

Následující ukázka nainstaluje agenta Azure Monitoru na virtuální počítač Azure s Linuxem. Na základě zvolené metody ověřování použijte níže příslušnou šablonu.

Soubor šablony
param vmName string
param location string
param userAssignedManagedIdentity string

resource linuxAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  name: '${vmName}/AzureMonitorLinuxAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorLinuxAgent'
    typeHandlerVersion: '1.21'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {
      authentication: {
        managedIdentity: {
          'identifier-name': 'mi_res_id'
          'identifier-value': userAssignedManagedIdentity
        }
      }
    }
  }
}
Soubor parametrů
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-linux-vm"
    },
    "location": {
      "value": "eastus"
    },
    "userAssignedManagedIdentity": {
      "value": "/subscriptions/<my-subscription-id>/resourceGroups/<my-resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<my-user-assigned-identity>"
    }
  }
}

Spravovaná identita přiřazená systémem

Soubor šablony
param vmName string
param location string

resource linuxAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  name: '${vmName}/AzureMonitorLinuxAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorLinuxAgent'
    typeHandlerVersion: '1.21'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
  }
}
Soubor parametrů
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-linux-vm"
    },
    "location": {
      "value": "eastus"
    }
  }
}

Windows Server s podporou Služby Azure Arc

Následující ukázka nainstaluje agenta Azure Monitoru na server s Windows s podporou Služby Azure Arc.

Soubor šablony

param vmName string
param location string

resource windowsAgent 'Microsoft.HybridCompute/machines/extensions@2021-12-10-preview' = {
  name: '${vmName}/AzureMonitorWindowsAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorWindowsAgent'
    autoUpgradeMinorVersion: true
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "vmName": {
        "value": "my-windows-vm"
      },
      "location": {
        "value": "eastus"
      }
  }
}

Linuxový server s podporou Služby Azure Arc

Následující ukázka nainstaluje agenta Azure Monitoru na linuxový server s podporou služby Azure Arc.

Soubor šablony

param vmName string
param location string

resource linuxAgent 'Microsoft.HybridCompute/machines/extensions@2021-12-10-preview'= {
  name: '${vmName}/AzureMonitorLinuxAgent'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Monitor'
    type: 'AzureMonitorLinuxAgent'
    autoUpgradeMinorVersion: true
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-linux-vm"
    },
    "location": {
      "value": "eastus"
    }
  }
}

Agent Log Analytics

Ukázky v této části nainstalují starší verzi agenta Log Analytics na virtuální počítače s Windows a Linuxem v Azure a připojují ho k pracovnímu prostoru služby Log Analytics.

Windows

Následující ukázka nainstaluje agenta Log Analytics na virtuální počítač Azure. To se provádí povolením rozšíření virtuálního počítače Log Analytics pro Windows.

Soubor šablony

@description('Name of the virtual machine.')
param vmName string

@description('Location of the virtual machine')
param location string = resourceGroup().location

@description('Id of the workspace.')
param workspaceId string

@description('Primary or secondary workspace key.')
param workspaceKey string

resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
  name: vmName
  location: location
  properties:{}
}

resource logAnalyticsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  parent: vm
  name: 'Microsoft.Insights.LogAnalyticsAgent'
  location: location
  properties: {
    publisher: 'Microsoft.EnterpriseCloud.Monitoring'
    type: 'MicrosoftMonitoringAgent'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    settings: {
      workspaceId: workspaceId
    }
    protectedSettings: {
      workspaceKey: workspaceKey
    }
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-windows-vm"
    },
    "location": {
      "value": "westus"
    },
    "workspaceId": {
      "value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    },
    "workspaceKey": {
      "value": "Tse-gj9CemT6A80urYa2hwtjvA5axv1xobXgKR17kbVdtacU6cEf+SNo2TdHGVKTsZHZd1W9QKRXfh+$fVY9dA=="
    }
  }
}

Linux

Následující ukázka nainstaluje agenta Log Analytics na virtuální počítač Azure s Linuxem. To se provádí povolením rozšíření virtuálního počítače Log Analytics pro Linux.

Soubor šablony

@description('Name of the virtual machine.')
param vmName string

@description('Location of the virtual machine')
param location string = resourceGroup().location

@description('Id of the workspace.')
param workspaceId string

@description('Primary or secondary workspace key.')
param workspaceKey string

resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
  name: vmName
  location: location
}

resource logAnalyticsAgent 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  parent: vm
  name: 'Microsoft.Insights.LogAnalyticsAgent'
  location: location
  properties: {
    publisher: 'Microsoft.EnterpriseCloud.Monitoring'
    type: 'OmsAgentForLinux'
    typeHandlerVersion: '1.7'
    autoUpgradeMinorVersion: true
    settings: {
      workspaceId: workspaceId
    }
    protectedSettings: {
      workspaceKey: workspaceKey
    }
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-linux-vm"
    },
    "location": {
      "value": "westus"
    },
    "workspaceId": {
      "value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    },
    "workspaceKey": {
      "value": "Tse-gj9CemT6A80urYa2hwtjvA5axv1xobXgKR17kbVdtacU6cEf+SNo2TdHGVKTsZHZd1W9QKRXfh+$fVY9dA=="
    }
  }
}

Rozšíření diagnostiky

Ukázky v této části nainstalují diagnostické rozšíření na virtuální počítače s Windows a Linuxem v Azure a nakonfigurují ho pro shromažďování dat.

Windows

Následující ukázka povolí a nakonfiguruje diagnostické rozšíření na virtuálním počítači Azure. Podrobnosti o konfiguraci najdete v tématu Schéma rozšíření diagnostiky Systému Windows.

Soubor šablony

@description('Name of the virtual machine.')
param vmName string

@description('Location for the virtual machine.')
param location string = resourceGroup().location

@description('Name of the storage account.')
param storageAccountName string

@description('Resource ID of the storage account.')
param storageAccountId string

@description('Resource ID of the workspace.')
param workspaceResourceId string

resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
  name: vmName
  location: location
}

resource vmDiagnosticsSettings 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  parent: vm
  name: 'Microsoft.Insights.VMDiagnosticsSettings'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Diagnostics'
    type: 'IaaSDiagnostics'
    typeHandlerVersion: '1.5'
    autoUpgradeMinorVersion: true
    settings: {
      WadCfg: {
        DiagnosticMonitorConfiguration: {
          overallQuotaInMB: 10000
          DiagnosticInfrastructureLogs: {
            scheduledTransferLogLevelFilter: 'Error'
          }
          PerformanceCounters: {
            scheduledTransferPeriod: 'PT1M'
            sinks: 'AzureMonitorSink'
            PerformanceCounterConfiguration: [
              {
                counterSpecifier: '\\Processor(_Total)\\% Processor Time'
                sampleRate: 'PT1M'
                unit: 'percent'
              }
            ]
          }
          WindowsEventLog: {
            scheduledTransferPeriod: 'PT5M'
            DataSource: [
              {
                name: 'System!*[System[Provider[@Name=\'Microsoft Antimalware\']]]'
              }
              {
                name: 'System!*[System[Provider[@Name=\'NTFS\'] and (EventID=55)]]'
              }
              {
                name: 'System!*[System[Provider[@Name=\'disk\'] and (EventID=7 or EventID=52 or EventID=55)]]'
              }
            ]
          }
        }
        SinksConfig: {
          Sink: [
            {
              name: 'AzureMonitorSink'
              AzureMonitor: {
                ResourceId: workspaceResourceId
              }
            }
          ]
        }
      }
      storageAccount: storageAccountName
    }
    protectedSettings: {
      storageAccountName: storageAccountName
      storageAccountKey: listkeys(storageAccountId, '2021-08-01').key1
      storageAccountEndPoint: 'https://${environment().suffixes.storage}'
    }
  }
}

resource managedIdentity 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  parent: vm
  name: 'ManagedIdentityExtensionForWindows'
  location: location
  properties: {
    publisher: 'Microsoft.ManagedIdentity'
    type: 'ManagedIdentityExtensionForWindows'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    settings: {
      port: 50342
    }
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "vmName": {
        "value": "my-windows-vm"
      },
      "location": {
        "value": "westus"
      },
      "storageAccountName": {
        "value": "mystorageaccount"
      },
      "storageAccountId": {
        "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/my-windows-vm"
      },
      "workspaceResourceId": {
        "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace"
      }
  }
}

Linux

Následující ukázka povolí a nakonfiguruje diagnostické rozšíření na virtuálním počítači Azure s Linuxem. Podrobnosti o konfiguraci najdete v tématu Schéma rozšíření diagnostiky Systému Windows.

Soubor šablony

@description('Name of the virtual machine.')
param vmName string

@description('Resource ID of the virtual machine.')
param vmId string

@description('Location for the virtual machine.')
param location string = resourceGroup().location

@description('Name of the storage account.')
param storageAccountName string

@description('Resource ID of the storage account.')
param storageSasToken string

@description('URL of the event hub.')
param eventHubUrl string

resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
  name: vmName
  location: location
}

resource vmDiagnosticsSettings 'Microsoft.Compute/virtualMachines/extensions@2021-11-01' = {
  parent: vm
  name: 'Microsoft.Insights.VMDiagnosticsSettings'
  location: location
  properties: {
    publisher: 'Microsoft.Azure.Diagnostics'
    type: 'LinuxDiagnostic'
    typeHandlerVersion: '3.0'
    autoUpgradeMinorVersion: true
    settings: {
      StorageAccount: storageAccountName
      ladCfg: {
        sampleRateInSeconds: 15
        diagnosticMonitorConfiguration: {
          performanceCounters: {
            sinks: 'MyMetricEventHub,MyJsonMetricsBlob'
            performanceCounterConfiguration: [
              {
                unit: 'Percent'
                type: 'builtin'
                counter: 'PercentProcessorTime'
                counterSpecifier: '/builtin/Processor/PercentProcessorTime'
                annotation: [
                  {
                    locale: 'en-us'
                    displayName: 'Aggregate CPU %utilization'
                  }
                ]
                condition: 'IsAggregate=TRUE'
                class: 'Processor'
              }
              {
                unit: 'Bytes'
                type: 'builtin'
                counter: 'UsedSpace'
                counterSpecifier: '/builtin/FileSystem/UsedSpace'
                annotation: [
                  {
                    locale: 'en-us'
                    displayName: 'Used disk space on /'
                  }
                ]
                condition: 'Name="/"'
                class: 'Filesystem'
              }
            ]
          }
          metrics: {
            metricAggregation: [
              {
                scheduledTransferPeriod: 'PT1H'
              }
              {
                scheduledTransferPeriod: 'PT1M'
              }
            ]
            resourceId: vmId
          }
          eventVolume: 'Large'
          syslogEvents: {
            sinks: 'MySyslogJsonBlob,MyLoggingEventHub'
            syslogEventConfiguration: {
              LOG_USER: 'LOG_INFO'
            }
          }
        }
      }
      perfCfg: [
        {
          query: 'SELECT PercentProcessorTime, PercentIdleTime FROM SCX_ProcessorStatisticalInformation WHERE Name=\'_TOTAL\''
          table: 'LinuxCpu'
          frequency: 60
          sinks: 'MyLinuxCpuJsonBlob,MyLinuxCpuEventHub'
        }
      ]
      fileLogs: [
        {
          file: '/var/log/myladtestlog'
          table: 'MyLadTestLog'
          sinks: 'MyFilelogJsonBlob,MyLoggingEventHub'
        }
      ]
    }
    protectedSettings: {
      storageAccountName: 'yourdiagstgacct'
      storageAccountSasToken: storageSasToken
      sinksConfig: {
        sink: [
          {
            name: 'MySyslogJsonBlob'
            type: 'JsonBlob'
          }
          {
            name: 'MyFilelogJsonBlob'
            type: 'JsonBlob'
          }
          {
            name: 'MyLinuxCpuJsonBlob'
            type: 'JsonBlob'
          }
          {
            name: 'MyJsonMetricsBlob'
            type: 'JsonBlob'
          }
          {
            name: 'MyLinuxCpuEventHub'
            type: 'EventHub'
            sasURL: eventHubUrl
          }
          {
            name: 'MyMetricEventHub'
            type: 'EventHub'
            sasURL: eventHubUrl
          }
          {
            name: 'MyLoggingEventHub'
            type: 'EventHub'
            sasURL: eventHubUrl
          }
        ]
      }
    }
  }
}

Soubor parametrů

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-linux-vm"
    },
    "vmId": {
      "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-linux-vm"
    },
    "location": {
      "value": "westus"
    },
    "storageAccountName": {
      "value": "mystorageaccount"
    },
    "storageSasToken": {
      "value": "?sv=2019-10-10&ss=bfqt&srt=sco&sp=rwdlacupx&se=2020-04-26T23:06:44Z&st=2020-04-26T15:06:44Z&spr=https&sig=1QpoTvrrEW6VN2taweUq1BsaGkhDMnFGTfWakucZl4%3D"
    },
    "eventHubUrl": {
      "value": "https://my-eventhub-namespace.servicebus.windows.net/my-eventhub?sr=my-eventhub-namespace.servicebus.windows.net%2fmy-eventhub&sig=4VEGPTg8jxUAbTcyeF2kwOr8XZdfgTdMWEQWnVaMSqw=&skn=manage"
    }
  }
}

Další kroky