Мониторинг сервера windows server 2012

Мониторинг производительности Windows Server, настройка оповещений счетчиков PerfMon

В этой статье мы рассмотрим особенности использования встроенных счетчиков производительности Performance Monitor для мониторинга состояния Windows Server. Счетчики PerfMon можно использовать для отслеживания изменений определенных параметров производительности сервера (алертов) и оповещать администратора в случае возникновения высокой загрузки или других нештатных состояниях.

Чаще всего для мониторинга работоспособности, доступности, загруженности серверов используются сторонние продукты. Если вам нужно получать информацию о производительности приложений либо железа только с одного-двух Windows-серверов, либо когда это нужно на непостоянной основе, либо возник более сложный случай, требующий глубокого траблшутинга производительности, то можно воспользоваться встроенным функционалом Windows Performance Monitor.

Основные возможности Performance Monitor, которые можно использовать отдельно или совместно с другими сторонними системами мониторинга (типа Zabbix, Nagios, Cacti и другие):

  • cистема мониторинга при выводе информации о производительности сначала обращается к Performance Monitor;
  • главной задачей системы мониторинга является оповещение о наступлении тревожного момента, аварии, а у Performance Monitor – собрать и предоставить диагностические данные.

Текущие значения производительности Windows можно получить из Task Manager, но Performance Monitor умеет несколько больше:

  • Task Manager работает только в реальном времени и только на конкретном (локальном) хосте;
  • в Performance Monitor можно подключать счётчики с разных серверов, вести наблюдение длительное время и собранную информацию сохранять в файл;
  • в Task Manager очень мало показателей производительности.

Мониторинг производительности процессора с Perfomance Monitor

Для снятия данных о производительности процессора воспользуемся несколькими основными счётчиками:

  • \Processor\% Processor Time определяет уровень загрузки ЦП, и отслеживает время, которое ЦП затрачивает на работу процесса. Уровень загрузки ЦП в диапазоне в пределах 80-90 % может указывать на необходимость добавления процессорной мощности.
  • \Processor\%Privileged Time — соответствует проценту процессорного времени, затраченного на выполнение команд ядра операционной системы Windows, таких как обработка запросов ввода-вывода SQL Server. Если значение этого счетчика постоянно высокое, и счетчики для объекта Физический диск также имеют высокие значения, то необходимо рассмотреть вопрос об установке более быстрой и более эффективной дисковой подсистемы (см. более подробную статью об анализе производительности дисков с помощью PerfMon).
  • \Processor\%User Time — соответствует проценту времени работы CPU, которое он затрачивает на выполнение пользовательских приложений.

Запустите Performance Monitor с помощью команды perfmon. В разделе Performance Monitor отображается загрузкой CPU в реальном времени с помощью графика (параметр Line), с помощью цифр (параметр Report), с помощью столбчатой гистограммы (параметр Histogram bar) (вид выбирается в панели инструментов). Чтобы добавить счетчики, нажмите кнопку “+” (Add Counters).

Слева направо двигается линия в реальном времени и отображает график загрузки процессора, на котором можно увидеть, как всплески, так и постоянную нагрузку.

Читайте также:  Настройка схемы электропитания windows 10 ryzen

Например, вам нужно посмотреть загрузку процессора виртуальными машинами и самим Hyper-V. Выберите группу счетчиков Hyper-V Hypervisor Logical Processor, выберите счетчик % Total Run Time. Вы можете показывать нагрузку по всем ядрам CPU (Total), либо по конкретным (HV LP №), либо всё сразу (All Instances). Выберем Total и All Instances.

Группы сборщиков данных в PerfMon

Чтобы не сидеть целый за наблюдением движения линии, создаются группы сбор данных (Data Collector Set), задаются для них параметры и периодически просматриваются.

Чтобы создать группу сбора данных, нужно нажать на разделе User Defined правой кнопкой мыши, в меню выбрать New -> Data Collector Set. Выберите Create manually (Advanced) -> Create Data Logs и включите опцию Performance Counter. Нажмите Add и добавите счётчики. В нашем примере % Total Run Time из группы Hyper-V Hypervisor Logical Processor и Available MBytes из Memory. Установите интервал опроса счётчиков в 3 секунды.

Далее вручную запустите созданный Data Collector Set, нажав на нём правой кнопкой мыши и выбрав в меню пункт Start.

Через некоторое время можно просмотреть отчёт. Для этого в контекстном меню группы сбора данных нужно выбрать пункт Latest Report. Вы можете посмотреть и проанализировать отчёт производительности в виде графика. Отчёт можно скопировать и переслать. Он хранится в C:\PerfLogs\Admin\CPU_Mon и имеет расширение .blg.

Если нужно на другом сервере запустить такой же набор счётчиков, как на первом, то их можно переносить экспортом. Для этого в контекстном меню группы сбора данных выберите пункт Save Template, укажите имя файла (расширение .xml). Скопируйте xml файл на другой сервер, создайте новую группу сбора данных, выберите пункт Create from a template и укажите готовый шаблон.

Создание Alert для мониторинга загрузки CPU

В определённый критический момент в Performance Monitor могут срабатывать алерты, которые помогают ИТ-специалисту прояснить суть проблемы. В первом случае алерт может отправить оповещение, а во втором – запустить другую группу сбора данных.

Чтобы создать алерт в PerfMon, нужно создать ещё один Data Collector Set. Укажите его имя CPU_Alert, выберите опцию Create manually (Advanced), а затем — Performance Counter Alert. Добавьте счётчик % Total Run Time из Hyper-V Hypervisor Logical Processor, укажите границу загрузки 50 %, при превышении которой будет срабатывать алерт, установите интервал опроса счётчика в 3 секунды.

Далее нужно зайти в свойства данной группы сбора информации, перейти на вкладку Alert Action, включить опцию Log an entry in the application event log и запустить группу сбора данных. Когда сработает алерт, в журнале (в консоли Event Viewer в разделе Applications and Services Logs\Microsoft\Windows\Diagnosis-PLA\Operational) появится запись:

Performance counter \Processor(_Total)\% Processor Time has tripped its alert threshold. The counter value of 100.000000 is over the limit value of 50.000000. 50.000000 is the alert threshold value”.

Читайте также:  Заморозка системы windows 10

Здесь же рассмотрим и второй случай, когда нужно запустить другую группу сбора данных. Например, алерт срабатывает при достижении высокой загрузки CPU, делает запись в лог, но вы хотите включить сбор данных с других счётчиков для получения дополнительной информации. Для этого необходимо в свойствах алерта в меню Alert Action в выпадающем списке Start a data collector set выбрать ранее созданную группу сбора, например, CPU_Mon. Рядом находится вкладка Alert Task, в которой можно указать разные аргументы либо подключить готовую задачу из консоли Task Scheduler, указав её имя в поле Run this task when an alert is triggered. Будем использовать второй вариант.

С помощью Task Scheduler можно выполнить какие-то действия: выполнить команду, отправить письмо или вывести сообщение на экран (сейчас последниед ве функции не поддерживаются, считаются устаревшими (deprecated)). Для вывода на уведомления на экран можно использовать скриптом PowerShell. Для этого в консоли Task Scheduler создайте новую задачу, на вкладке Triggers выберите One time, на вкладке Actions в выпадающем поле Action выбирите параметр Start a program, в поле Program/Script укажите powershell.exe, а в поле Add arguments (optional) следующий код:

-WindowStyle hidden -Command «& <[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Внимание, CPU загружен', 'Посмотреть')>«

Для отправки письма вы можете воспользоваться командлетом PowerShell Send-MailMessage или стороннюю утилиту mailsend.exe.. Для этого создайте аналогичное задание в Task Scheduler, в поле Program/Script укажите полный путь к утилите (у нас C:\Scripts\Mail\mailsend.exe), а в поле Add arguments (optional) через параметры нужно передать значения: электронный адрес, адрес и номер порта SMTP-сервера, текст письма и заголовка, пароль:

-to dep.it@ddd.com -from dep.it@ddd.com -ssl -port 465 -auth -smtp smtp.ddd.com -sub Alarm -v -user dep.it@ddd.com +cc +bc -M «Alarm, CPU, Alarm» -pass «it12345»

где +cc означает не запрашивать копию письма, +bc — не запрашивать скрытую копию письма.

Консоль Server Manager в Windows Server 2012

Ввести единую консоль управления сервером Windows Microsoft хотела еще с момента выпуска Windows Server 2008. Данная консоль управления получила название Server Manager, однако работать с ней было крайне неудобно. В Windows Server 2008 R2 консоль эту немного доработали, и часть операций управления сервером уже было удобно выполнять именно из нее. В Windows Server 2012 консоль управления Server Manager была существенно улучшена и доработана, причем, стоит отметить, данный инструмент управления сервером Windows стал действительно удобным и полезным.

По сути, консоль Server Manager является графической оберткой для генерации скриптов PowerShell (эта функционал не понаслышке знаком администраторам Exchange 2010). Например, в консоли управления AD — Active Directory Administrative Center появилась специальная панель — PowerShell History,в которой генерируются и отображаются скрипты, дублирующие действия администратора в GUI, и данный код можно использовать в дальнейшем для автоматизации некоторых задач по управлению параметрами и объектами Active Directory.

Читайте также:  Zabbix template os linux by zabbix agent

В новой консоли Server Manager появились следующие возможности:

  • Возможность одновременного управления несколькими серверами из одной консоли, и возможность группировки серверов
  • Возможность установки ролей и функций на удаленных серверах и отключенных виртуальных дисках (Vhd, Vhdx)
  • Действия в консоли можно переводить в команды PowerShell
  • Возможность интеграции других инструментов управления в консоль
  • Мониторинг статуса всех подключенных серверов в одной панели (dashboard)

Консоль Server Manager запускается автоматически при входе на сервер и первое, что видит администратор – это панель Dashboard. На данной панели отображается текущее состояние серверов, подключенных к данной консоли Server Manager. В том случае, если наблюдались какие-либо проблемы с сервером или группой серверов, около элементов, требующих внимания администратора появляются красные значки (если присутствуют только зеленые элементы – все ОК).

В верхнем тулбаре окна располагаются несколько иконок и пункты меню: Manage, Tools, View и Help.

С помощью иконки Refresh можно вручную обновить информацию на панели Dashboard. Кроме того тут расположена иконка в виде флажка, если он красного цвета, то щелчок по нему покажет все обнаруженные на серверам проблемы.

В меню управления (Manage) присутствуют пункты Add Roles and Features, Remove Roles and Features (установка/удаление ролей и функций), Add servers (добавление серверов в группу управления), Create Group (создать группу серверов) и Server Manager Properties (настройки консоли Server Manager: периодичность обновления, автоматический запуск).

В меню Tools присутствуют ссылки на различные MMC консоли и другие утилиты администрирования. В данное меню можно добавить собственные инструменты (Как добавить собственные утилиты в Server Manager).

В правой панели содержаться следующие элементы: Dashboard, Local Server, All Servers и несколько групп серверов, созданных администратором. В центральной панели можно осуществить настройку локального сервера, управлять ролями и функциями и управлять группами серверов.

В разделе Local Server (локальный сервер) можно получить практически всю информацию о сервере, его ролях, событиях и службах. В свойствах локального сервера отображается такая информация, как имя компьютера, домен, настройки сети, версию ОС, параметры службы обновлений Windows, статус активации, параметры оборудования и временная зона.

В разделе All Servers содержится практически та же самая информация, что и у локального сервера, отличия в том, что из данного раздела можно просмотреть параметры сразу нескольких серверов.

В консоли можно создать несколько групп серверов по какому-либо признаку, например, “сервера филиала в Рязани”, все контроллеры домена, Exchange или Web сервера. Причем на данные сервера совсем не обязательно должна стоять Windows Server 2012, это могут быть и Windows 2008/R2/2003/R2, главное, чтобы на них был установлен и активирован пакет WinRM 3.0.

Добавить сервера в консоль можно с помощью соответствующего меню.

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

Оцените статью