Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo configurar el monitoreo para alertar sobre el uso elevado del sistema de Windows

Una de las herramientas de Windows que más se pasa por alto es Perfmon, también conocida como monitor de rendimiento. Esta utilidad tiene muchas capacidades que se pasan por alto, una de ellas es la capacidad de alertar sobre diversas condiciones métricas. En este artículo, exploramos cómo utilizar correctamente la capacidad de alerta de Perfmon con un uso elevado de CPU.

¿Qué es el rendimiento?

Disponible desde los primeros días de Windows en varias iteraciones, Performance Monitor está disponible como un complemento MMC para Windows destinado a ayudar a monitorear el uso del sistema y diversas métricas de rendimiento. La vista predeterminada al iniciar resalta algunas áreas diferentes y métricas en tiempo real.

  • Monitor de rendimiento – Visualización de métricas en tiempo real.
  • Conjuntos de recopiladores de datos – Recopilación definida de datos durante un intervalo de tiempo determinado.
  • Informes – Cómo ver los datos recopilados en los conjuntos de recopiladores de datos

Si Performance Monitor no se inicia como administrador, su utilidad será limitada y es posible que no vea los conjuntos de recopiladores de datos ni los informes.

Visualización de métricas

Cuando haga clic por primera vez en Monitor de rendimiento, se le mostrará un gráfico de líneas en movimiento cuyo valor predeterminado es

 %Processor Time 

. Esto, por sí solo, no es muy útil ya que los datos son un valor variable y realmente queremos saber si hay condiciones adversas.

Puede agregar métricas adicionales a este gráfico haciendo clic en el signo más verde y agregando más métricas. Tenga en cuenta que es posible que la escala de valores no coincida entre diferentes puntos de datos y, por lo tanto, puede ser de menor utilidad cuando se combinan en un solo gráfico.

Conjuntos de recopiladores de datos

Los datos en tiempo real son útiles, pero no son lo que finalmente buscamos. ¿Cómo entonces alertamos sobre ciertas condiciones, en este caso, un uso elevado de CPU sostenido en el tiempo?

Aquí es donde entran los Conjuntos de recopiladores de datos. Después de expandir Conjuntos de recopiladores de datos, haga clic derecho en Definido por el usuario → Nuevo → Conjunto de recopiladores de datos.

Se le presentará la opción de nombrar el conjunto y si desea crearlo a partir de una plantilla o crearlo manualmente. En este caso, necesitamos crear manualmente nuestra configuración.

En este caso estamos configurando un Alerta de contador de rendimiento. Esto monitoreará un contador determinado y luego podremos decirle a la alerta que tome ciertas acciones.

Dado que buscamos monitorear el porcentaje total de CPU, es más importante elegir la métrica correcta para monitorear. aquí estamos eligiendo Procesador → _Total haciendo clic en “Agregar >>” al lado de la instancia seleccionada.

Un problema es que obtienes todos los Procesador _Total métrica. En última instancia, sólo queremos el

 \Processor(_Total)\% Processor Time 

métrico. Para eliminar los demás, seleccione cada uno y haga clic en el botón Eliminar.

Desafortunadamente, por la forma en que funciona la eliminación, no se puede simplemente hacer clic en el botón Eliminar varias veces, ya que mueve el elemento seleccionado a la parte superior cada vez. Seleccione cada métrica individualmente y haga clic en Eliminar.

Ahora necesitamos indicarle al contador de rendimiento en qué punto debe comenzar la alerta y, en este caso, buscamos que alerte solo cuando esté arriba.

 95 

.

Finalmente, guarde y cierre el conjunto de recopiladores de datos.

Configurar alertas

Una vez eliminada nuestra configuración predeterminada, ahora debemos configurar qué acción de alerta se llevará a cabo. Hay dos formas de configurar las alertas: Acción de alerta y Tarea de alerta. Selecciona tu Definido por el usuario → Uso elevado de CPU conjunto de recopiladores de datos, haga clic derecho en la entrada predeterminada DataCollector01 y elija Propiedades.

La forma más sencilla de comenzar a monitorear las entradas es navegar a la pestaña Acción de alerta y hacer clic en la casilla de verificación “Registrar una entrada en el registro de eventos de la aplicación”. También tiene la opción conveniente de iniciar un conjunto de recopiladores de datos diferente cuando se cumplen los criterios para una alerta. De esta manera puede recopilar registros adicionales según sea necesario. Sin embargo, aquí solo vamos a registrar una entrada.

Configurar una tarea de alerta

Todo esto está muy bien, pero en última instancia no recibimos una alerta real en este caso, solo una nueva entrada en el registro de eventos. En la pestaña Tarea de alerta, podemos indicarle a este recopilador de datos que inicie una tarea programada y envíe algunos parámetros, que luego pueden realizar las acciones de alerta que queramos. Para que esto funcione, necesitamos hacer dos cosas. Cree el script para ejecutar y la tarea programada en sí.

Secuencia de comandos de registro

A continuación se muestra un script de registro muy simple. Leemos las métricas de alerta generadas por la tarea de alerta y enviamos esos resultados a un archivo de registro.

 HighCPUAlert.ps1 
 $Date = $args[0]
$Threshold = $args[1]
$Counter = $args[2]

$Value = "[{0}] {1} {2} | {3}" -F $Date, 'High CPU', $Threshold, $Counter

Add-Content -Value $Value -Path 'C:\HighCPUAlert.log'

Tarea programada

Aquí necesitamos crear la tarea programada que realmente ejecutará el script cuando el recopilador de datos lo invoque. Estamos usando PowerShell para crear la tarea programada y usando PowerShell 7 como tiempo de ejecución, como lo indica el ejecutable pwsh.exe.

 $Params = @{
    "Action" = New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-NoProfile -File C:\HighCPUAlert.ps1 $(Arg0)"
    "Principal" = New-ScheduledTaskPrincipal -UserId "LOCALSERVICE" -LogonType ServiceAccount
    "Settings" = New-ScheduledTaskSettingsSet
}

New-ScheduledTask @Params | Register-ScheduledTask 'HighCPUAlert'

Hasta que se lance formalmente PowerShell 7, el ejecutable puede ser pwsh-preview.exe.

Configurar la tarea de alerta

Finalmente, necesitamos configurar la tarea de alerta en el recopilador de datos. Para hacer esto, navegue nuevamente a las propiedades de DataCollector01 e ingrese los siguientes detalles.

Citamos los argumentos de la tarea porque vienen como cadenas en PowerShell. Por lo tanto, al citarlos, facilitamos la separación de los argumentos por índice, es decir, $arg[0] o $ arg[1].

Una vez que haga clic en guardar, es posible que se le solicite una credencial, que debe ser un usuario con acceso de administrador.

Ejecutar el recopilador de datos

Al hacer clic derecho en el conjunto de recopiladores de datos, uso elevado de CPU y seleccionar Comenzar, comenzarás el proceso de cobro. Si supervisa las tareas programadas, verá que la tarea programada recién creada se ejecuta periódicamente según el intervalo de supervisión y el umbral establecido.

Conclusión

Al utilizar las herramientas de monitoreo integradas de Windows, puede estructurar algunas soluciones de monitoreo útiles y potentes en torno a utilidades principales y PowerShell. ¡Con esta flexibilidad, podrá llegar al fondo de casi cualquier problema que pueda diagnosticarse mediante la recopilación de datos métricos!