Ejemplos de plantillas de Resource Manager para áreas de trabajo de Log Analytics en Azure Monitor
Este artículo incluye plantillas de Azure Resource Manager de ejemplo para crear y configurar área de trabajo de Log Analytics en Azure Monitor. Cada ejemplo incluye un archivo de plantilla y un archivo de parámetros con valores de ejemplo para la plantilla.
Nota
Consulte los ejemplos de Resource Manager para Azure Monitor para obtener una lista de ejemplos disponibles e instrucciones sobre cómo implementarlos en su suscripción de Azure.
Referencias de plantilla
Creación de un área de trabajo de Log Analytics
En el ejemplo siguiente, se crea una nueva área de trabajo de Log Analytics vacía. Un área de trabajo tiene un identificador de área de trabajo y un identificador de recurso únicos. Puede reutilizar el mismo nombre de área de trabajo cuando se encuentra en grupos de recursos diferentes.
Notas
- Si especifica el plan de tarifa gratis, quite el elemento retentionInDays.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location for the workspace.')
param location string
@description('Specify the pricing tier: PerGB2018 or legacy tiers (Free, Standalone, PerNode, Standard or Premium) which are not available to all customers.')
@allowed([
'CapacityReservation'
'Free'
'LACluster'
'PerGB2018'
'PerNode'
'Premium'
'Standalone'
'Standard'
])
param sku string = 'PerGB2018'
@description('Specify the number of days to retain data.')
param retentionInDays int = 120
@description('Specify true to use resource or workspace permissions, or false to require workspace permissions.')
param resourcePermissions bool
@description('Specify the number of days to retain data in Heartbeat table.')
param heartbeatTableRetention int
resource workspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = {
name: workspaceName
location: location
properties: {
sku: {
name: sku
}
retentionInDays: retentionInDays
features: {
enableLogAccessUsingOnlyResourcePermissions: resourcePermissions
}
}
}
resource table 'Microsoft.OperationalInsights/workspaces/tables@2021-12-01-preview' = {
parent: workspace
name: 'Heartbeat'
properties: {
retentionInDays: heartbeatTableRetention
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"sku": {
"value": "PerGB2018"
},
"location": {
"value": "eastus"
},
"resourcePermissions": {
"value": true
},
"heartbeatTableRetention": {
"value": 30
}
}
}
Recopilación de eventos de Windows
En el ejemplo siguiente, se agrega una recopilación de eventos de Windows a un área de trabajo existente.
Notas
- Agregue un elemento datasources para que cada registro de eventos lo recopile. Puede especificar diferentes tipos de evento para cada registro.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location for the workspace.')
param location string
resource workspace'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = {
name: workspaceName
location: location
properties: {}
}
resource windowsEventsSystemDataSource 'Microsoft.OperationalInsights/workspaces/dataSources@2020-08-01' = {
parent: workspace
name: 'WindowsEventsSystem'
kind: 'WindowsEvent'
properties: {
eventLogName: 'System'
eventTypes: [
{
eventType: 'Error'
}
{
eventType: 'Warning'
}
]
}
}
resource WindowsEventApplicationDataSource 'Microsoft.OperationalInsights/workspaces/dataSources@2020-08-01' = {
parent: workspace
name: 'WindowsEventsApplication'
kind: 'WindowsEvent'
properties: {
eventLogName: 'Application'
eventTypes: [
{
eventType: 'Error'
}
{
eventType: 'Warning'
}
{
eventType: 'Information'
}
]
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}
Recopilación de syslog
En el ejemplo siguiente, se agrega una recopilación de eventos de syslog a un área de trabajo existente.
Notas
- Agregue un elemento datasources para que cada recurso lo recopile. Puede especificar diferentes gravedades para cada recurso.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location in which to create the workspace.')
param location string
resource workspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
location: location
properties: {}
}
resource syslogKernDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'SyslogKern'
kind: 'LinuxSyslog'
properties: {
syslogName: 'kern'
syslogSeverities: [
{
severity: 'emerg'
}
{
severity: 'alert'
}
{
severity: 'crit'
}
{
severity: 'err'
}
{
severity: 'warning'
}
{
severity: 'notice'
}
{
severity: 'info'
}
{
severity: 'debug'
}
]
}
}
resource syslogDaemonDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'SyslogDaemon'
kind: 'LinuxSyslog'
properties: {
syslogName: 'daemon'
syslogSeverities: [
{
severity: 'emerg'
}
{
severity: 'alert'
}
{
severity: 'crit'
}
{
severity: 'err'
}
{
severity: 'warning'
}
]
}
}
resource syslogCollectionDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'SyslogCollection'
kind: 'LinuxSyslogCollection'
properties: {
state: 'Enabled'
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}
Recopilación de contadores de rendimiento de Windows
En el ejemplo siguiente, se agrega una recopilación de contadores de rendimiento de Windows a un área de trabajo existente.
Notas
- Agregue un elemento datasources para que cada contador e instancia lo recopilen. Puede establecer una tasa de recopilación diferente para cada combinación de contador e instancia.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location of the workspace.')
param location string = resourceGroup().location
resource workspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = {
name: workspaceName
location: location
properties: {}
}
resource windowsPerfMemoryAvailableBytesDataSource 'Microsoft.OperationalInsights/workspaces/dataSources@2020-08-01' = {
parent: workspace
name: 'WindowsPerfMemoryAvailableBytes'
kind: 'WindowsPerformanceCounter'
properties: {
objectName: 'Memory'
instanceName: '*'
intervalSeconds: 10
counterName: 'Available MBytes '
}
}
resource windowsPerfMemoryPercentageBytesDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'WindowsPerfMemoryPercentageBytes'
kind: 'WindowsPerformanceCounter'
properties: {
objectName: 'Memory'
instanceName: '*'
intervalSeconds: 10
counterName: '% Committed Bytes in Use'
}
}
resource windowsPerfProcessorPercentageDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'WindowsPerfProcessorPercentage'
kind: 'WindowsPerformanceCounter'
properties: {
objectName: 'Processor'
instanceName: '_Total'
intervalSeconds: 10
counterName: '% Processor Time'
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}
Recopilación de contadores de rendimiento de Linux
En el ejemplo siguiente, se agrega una recopilación de contadores de rendimiento de Linux a un área de trabajo existente.
Notas
- Agregue un elemento datasources para que cada objeto e instancia lo recopilen. Puede establecer diferentes contadores para cada combinación de objeto e instancia, pero solo puede especificar una tasa para todos los contadores.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location in which to create the workspace.')
param location string = resourceGroup().location
resource workspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
location: location
properties: {}
}
resource linuxPerformanceLogicalDiskDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'LinuxPerformanceLogicalDisk'
kind: 'LinuxPerformanceObject'
properties: {
objectName: 'Logical Disk'
instanceName: '*'
intervalSeconds: 10
performanceCounters: [
{
counterName: '% Used Inodes'
}
{
counterName: 'Free Megabytes'
}
{
counterName: '% Used Space'
}
{
counterName: 'Disk Transfers/sec'
}
{
counterName: 'Disk Reads/sec'
}
{
counterName: 'Disk Writes/sec'
}
]
}
}
resource linuxPerformanceProcessorDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'LinuxPerformanceProcessor'
kind: 'LinuxPerformanceObject'
properties: {
objectName: 'Processor'
instanceName: '*'
intervalSeconds: 10
performanceCounters: [
{
counterName: '% Processor Time'
}
{
counterName: '% Privileged Time'
}
]
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}
Recopilación de registros personalizados
En el ejemplo siguiente, se agrega una recopilación de registros personalizados a un área de trabajo existente.
Notas
- La configuración de delimitadores y extracciones puede resultar compleja. Para obtener ayuda, puede definir un registro personalizado mediante Azure Portal y, después, recuperar su configuración mediante Get-AzOperationalInsightsDataSource con Tipo establecido en CustomLog.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location in which to create the workspace.')
param location string
resource workspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = {
name: workspaceName
location: location
properties: {}
}
resource armlogTimeDelimitedDataSource 'Microsoft.OperationalInsights/workspaces/dataSources@2020-08-01' = {
parent: workspace
name: '${workspaceName}armlog_timedelimited'
kind: 'CustomLog'
properties: {
customLogName: 'arm_log_timedelimited'
description: 'this is a description'
inputs: [
{
location: {
fileSystemLocations: {
linuxFileTypeLogPaths: [
'/var/logs'
]
windowsFileTypeLogPaths: [
'c:\\Windows\\Logs\\*.txt'
]
}
}
recordDelimiter: {
regexDelimiter: {
matchIndex: 0
numberdGroup: null
pattern: '(^.*((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9].*$)'
}
}
}
]
extractions: [
{
extractionName: 'TimeGenerated'
extractionProperties: {
dateTimeExtraction: {
regex: [
{
matchIndex: 0
numberdGroup: null
pattern: '((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]'
}
]
}
}
extractionType: 'DateTime'
}
]
}
}
resource armlogNewlineDatasource 'Microsoft.OperationalInsights/workspaces/dataSources@2020-08-01' = {
parent: workspace
name: '${workspaceName}armlog_newline'
kind: 'CustomLog'
properties: {
customLogName: 'armlog_newline'
description: 'this is a description'
inputs: [
{
location: {
fileSystemLocations: {
linuxFileTypeLogPaths: [
'/var/logs'
]
windowsFileTypeLogPaths: [
'c:\\Windows\\Logs\\*.txt'
]
}
}
recordDelimiter: {
regexDelimiter: {
pattern: '\\n'
matchIndex: 0
numberdGroup: null
}
}
}
]
extractions: [
{
extractionName: 'TimeGenerated'
extractionType: 'DateTime'
extractionProperties: {
dateTimeExtraction: {
regex: null
joinStringRegex: null
}
}
}
]
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}
Recopilación de registros de IIS
En el ejemplo siguiente, se agrega una recopilación de registros de IIS a un área de trabajo existente.
Archivo de plantilla
@description('Specify the name of the workspace.')
param workspaceName string
@description('Specify the location in which to create the workspace.')
param location string
resource workspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = {
name: workspaceName
location: location
properties: {}
}
resource IISLogDataSource 'Microsoft.OperationalInsights/workspaces/datasources@2020-08-01' = {
parent: workspace
name: 'IISLog'
kind: 'IISLogs'
properties: {
state: 'OnPremiseEnabled'
}
}
Archivo de parámetros
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"location": {
"value": "eastus"
}
}
}