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!