Как настроить мониторинг для оповещения при высоком использовании системы Windows — CloudSavvy IT

Perfmon

Perfmon — один из наиболее игнорируемых инструментов в Windows, также известный как монитор производительности. У этой утилиты много пропущенных способностей, одна из которых — способность предупреждать о различных метрических условиях. В этой статье мы рассмотрим, как правильно использовать возможность оповещения Perfmon при высокой загрузке процессора.

Что такое Perfmon?

Монитор производительности, доступный с первых дней существования Windows на разных итерациях, доступен в виде оснастки MMC для Windows, предназначенной для помощи в мониторинге использования системы и различных показателей производительности. Представление по умолчанию при запуске выделяет несколько различных областей и метрики в реальном времени.

  • Монитор производительности — Просмотр метрик в режиме реального времени
  • Наборы сборщиков данных — Определенный сбор данных за заданный интервал времени
  • Отчеты — Как просмотреть данные, собранные в наборах сборщиков данных

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

Просмотр метрик

При первом нажатии на системный монитор вам будет показан движущийся линейный график, по умолчанию %Processor Time, Это само по себе не очень полезно, поскольку данные представляют собой скользящее значение, и мы действительно хотим знать, существуют ли неблагоприятные условия.

Вы можете добавить дополнительные метрики к этому графику, нажав на зеленый плюс и добавив больше метрик. Имейте в виду, что шкала значений может не совпадать между различными точками данных и, следовательно, может оказаться менее полезной при объединении на одном графике.

Наборы сборщиков данных

Данные в реальном времени полезны, но не то, что мы в конечном итоге ищем. Как тогда мы предупреждаем об определенных условиях, в этом случае высокая загрузка ЦП сохраняется в течение долгого времени?

Именно здесь вступают в силу наборы сборщиков данных. После расширения наборов сборщиков данных щелкните правой кнопкой мыши Определено пользователем → Создать → Набор сборщиков данных,

Вам будет предоставлена ​​возможность назвать набор и указать, создавать ли набор из шаблона или создавать набор вручную. В этом случае нам нужно вручную создать нашу конфигурацию.

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

Поскольку мы стремимся отслеживать общий процент загрузки процессора, наиболее важно выбрать правильную метрику для мониторинга. Здесь мы выбираем Процессор → _Total нажав «Добавить >>» рядом с выбранным экземпляром.

Одна проблема в том, что вы получаете все Процессор _Total метрики. В конечном итоге, мы просто хотим \Processor(_Total)\% Processor Time Метрика. Чтобы удалить остальные, выберите каждый и нажмите кнопку «Удалить».

К сожалению, способ, которым работает удаление, вы не можете просто нажимать на кнопку удаления несколько раз, так как он каждый раз перемещает выбранный элемент вверх. Выберите каждую метрику отдельно и нажмите «Удалить».

Теперь нам нужно сообщить счетчику производительности, в какой момент должно начаться оповещение, и в этом случае мы надеемся, что оно будет оповещено только тогда, когда 95,

Наконец, сохраните и закройте набор сборщиков данных.

Настройка оповещений

Теперь, когда наша конфигурация по умолчанию недоступна, нам нужно настроить, какое действие оповещения будет происходить. Существует два способа настройки оповещений: «Действие оповещения» и «Задача оповещения». Выберите свой Определено пользователем → Высокая загрузка ЦП набор данных, щелкните правой кнопкой мыши по умолчанию DataCollector01 введите и выберите Свойства.

Самый простой способ начать мониторинг записей — перейти на вкладку «Действие предупреждения» и установить флажок «Записать запись в журнал событий приложения». У вас также есть удобная опция для запуска другого набора сборщиков данных, когда критерии предупреждения выполнены. Таким образом, вы можете собирать дополнительные записи по мере необходимости. Здесь, однако, мы просто собираемся записать запись.

Настройка задачи оповещения

Это все хорошо, но в конечном итоге мы не получаем реального предупреждения в этом случае, просто новую запись в журнале событий. На вкладке «Задача оповещения» мы можем указать этому сборщику данных запустить запланированное задание и отправить некоторые параметры, которые затем могут выполнять любые действия по оповещению, которые мы хотим. Чтобы сделать эту работу, нам нужно сделать две вещи. Создайте скрипт для запуска и саму запланированную задачу.

Сценарий регистрации

Ниже приведен очень простой сценарий регистрации. Мы читаем в метриках оповещений, выданных Задачей оповещения, и отправляем эти результаты в файл журнала.

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'

Запланированное задание

Здесь нам нужно создать запланированное задание, которое будет фактически запускать скрипт при вызове сборщиком данных. Мы используем PowerShell для создания запланированной задачи и используем PowerShell 7 в качестве среды выполнения, как обозначено 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'

Пока PowerShell 7 официально не выпущен, исполняемый файл может быть pwsh-preview.exe,

Настройка задачи оповещения

Наконец, нам нужно настроить задачу оповещения на сборщике данных. Для этого перейдите в свойства снова DataCollector01 и введите следующие данные.

Мы цитируем аргументы задачи, потому что они входят как строки в PowerShell. Поэтому, цитируя их, мы облегчаем разделение аргументов по индексу, т.е. $arg[0] или же $arg[1],

После того, как вы нажмете «Сохранить», вам может быть предложено ввести учетные данные, это должен быть пользователь с правами администратора.

Запуск сборщика данных

Щелкнув правой кнопкой мыши на наборе сборщиков данных, высокая загрузка ЦП и выбрав Начните, вы начнете процесс сбора. Если вы контролируете запланированные задачи, вы увидите, что вновь созданные запланированные задачи периодически запускаются в зависимости от установленного интервала мониторинга и порогового значения.

Вывод

Используя встроенные средства мониторинга Windows, вы можете структурировать некоторые полезные и мощные решения для мониторинга вокруг основных утилит и PowerShell. Благодаря такой гибкости вы сможете докопаться до практически любой проблемы, которая может быть диагностирована с помощью сбора метрических данных!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *