Счетчики производительности не запущены windows server 2019

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

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

Performance Monitor имеет огромное количество счётчиков для получения информации о железе, операционной системе, установленном ПО в виде конкретных цифр. 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).

добавить счетик в perfmon

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

график производительности в perfmon

Например, вам нужно посмотреть загрузку процессора виртуальными машинами и самим 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

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

запустить сбор данных в perfomance monitor

Через некоторое время можно просмотреть отчёт. Для этого в контекстном меню группы сбора данных нужно выбрать пункт 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 в perfmon

Далее нужно зайти в свойства данной группы сбора информации, перейти на вкладку 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”.

Performance counter Time has tripped its alert threshold

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

привязка data collector set в perfmon к задаче в task Scheduler

С помощью 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 загружен', 'Посмотреть')}"

вывод оповещения alert на экран при высокой загрузке cpu в perfmon

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

-to [email protected] -from [email protected] -ssl -port 465 -auth -smtp smtp.ddd.com -sub Alarm -v -user [email protected] +cc +bc -M "Alarm, CPU, Alarm" -pass "it12345"

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

One of the interesting things about having a home lab is you get to break things in ways that no one thought possible. I’ll give a nickle to the next person who has this happen to them.

I have three Exchange servers running Windows Server 2012 R2. Performance counters have been started on all three servers (see https://technet.microsoft.com/en-us/library/hh831394.aspx). One server had two IP addresses configured for one NIC so I could do some testing. When I removed the second IP address from the single NIC and restarted the server Server Manager complained that it could not refresh that server.

When I clicked Manageability in Server Manager it showed «Online — Cannot get performance counter data.» Re-adding the secondary IP and restarting the server doesn’t help.

Lots of troubleshooting later (involving Perfmon, Bing-fu, and swearing) I discovered the following fix:

  1. Open an elevated CMD prompt to C:\Windows
  2. Run lodctr /R to rebuild the perf registry strings and info from scratch based on the current registry settings and backup INI files. If this works, you’re done. In my case, it resulted with the error, «Error: Unable to rebuild performance counter setting from system backup store, error code is 2.» Very helpful. :-|
  3. Change to the C:\Windows\SysWOW64 folder and run lodctr /R again. This time I got «Info: Successfully rebuilt performance counter setting from system backup store«
  4. Run winmgmt /resyncperf to register the system performance libraries with WMI and then refresh Server Manager to see that the problem is resolved.

One of the reasons I run this blog is to maintain a memory of esoteric things like this. I doubt I’ll ever see it again.

Восстанавливаем счётчики производительности MSSQL. На примере Microsoft SQL Server 2019.

Иногда счётчики производительности MSSQL могут пропасть. Или вам нужно сменить счётчики производительности на другой язык.

Для начала проверим, что у вас есть исходники счётчиков. Для Microsoft SQL Server 2019 смотрим здесь:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn

Здесь находим файлы:

  • perf-MSSQLSERVERsqlctr.ini
  • perf-SQLSERVERAGENTsqlagtctr.ini

sql

Как видно по названиям счётчиков, у меня англоязычная версия.

Удаляем старые счётчики.

Для обычного экземпляра:

unlodctr MSSQLSERVER
unlodctr SQLAGENT

Для именованного экземпляра:

unlodctr MSSQL$MyName
unlodctr SQLAGENT$MyName

Загружаем счётчики (можно от другого языка, если есть):

cd C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn
lodctr perf-MSSQLSERVERsqlctr.ini
lodctr perf-SQLSERVERAGENTsqlagtctr.ini

Перезагружаем службы:

net stop "Remote Registry"
net stop "Performance Logs & Alerts" 
net start "Remote Registry"
net start "Performance Logs & Alerts"

Под админом восстанавливаем счётчики на всякий случай:

cd %systemroot%\system32
lodctr /R


Что такое Монитор Производительности?


Монитор производительности — это мощный инструмент, который предоставляет данные в реальном времени и исторические данные о производительности системы в Windows Server 2019. Он позволяет администраторам отслеживать различные показатели производительности, помогая в диагностике проблем, оптимизации выделения ресурсов и обеспечении бесперебойной работы сервера.


Основные функции монитора производительности


Монитор производительности предлагает несколько продвинутых функций, разработанных для комплексного анализа системы.


  • Сбор данных в реальном времени: Отслеживание производительности системы по мере ее происходит, обеспечивая немедленную диагностику и устранение проблем. Это крайне важно для решения внезапных снижений производительности или неожиданного поведения в приложениях.

  • Анализ исторических данных: Собирайте и анализируйте данные со временем, чтобы выявить тенденции и периодические проблемы. Эта функция является неотъемлемой для долгосрочной настройки производительности и планирования мощности, предоставляя понимание паттернов, которые могут быть неочевидны при мониторинге в реальном времени.

  • Наборы сбора данных, настраиваемые пользователем: создавайте наборы для сбора конкретных метрик на основе уникальных требований. Эти наборы могут быть настроены для мониторинга конкретных служб, приложений или аппаратных компонентов, обеспечивая гибкость в управлении производительностью.

  • Удаленный мониторинг: Управляйте несколькими серверами из одного интерфейса с использованием интеграции с Windows Admin Center. Эта функция позволяет администраторам контролировать производительность сети серверов без необходимости физического доступа, улучшая эффективность и время реакции.

  • Улучшенная визуализация: Несколько типов графиков и улучшенный пользовательский интерфейс для более легкой интерпретации данных. Эти визуальные средства включают линейные графики, гистограммы и столбчатые диаграммы, которые помогают быстро понять показатели производительности и выявить аномалии.


Дополнительные функции


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

  • Сценарии и автоматизация: используйте PowerShell или другие языки сценариев для автоматизации задач мониторинга, сокращая ручное вмешательство и обеспечивая постоянное отслеживание производительности.


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


Настройка монитора производительности на Windows Server 2019


Доступ к монитору производительности


Для доступа к Монитору производительности выполните следующие шаги:


  1. Откройте Windows Admin Center: Убедитесь, что у вас установлен и настроен Windows Admin Center.

  2. Перейдите в Диспетчер серверов: Откройте Диспетчер серверов из ваших административных инструментов.

  3. Выберите Монитор производительности: Выберите Монитор производительности из списка доступных инструментов в Менеджере сервера.


Создание наборов сбора данных


Наборы сбора данных (DCS) необходимы для отслеживания конкретных показателей производительности со временем. Вот как создать DCS:


  1. Открыть Монитор Производительности: Запустите инструмент Монитор Производительности.

  2. Щелкните правой кнопкой мыши на наборах сбора данных: Выбрать


    New


    >


    Data Collector Set


    .

  3. Следуйте мастеру: добавьте счетчики производительности, установите интервалы выборки и укажите форматы журналов.


Настройка счетчиков


Счетчики — это конкретные метрики, которые отслеживает Монитор Производительности. Примеры включают использование ЦП, использование памяти и активность диска.


  1. Выберите счетчики: выберите соответствующие счетчики для ваших потребностей в мониторинге.

  2. Настроить интервал выборки: Установите, как часто данные выбираются (например, каждые 15 секунд).

  3. Укажите формат журнала: выберите между форматами, такими как двоичный, текстовый или SQL.


Использование шаблонов для наборов сборщика данных


Для оптимизации развертывания DCS на нескольких серверах вы можете использовать шаблоны:


  1. Создание и настройка DCS: Установите DCS на сервере-эталоне.

  2. Экспорт конфигурации: Экспорт конфигурации DCS в файл шаблона XML.

  3. Импортировать шаблон на другие серверы: используйте шаблон для воспроизведения настройки на других серверах.


Использование Монитора производительности для устранения неполадок


Мониторинг в реальном времени


Для немедленного устранения неполадок ценно реальное мониторинг. Администраторы могут добавлять счетчики на лету, чтобы видеть, как система работает в текущих условиях. Данные в реальном времени позволяют быстро выявлять и устранять проблемы, такие как всплески ЦП, утечки памяти или узкие места ввода-вывода диска.


Добавление счетчиков в реальном времени


  1. Откройте Монитор Производительности: Перейдите к инструменту Монитор Производительности.

  2. Добавить счетчики: Нажмите


    +


    иконка для добавления новых счетчиков.

  3. Выберите соответствующие метрики: выберите метрики, соответствующие проблеме, которую вы решаете.


Анализ исторических данных


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


Анализ исторических данных


  1. Открыть сохраненные данные: Загрузить исторические журналы производительности из Монитора производительности.

  2. Изучите тенденции: ищите повторяющиеся проблемы или тенденции со временем.

  3. Генерация отчетов: Создание подробных отчетов для обмена результатами с заинтересованными сторонами.


Оповещения и уведомления


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


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


  1. Создать новое оповещение: В Мониторе производительности щелкните правой кнопкой мыши на Оповещения и выберите


    New Alert


    .

  2. Установите пороги: Определите условия, при которых срабатывает предупреждение (например, использование ЦП > 80%).

  3. Настроить действия: Укажите действия, такие как отправка уведомлений по электронной почте или запуск сценариев.


Лучшие практики мониторинга производительности


Регулярный мониторинг


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


Пользовательские панели.


Используйте настраиваемые панели инструментов для фокусировки на критических метриках, важных для вашей среды. Настройка представлений под конкретные потребности повышает эффективность мониторинга. Используйте Центр администрирования Windows для создания и настройки панелей инструментов, отображающих ключевые показатели эффективности (KPI) на лету. Настраиваемые панели инструментов обеспечивают централизованный обзор состояния системы, что упрощает обнаружение аномалий и снижение производительности.


Создание пользовательских панелей.


  1. Откройте Windows Admin Center: перейдите на вкладку «Панель инструментов», чтобы начать создание пользовательского представления.

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

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


Сотрудничество


Совместное использование рабочих пространств и шаблонов способствует сотрудничеству среди членов команды, обеспечивая, что все находятся на одной волне и следуют лучшим практикам. Такой коллективный подход улучшает общее управление системой и позволяет разделять ответственность за поддержание здоровья сервера. Использование общих шаблонов для наборов сборщиков данных обеспечивает согласованность конфигураций мониторинга на разных серверах и в различных средах. Регулярные обзоры команды производительности данных и панелей инструментов помогают согласовывать приоритеты и планы действий.


Реализация систем оповещения


Настройка автоматических оповещений о критических порогах производительности обеспечивает своевременное вмешательство. Оповещения могут быть настроены для отправки уведомлений по электронной почте, SMS или интегрированы с инструментами управления ИТ-сервисами. Эти оповещения обеспечивают проактивное управление, информируя администраторов о потенциальных проблемах до их влияния на пользователей.


Почему выбрать TSplus


Для тех, кто хочет улучшить свои возможности управления сервером, рассмотрите возможность исследования.


Мониторинг сервера TSplus


, комплексное решение, которое предлагает программное обеспечение для мониторинга серверов и веб-сайтов в реальном времени для удаленных рабочих инфраструктур. Посетите TSplus, чтобы узнать больше о наших решениях.


Заключение


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

Как я уже писал ранее, не так давно начал пользоваться Server Manager для контроля состояния серверов организации. Одними из полезнейших фич Server Manager являются уведомления о достигнутом пороге производительности. Исходящая именно от этой фичи ошибка Cannot get performance counter data, в течение первых нескольких месяцев использования постоянно мозолила глаза и отображалась напротив одного из серверов. Не мог Server Manager получить данные о производительности с сервера.

Однажды дошли у меня руки до злополучного сервера. Речь пойдёт о сервере под управлением Windows Server 2008 SP2. Опишу по порядку как действовал я. Лишние шаги, конечно, опущу.

1. Проверить Server Manager Performance Monitor. Оказывается Server Manager создает пользовательский Data Collector Set, который запускается при нажатии пункта Start perfomance counter в контекстном меню сервера в окне Server Manager.

На скриншоте видно, что монитор запущен. Более того, по указанному в правой части окна в колонке Output пути находился файл, который читался и был в правильном формате.

2. Проверить журнал Server Manager. Необходмый журнал находится в консоли Event Viewer -> Application and Service Logs -> Microsoft -> Windows -> ServerManager-ManagementProvider -> Operational. Тут были обнаружены две ошибки, которые возникали в момент, когда Server Manager подтягивал данные с серверов. Первая ошибка: Failed to get the performance data with error code PDH_LOG_TYPE_NOT_FOUND. Error: 0xc0000bcb, Qfe Check: false, вторая: Get counter samples in time range task generated an error (0x5).

Первая ошибка не даёт никакой полезной информации, в то время как вторая явно указывает на нехватку прав. Я сравнил разрешения ntfs, установленные на файл, в котором хранятся данные мониторинга производительности (находится в папке C:\PerfLogs\Admin\ServerManager), с разрешениями на идентичный файл на сервере с той же операционнной системой, но с корректно работающим монитором производительности. Разрешения были идентичными.

3. И тут я решил использовать Procmon для проверки к этому ли файлу и у какой учётки нет доступа. Запустил Procmon, настроил фильтр, чтоб отображались только события обращения к файлу в папке C:\PerfLogs\Admin\ServerManager.

Как видно на скриншоте, всё оказалось достаточно предсказуемо учётке Network Service не хватало прав на файл с данными мониторинга производительности.

В итоге, необходимо просто дать разрешения учётной записи network service на папку C:\PerfLogs\Admin\ServerManager и заменить все права дочерним элементам внутри этой папки. Единственная загадка для меня – это почему идентичные права на разных серверах не гарантируют идентичность работы Performance Monitor.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как убрать название папки в windows 10 без нумпада
  • Защитник windows 10 этим параметром управляет ваш администратор как исправить
  • Драйвер для defender game racer turbo rs3 драйвер windows
  • Стоит ли устанавливать антивирус на windows 11
  • Долго думает при установке windows