El agente de Azure Monitor admite conexiones mediante servidores proxy directos, una puerta de enlace de Log Analytics y vínculos privados. En este artículo se describe cómo definir la configuración de red y habilitar el aislamiento de red para el agente de Azure Monitor.
Puede usar etiquetas de servicio de Azure Virtual Network para definir controles de acceso de red en grupos de seguridad de red, Azure Firewall, y rutas definidas por el usuario. Use etiquetas de servicio en lugar de direcciones IP específicas cuando cree reglas de seguridad y rutas. Para ver escenarios en los que no se pueden usar etiquetas de servicio de Azure Virtual Network, consulte los requisitos de firewall más adelante en este artículo.
En la tabla siguiente se proporcionan los puntos de conexión a los que los firewalls deben proporcionar acceso a para nubes diferentes. Cada punto de conexión es una conexión saliente al puerto 443.
Reemplace el sufijo en los puntos de conexión por el sufijo de la tabla siguiente para las nubes respectivas:
Las extensiones del agente de Azure Monitor para Windows y Linux se pueden comunicar a través de un servidor proxy o una puerta de enlace de Log Analytics para Azure Monitor mediante el protocolo HTTPS. Use las extensiones para máquinas virtuales de Azure, conjuntos de escalado y Azure Arc para servidores. Use los ajustes de extensiones a efectos de configuración como se describe en los siguientes pasos. Se admiten tanto la autenticación anónima como la autenticación básica mediante un nombre de usuario y una contraseña.
Use los comandos de los ejemplos siguientes en función del entorno y la configuración.
Sin proxy
$settingsString = '{"proxy":{"mode":"none"}}';
Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Proxy sin autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth": "false"}}';
Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Proxy con autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth": "true"}}';
$protectedSettingsString = '{"proxy":{"username":"[username]","password": "[password]"}}';
Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString -ProtectedSettingString $protectedSettingsString
Revertir la configuración del proxy a los valores predeterminados
Para restaurar la configuración del proxy en valores predeterminados, defina $settingsString = '{}'; como en el ejemplo siguiente:
$settingsString = '{}';
Set-AzVMExtension -ExtensionName AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Sin proxy
$settingsString = '{"proxy":{"mode":"none"}}';
Set-AzVMExtension -ExtensionName AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Proxy sin autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth": "false"}}';
Set-AzVMExtension -ExtensionName AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Proxy con autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth": "true"}}';
$protectedSettingsString = '{"proxy":{"username":"[username]","password": "[password]"}}';
Set-AzVMExtension -ExtensionName AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString -ProtectedSettingString $protectedSettingsString
Revertir la configuración del proxy a los valores predeterminados
Para restaurar la configuración del proxy en valores predeterminados, defina $settingsString = '{}'; como en el ejemplo siguiente:
$settingsString = '{}';
Set-AzVMExtension -ExtensionName AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -VMName <virtual-machine-name> -Location <location> -SettingString $settingsString
Use Azure PowerShell para configurar los ajustes del proxy en un conjunto de escalado de máquinas virtuales de Windows.
Sin proxy
$settingsString = '{"proxy":{"mode":"none"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Proxy sin autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"false"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Proxy con autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"true"}}';
$protectedSettingsString = '{"proxy":{"username":"[username]","password":"[password]"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -Setting $settingsString -ProtectedSetting $protectedSettingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Revertir la configuración del proxy a los valores predeterminados
$settingsString = '{}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Nota:
Si en la directiva de actualización del conjunto de escalado activa el modo Manual, debe actualizar las instancias existentes ejecutando Update-AzVmssInstance después de modificar el modelo de VMSS. En el caso de los conjuntos de escalado con directiva de actualización automática o gradual , la extensión se aplica automáticamente a las instancias.
Use Azure PowerShell para configurar los ajustes del proxy en un conjunto de escalado de máquinas virtuales de Linux.
Sin proxy
$settingsString = '{"proxy":{"mode":"none"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Proxy sin autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"false"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Proxy con autenticación
$settingsString = '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"true"}}';
$protectedSettingsString = '{"proxy":{"username":"[username]","password":"[password]"}}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -Setting $settingsString -ProtectedSetting $protectedSettingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Revertir la configuración del proxy a los valores predeterminados
$settingsString = '{}';
$vmss = Get-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -Type AzureMonitorLinuxAgent -TypeHandlerVersion <version-number> -Setting $settingsString
Update-AzVmss -ResourceGroupName <resource-group-name> -VMScaleSetName <vmss-name> -VirtualMachineScaleSet $vmss
Nota:
Si configura la política de actualización del conjunto de escalado en Manual, debe actualizar las instancias existentes ejecutando Update-AzVmssInstance después de modificar el modelo de VMSS. En el caso de los conjuntos de escalado con directiva de actualización automática o gradual , la extensión se aplica automáticamente a las instancias.
Use la CLI de Azure para configurar los ajustes del proxy en un conjunto de escalado de máquinas virtuales de Windows.
Sin proxy
az vmss extension set \
--name AzureMonitorWindowsAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"none"}}'
Proxy sin autenticación
az vmss extension set \
--name AzureMonitorWindowsAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"false"}}'
Proxy con autenticación
az vmss extension set \
--name AzureMonitorWindowsAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"true"}}' \
--protected-settings '{"proxy":{"username":"[username]","password":"[password]"}}'
Revertir la configuración del proxy a los valores predeterminados
az vmss extension set \
--name AzureMonitorWindowsAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{}'
Nota:
Si en la directiva de actualización del conjunto de escalado activa el modo Manual, debe actualizar las instancias existentes ejecutando az vmss update-instances para aplicar la extensión. En el caso de los conjuntos de escalado con directiva de actualización automática o gradual , la extensión se aplica automáticamente a las instancias.
Utilice la CLI de Azure para configurar la configuración del proxy en un conjunto de escalado de máquinas virtuales Linux.
Sin proxy
az vmss extension set \
--name AzureMonitorLinuxAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"none"}}'
Proxy sin autenticación
az vmss extension set \
--name AzureMonitorLinuxAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"false"}}'
Proxy con autenticación
az vmss extension set \
--name AzureMonitorLinuxAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{"proxy":{"mode":"application","address":"http://[address]:[port]","auth":"true"}}' \
--protected-settings '{"proxy":{"username":"[username]","password":"[password]"}}'
Revertir la configuración del proxy a los valores predeterminados
az vmss extension set \
--name AzureMonitorLinuxAgent \
--publisher Microsoft.Azure.Monitor \
--vmss-name <vmss-name> \
--resource-group <resource-group-name> \
--settings '{}'
Nota:
Si en la directiva de actualización del conjunto de escalado activa el modo Manual, debe actualizar las instancias existentes ejecutando az vmss update-instances para aplicar la extensión. En el caso de los conjuntos de escalado con directiva de actualización automática o gradual , la extensión se aplica automáticamente a las instancias.
Sin proxy
$settings = @{"proxy" = @{mode = "none"}}
New-AzConnectedMachineExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
Proxy sin autenticación
$settings = @{"proxy" = @{mode = "application"; address = "http://[address]:[port]"; auth = "false"}}
New-AzConnectedMachineExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
Proxy con autenticación
$settings = @{"proxy" = @{mode = "application"; address = "http://[address]:[port]"; auth = "true"}}
$protectedSettings = @{"proxy" = @{username = "[username]"; password = "[password]"}}
New-AzConnectedMachineExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings -ProtectedSetting $protectedSettings
Revertir la configuración del proxy a los valores predeterminados
Para restaurar la configuración del proxy en valores predeterminados, defina $settings = @{}; como en el ejemplo siguiente:
$settings = @{}
New-AzConnectedMachineExtension -Name AzureMonitorWindowsAgent -ExtensionType AzureMonitorWindowsAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
Sin proxy
$settings = @{"proxy" = @{mode = "none"}}
New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
Proxy sin autenticación
$settings = @{"proxy" = @{mode = "application"; address = "http://[address]:[port]"; auth = "false"}}
New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
Proxy con autenticación
$settings = @{"proxy" = @{mode = "application"; address = "http://[address]:[port]"; auth = "true"}}
$protectedSettings = @{"proxy" = @{username = "[username]"; password = "[password]"}}
New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings -ProtectedSetting $protectedSettings
Revertir la configuración del proxy a los valores predeterminados
Para restaurar la configuración del proxy en valores predeterminados, defina $settings = @{}; como en el ejemplo siguiente:
$settings = @{}
New-AzConnectedMachineExtension -Name AzureMonitorLinuxAgent -ExtensionType AzureMonitorLinuxAgent -Publisher Microsoft.Azure.Monitor -ResourceGroupName <resource-group-name> -MachineName <arc-server-name> -Location <arc-server-location> -Setting $settings
{
"properties": {
"displayName": "Configure Windows Arc-enabled machines to run the Azure Monitor Agent",
"policyType": "BuiltIn",
"mode": "Indexed",
"description": "Automate the deployment of the Azure Monitor Agent extension on your Windows Arc-enabled machines for collecting telemetry data from the guest OS. This policy installs the extension if the OS and region are supported and system-assigned managed identity is enabled, and skips install otherwise. Learn more at https://aka.ms/AMAOverview.",
"metadata": {
"version": "2.3.0",
"category": "Monitoring"
},
"parameters": {
"effect": {
"type": "String",
"metadata": {
"displayName": "Effect",
"description": "Enable or disable the execution of the policy."
},
"allowedValues": [
"DeployIfNotExists",
"Disabled"
],
"defaultValue": "DeployIfNotExists"
}
},
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.HybridCompute/machines"
},
{
"field": "Microsoft.HybridCompute/machines/osName",
"equals": "Windows"
},
{
"field": "location",
"in": [
"australiacentral",
"australiaeast",
"australiasoutheast",
"brazilsouth",
"canadacentral",
"canadaeast",
"centralindia",
"centralus",
"eastasia",
"eastus",
"eastus2",
"eastus2euap",
"francecentral",
"germanywestcentral",
"japaneast",
"japanwest",
"jioindiawest",
"koreacentral",
"koreasouth",
"northcentralus",
"northeurope",
"norwayeast",
"southafricanorth",
"southcentralus",
"southeastasia",
"southindia",
"swedencentral",
"switzerlandnorth",
"uaenorth",
"uksouth",
"ukwest",
"westcentralus",
"westeurope",
"westindia",
"westus",
"westus2",
"westus3"
]
}
]
},
"then": {
"effect": "[parameters('effect')]",
"details": {
"type": "Microsoft.HybridCompute/machines/extensions",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/cd570a14-e51a-42ad-bac8-bafd67325302"
],
"existenceCondition": {
"allOf": [
{
"field": "Microsoft.HybridCompute/machines/extensions/type",
"equals": "AzureMonitorWindowsAgent"
},
{
"field": "Microsoft.HybridCompute/machines/extensions/publisher",
"equals": "Microsoft.Azure.Monitor"
},
{
"field": "Microsoft.HybridCompute/machines/extensions/provisioningState",
"equals": "Succeeded"
}
]
},
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"variables": {
"extensionName": "AzureMonitorWindowsAgent",
"extensionPublisher": "Microsoft.Azure.Monitor",
"extensionType": "AzureMonitorWindowsAgent"
},
"resources": [
{
"name": "[concat(parameters('vmName'), '/', variables('extensionName'))]",
"type": "Microsoft.HybridCompute/machines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2021-05-20",
"properties": {
"publisher": "[variables('extensionPublisher')]",
"type": "[variables('extensionType')]",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"proxy": {
"auth": "false",
"mode": "application",
"address": "http://XXX.XXX.XXX.XXX"
}
},
"protectedsettings": { }
}
}
]
},
"parameters": {
"vmName": {
"value": "[field('name')]"
},
"location": {
"value": "[field('location')]"
}
}
}
}
}
}
}
},
"id": "/providers/Microsoft.Authorization/policyDefinitions/94f686d6-9a24-4e19-91f1-de937dc171a4",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "94f686d6-9a24-4e19-91f1-de937dc171a4"
}