Cargando...

Monitorear Espacio de Discos en Máquinas Virtuales Azure

En el ámbito de la administración de sistemas, la monitorización del espacio en disco es una tarea crítica para garantizar el rendimiento y la disponibilidad de los servicios. Los discos llenos pueden llevar a una variedad de problemas, degradación del rendimiento, el servidor se pone lento, y hasta la interrupción completa de los servicios.

En entornos de nube, donde se utilizan máquinas virtuales para ejecutar aplicaciones críticas, una gestión proactiva del espacio en disco es fundamental para evitar tiempos de inactividad no planificados y garantizar la continuidad del negocio.

El servicio de monitoreo de Azure, Azure Monitor, ofrece una variedad de métricas predefinidas para visualizar información de diferentes recursos, particularmente en máquinas virtuales, hay métricas para varios componentes. Sin embargo, actualmente no hay una métrica para monitorizar el espacio libre en disco. Entonces, ¿Cómo monitorizar el espacio en disco en máquinas virtuales de Azure? Allá vamos.

Para monitorear el espacio de los discos de máquinas virtuales Azure podemos utilizar Log Analytics. En un área de trabajo de Log Analytics se pueden almacenar diferentes tipos de registro de la máquina virtual, y a partir de estos, crear métricas personalizadas y alertas. Y en este caso, es lo que nos interesa, crear una alerta para monitorear el espacio libre/utilizado de los discos de máquinas virtuales Azure.

Por supuesto, hay que hacer una configuración previa. Lo más sencillo es habilitar VM Insights, al hacer este proceso se crear una regla de recolección de Logs para la máquina virtual y se crear el área de trabajo de Logs Analytics, aunque este recurso también se puede crear de forma independiente.

Como activar VM Insights en máquinas virtuales Azure

Vamos a la máquina virtual, en la sección monitorización seleccionar Insights o Información y Habilitar. Se abrirá la ventana para configurar la regla de recopilación de datos y el Worskspace o áreas de trabajo de Logs Analýtics donde se almacenarán los registros.

Imagen: Habilitar VM Insights máquinas virtuales Azure

¿Cómo visualizar los registros de Azure Logs Analytics? Los logs recolectados de la máquina virtual se almacenan en tablas mediante el Lenguaje de consulta de Kusto (KQL), por lo tanto, para visualizar los registros se realizan consultas KQL. Con la activación de VM Insights se crean algunas tablas, la tabla InsightsMetrics es la que necesitamos para este escenario. Esta tabla almacena datos de métricas adicionales recopiladas por Azure Monitor para la máquina virtual, como métricas de disponibilidad, rendimiento y capacidad, incluyendo el espacio de los discos.

A continuación, comparto algunas consultas KQL para extraer información de los discos de máquinas virtuales Azure, las cuales puedes utilizar y personalizar dependiendo del caso de uso.

Extraer el porcentaje de espacio de todos los discos de todas las máquinas virtuales

InsightsMetrics
| where Namespace == "LogicalDisk"
| where Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize arg_max(TimeGenerated, *) by Disk, Computer
| project TimeGenerated, Computer, Disk, Val 

porcentaje de espacio de todos los discos de todas las máquinas virtuales

Extraer el porcentaje de espacio libre en todos los discos de una máquina virtual de Azure.

InsightsMetrics
| where Computer == "crashell-test-vm-03"
| where Namespace == "LogicalDisk"
| where Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize arg_max(TimeGenerated, *) by Disk
| project TimeGenerated, Computer, Disk, Val 

Imagen: porcentaje de espacio libre en todos los discos de una máquina virtual de Azure

Extraer el porcentaje de espacio libre de un disco específico de una máquina virtual Windows Azure

InsightsMetrics
| where Computer == "crashell-test-01"
| where Namespace == "LogicalDisk"
| where Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize arg_max(TimeGenerated, *) by Disk
| where Disk == "C:"
| project TimeGenerated, Computer, Disk, Val 

Imagen: porcentaje de espacio libre de un disco específico de una máquina virtual Windows Azure

Extraer el porcentaje de espacio libre de un disco específico de una máquina virtual Linux Azure

InsightsMetrics
| where Computer == "crashell-test-vm-03"
| where Namespace == "LogicalDisk"
| where Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize arg_max(TimeGenerated, *) by Disk
| where Disk == "/"
| project TimeGenerated, Computer, Disk, Val 

Imagen: porcentaje de espacio libre de un disco específico de una máquina virtual Linux Azure

reproductor Imagen: porcentaje de espacio libre en todos los discos de una máquina virtual de Azure image
reproductor Imagen: porcentaje de espacio libre de un disco específico de una máquina virtual Linux Azure image
  • John Doe
    43 Sales$156,24 Totals
    62%
  • Rosy O'Dowell
    12 Leads$56,24 Totals
    32%

With supporting text below as a natural lead-in to additional content.

Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.