Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo inclui modelos do Azure Resource Manager de exemplo para implantar e configurar o agente do Azure Monitor, o agente do Log Analytics herdado e a extensão de diagnóstico das máquinas virtuais no Azure Monitor. Cada amostra inclui um arquivo de modelo e um arquivo de parâmetros com valores de amostra para fornecer ao modelo.
Observação
Consulte Amostras do Azure Resource Manager do Azure Monitor para obter uma lista de amostras disponíveis e diretrizes sobre como implantá-las em sua assinatura do Azure.
agente do Azure Monitor
Os exemplos nesta seção instalam o agente do Azure Monitor em máquinas virtuais do Windows e do Linux e em servidores habilitados para o Azure Arc.
Pré-requisitos
Para usar os modelos abaixo, você precisará:
- Criar uma identidade gerenciada atribuída pelo usuário e atribuir a identidade gerenciada atribuída pelo usuário ou habilitar uma identidade gerenciada atribuída pelo sistema. Uma identidade gerenciada é necessária para que o agente do Azure Monitor colete e publique dados. As identidades gerenciadas atribuídas pelo usuário são altamente recomendadas em vez de as identidades gerenciadas atribuídas pelo sistema devido à facilidade do gerenciamento em escala.
- Para configurar a coleta de dados no agente do Azure Monitor, você também precisará implantar as regras e associações de coleta de dados do modelo do Resource Manager.
Permissões necessárias
Para obter as permissões necessárias, consulte os requisitos do Agente do Azure Monitor e crie dcrs (regras de coleta de dados).
Máquina Virtual Windows do Azure
O exemplo a seguir instala o agente do Azure Monitor em uma máquina virtual Windows do Azure. Use o modelo apropriado abaixo com base no método de autenticação escolhido.
Identidade gerenciada atribuída pelo usuário (recomendado)
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
}
}
}
}
}
Arquivo de parâmetro.
{
"$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>"
}
}
}
Identidade gerenciada atribuída pelo sistema
Arquivo de modelo
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
}
}
Arquivo de parâmetro.
{
"$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"
}
}
}
Máquina virtual Linux do Azure
O exemplo a seguir instala o agente do Azure Monitor em uma máquina virtual Linux do Azure. Use o modelo apropriado abaixo com base no método de autenticação escolhido.
Identidade gerenciada atribuída pelo usuário (recomendado)
Arquivo de modelo
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
}
}
}
}
}
Arquivo de parâmetro.
{
"$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>"
}
}
}
Identidade gerenciada atribuída pelo sistema
Arquivo de modelo
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
}
}
Arquivo de parâmetro.
{
"$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"
}
}
}
Servidor Windows habilitado para Azure Arc
O exemplo a seguir instala o agente do Azure Monitor em um servidor do Windows habilitado para Azure Arc.
Arquivo de modelo
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
}
}
Arquivo de parâmetro.
{
"$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"
}
}
}
Servidor Linux habilitado para Azure Arc
O exemplo a seguir instala o agente do Azure Monitor em um servidor do Linux habilitado para Azure Arc.
Arquivo de modelo
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
}
}
Arquivo de parâmetro.
{
"$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"
}
}
}
Agente do Log Analytics
Os exemplos desta seção instalam o agente do Log Analytics herdado em máquinas virtuais do Windows e do Linux no Azure e o conectam a um workspace do Log Analytics.
Windows
A amostra a seguir instala o agente do Log Analytics em uma máquina virtual do Azure. Para isso, habilite a extensão da máquina virtual do Log Analytics para Windows.
Arquivo de modelo
@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
}
}
}
Arquivo de parâmetro.
{
"$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
A amostra a seguir instala o agente do Log Analytics em uma máquina virtual Linux do Azure. Para isso, habilite a extensão da máquina virtual do Log Analytics para Linux.
Arquivo de modelo
@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
}
}
}
Arquivo de parâmetro.
{
"$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=="
}
}
}
Extensão de diagnóstico
Os exemplos desta seção instalam a extensão de diagnóstico em máquinas virtuais do Windows e do Linux no Azure e a configuram para coleta de dados.
Windows
A amostra a seguir habilita e configura a extensão de diagnóstico em uma máquina virtual do Azure. Para obter detalhes sobre a configuração, confira Esquema de extensão de diagnóstico do Windows.
Arquivo de modelo
@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
}
}
}
Arquivo de parâmetro.
{
"$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
A amostra a seguir habilita e configura a extensão de diagnóstico em uma máquina virtual Linux do Azure. Para obter detalhes sobre a configuração, confira Esquema de extensão de diagnóstico do Windows.
Arquivo de modelo
@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
}
]
}
}
}
}
Arquivo de parâmetro.
{
"$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"
}
}
}