Supongo que si has llegado a este artículo es porque estás preocupado en saber el detalle de todo lo que está sucediendo en tus máquinas virtuales desplegadas en Azure. Afortunadamente, tenemos el servicio VM Insights que supervisa el rendimiento y el estado de las máquinas virtuales y los conjuntos de escalado de máquinas virtuales, incluidos los procesos en ejecución y las dependencias de otros recursos.
VM Insights admite los sistemas operativos Windows y Linux en las máquinas siguientes:
Azure Virtual Machines
Conjuntos de escalado de máquinas virtuales de Azure
Máquinas virtuales híbridas conectadas con Azure Arc
Máquinas virtuales locales
Máquinas virtuales hospedadas en otro entorno de nube
VM Insights almacena sus datos en registros de Azure Monitor, lo que le permite ofrecer una agregación y un filtrado eficaces, y analizar las tendencias de los datos en el tiempo. Puede ver estos datos directamente en una sola VM desde la máquina virtual, o puede usar a Azure Monitor para ofrecer una vista agregada de varias VM.
Para poder disfrutar de VM Insights es necesaria la instalación de los dos agentes en cada máquina virtual o conjunto de escalado de máquinas virtuales que se supervisarán:
Agente de Log Analytics. Recopila eventos y datos de rendimiento de la máquina virtual o del conjunto de escalado de máquinas virtuales y los entrega al área de trabajo de Log Analytics.
Dependency Agent. Recopila datos detectados acerca de los procesos que se ejecutan en las dependencias de las máquinas virtuales y los procesos externos, que usa la característica de asignación de VM Insights. Dependency Agent depende del agente de Log Analytics para entregar los datos a Azure Monitor.
Existen varios métodos para implementar estos agentes:
Azure Portal.
Plantillas de Resource Manager (ARM).
Azure Policy. Muy útil para instalar automáticamente los agentes cuando se crea una máquina virtual o un conjunto de escalado de máquinas virtuales.
Instalación manual.
En este artículo nos centraremos en la instalación mediante manual mediante PowerShell, en particular usando Azure CLI.
Antes de continuar es necesario tener en cuenta que para que la comunicación entre nuestras máquinas virtuales y Azure Monitor sea efectiva tanto el agente para Linux y Windows se comunican con el servicio Azure Monitor a través del puerto TCP 443.
En la tabla siguiente se muestra la información de configuración de proxy y firewall necesaria para que los agentes de Windows y Linux se comuniquen con los registros de Azure Monitor:
Recurso del agente | Puertos | Dirección | Omitir inspección de HTTPS |
*.ods.opinsights.azure.com | Puerto 443 | Salida | Sí |
*.oms.opinsights.azure.com | Puerto 443 | Salida | Sí |
*.blob.core.windows.net | Puerto 443 | Salida | Sí |
*.azure-automation.net | Puerto 443 | Salida | Sí |
A continuación vamos a ver cómo habilitar las VM Insights utilizando PowerShell. El proceso tiene la ventaja de que podemos instalar los agentes necesarios en todas aquellas máquinas presentes en nuestro grupo de recursos seleccionado.
Es importante, antes de continuar, contar con los siguientes requerimientos:
Azure Virtual Machine
Azure Virtual MachineScale Set
Consultar la lista de Sistemas operativos compatibles para asegurarse de que el sistema operativo de la máquina virtual o el conjunto de escalado de máquinas virtuales que está habilitando sea compatible.
Antes de comenzar, necesitaremos tomar nota del ID y la clave del área de trabajo o Workspace para instalar el agente y configurarlo. Este proceso es muy simple como veremos:
Quizá ya lo has notado pero las claves de Log Analytics ya no se encuentran en Configuración avanzada, sino en el apartado Administración de agentes. Este sencillo cambio ha sido introducido hace poco y puede pillarte por sorpresa. ;)
Accede al Azure Portal.
En el Portal de Azure, seleccione Log Analytics Workspaces.
En la hoja de espacios de trabajo de Log Analytics, desplázate hacia abajo y selecciona el espacio de trabajo que quieras.
Luego, en el siguiente panel, un poco hacia abajo y en el panel Configuración seleccionamos Agents management y allí podremos tomar nota de la Workspace ID y Primary Key. Ahora tiene dos pestañas separadas, una para Windows y otra para Linux.
Otra cosa que debemos verificar antes de comenzar es si disponemos del módulo Azure PowerShell en su versión 1.0.0 o posterior con Enable-AzureRM y los alias de compatibilidad habilitados.
Para ello ejecutamos en Powershell la siguiente orden:
Get-Module
ListAvailable Az
Si ya lo tenemos todo listo, el siguiente paso es tan simple que asusta. Con nuestra sesión de PowerShell abierta ejecutamos los siguientes comandos:
Set-ExecutionPolicy Bypass -force -Scope Process
Install-Module -Name Az -AllowClobber -Scope CurrentUser
Install-Script -Name Install-VMInsights
Enable-AzureRmAlias -Scope CurrentUser
Esto prepará nuestro entorno para el siguiente paso:
Nos logamos en nuestra cuenta mediante:
Login-AzAccount
Ahora tomando el siguiente modelo introducimos la región donde se encuentra nuestro Workspace seguido del WorkSpace ID y su Key, además del identificador de nuestra suscripción y grupo de recursos objetivo.
Install-VMInsights -WorkspaceRegion eastus -WorkspaceId <WorkspaceId> -WorkspaceKey <WorkspaceKey> -SubscriptionId <SubscriptionId> -ResourceGroup <ResourceGroup>
Si todo va bien, veremos la lista de máquinas virtuales disponibles para continuar la instalación de los agentes necesarios.
Y ya está. Pasados unos minutos veremos un mensaje de confirmación indicando que los agentes han sido instalados con éxito. A partir de este momento ya podemos comenzar a trabajar con VM Insights en nuestras máquinas virtuales en Azure.