Как получать оповещения по электронной почте, когда средняя загрузка ЦП превышает 90 процентов в течение 30 минут?

Я пытаюсь получить среднюю загрузку ЦП в течение 30 минут. Если он превышает 90 процентов в течение 30 минут, я могу получать оповещения по электронной почте с помощью планировщика задач, монитора производительности и сценария PowerShell.

Я пытался, но получаю полную загрузку ЦП каждые 30 минут.

Можете ли вы поделиться тем, что вы пробовали до сих пор?

Fourat 02.04.2019 09:27

Монитор производительности>>Набор сборщиков данных>Определяется пользователем>Производительность процессора. Здесь я добавил производительность процессора, в которой счетчик производительности "\Process(_Total)\%Processor Time", так как я здесь выдает предупреждение 4 cpu, когда установлено значение 380 и интервал 30 минут.

Nikhil 02.04.2019 09:34

Я создал задачу в планировщике задач и добавил действие> запустить программу> программа/скрипт «путь к powershell.exe> ​​добавить аргумент» -файл script.ps1

Nikhil 03.04.2019 12:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
749
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Приведенный ниже сценарий даст вам среднее время процессора более 30 минут. Затем вы можете заставить сценарий отправить электронное письмо, если среднее значение процессора за 30-минутный период превышает 90. Я прокомментировал код для облегчения понимания.

Resizable array you can add items to
[System.Collections.ArrayList]$List = @()

#Counter which is increased by 1 after getting each counter
$Counter = 0

#As long as the counter is less than the below value... (1800 = 30 minutes)
While ($Counter -lt 10)
{
    #Get 1 counter per second
    $CpuTime = $(Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 1 -MaxSamples 1).CounterSamples.CookedValue

    #Add the CPU total time to the list
    $List.Add($CpuTime)

    #Increase the counter by 1. As we are getting one sample per second, this will be increased by one each second
    $Counter++
}

#Get the minimum, average and maximum of the values stored in the list
$Measurements = $List | Measure-Object -Minimum -Average -Maximum

#Email bit. To befinished by you
If ($Measurements.Average -gt 90)
{
    Send-MailMessage ......
}

Надеюсь это поможет.

Могу ли я заменить $Array -> $List?

Nikhil 02.04.2019 13:14

О, да, мой плохой. Пока я писал это, я изменил имя переменной с $Array на $List, так что да, просто замените $Array на $List. Я отредактирую свой ответ.

MondQ 02.04.2019 13:18

Если мой ответ был полезен, пожалуйста, проголосуйте за него, или, если он ответил на ваш вопрос, отметьте его как правильный ответ. Оба, чтобы помочь людям, смотрящим на это в будущем.

MondQ 02.04.2019 17:30

Другие вопросы по теме