Steps to reproduce:
Hard to predict but it happen and agent not return accidently data for perf_cunter till restart agent
2021/12/15 14:36:09.353647 failed to execute exporter task for itemid:8513769 key 'perf_counter_en\[\\LogicalDisk(C:)\\Avg. Disk sec/Write]' error: 'No data to return. ' 2021/12/15 14:36:09.354649 check 'perf_counter_en\[\\LogicalDisk(C:)\\Avg. Disk sec/Write]' is not supported: No data to return. 2021/12/15 14:36:09.356650 executed exporter task for itemid:20689209 key 'vfs.fs.size\[C:\\ClusterStorage\\CSV0010,pused]' 2021/12/15 14:36:09.356650 executed exporter task for itemid:21400029 key 'vfs.fs.size\[C:\\ClusterStorage\\New_CSV0015,pused]' 2021/12/15 14:36:09.665915 \[UserParameter] command:' powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "c:\\mon-agent\\scripts\\microsoft.ps1" -Action "getnode" -Object "CAB-PSP-HV00084" -Key "none"' length:2 output:'Up' 2021/12/15 14:36:09.665915 executed exporter task for itemid:9962159 key 'microsoft\[getnode,"CAB-PSP-HV00084",none]' 2021/12/15 14:36:09.665915 executing exporter task for itemid:9962161 key 'microsoft\[getnode,"CAB-PSP-HV00086",none]' 2021/12/15 14:36:09.665915 \[UserParameter] executing command:' powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "c:\\mon-agent\\scripts\\microsoft.ps1" -Action "getnode" -Object "CAB-PSP-HV00086" -Key "none"' 2021/12/15 14:36:10.336272 plugin WindowsPerfMon: executing collector task 2021/12/15 14:36:10.336272 plugin Cpu: executing collector task 2021/12/15 14:36:10.336272 executing exporter task for itemid:21400030 key 'vfs.fs.size\[C:\\ClusterStorage\\New_CSV0016,pused]' 2021/12/15 14:36:10.336272 executing exporter task for itemid:20689210 key 'vfs.fs.size\[C:\\ClusterStorage\\DC_CSV_NewTemp1,pused]' 2021/12/15 14:36:10.338275 plugin 'WindowsPerfMon' collector failed: No data to return. 2021/12/15 14:36:10.338275 executing exporter task for itemid:8513770 key 'perf_counter_en\[\\LogicalDisk(C:)\\Disk Reads/sec]' 2021/12/15 14:36:10.338275 parsed performance counter \\LogicalDisk\\Disk Reads/sec 2021/12/15 14:36:10.339275 failed to execute exporter task for itemid:8513770 key 'perf_counter_en\[\\LogicalDisk(C:)\\Disk Reads/sec]' error: 'No data to return. ' 2021/12/15 14:36:10.339275 check 'perf_counter_en\[\\LogicalDisk(C:)\\Disk Reads/sec]' is not supported: No data to return. 2021/12/15 14:36:10.339275 executed exporter task for itemid:20689210 key 'vfs.fs.size\[C:\\ClusterStorage\\DC_CSV_NewTemp1,pused]' 2021/12/15 14:36:10.340275 executed exporter task for itemid:21400030 key 'vfs.fs.size\[C:\\ClusterStorage\\New_CSV0016,pused]' 2021/12/15 14:36:11.284206 \[UserParameter] command:' powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "c:\\mon-agent\\scripts\\microsoft.ps1" -Action "getnode" -Object "CAB-PSP-HV00085" -Key "none"' length:2 output:'Up' 2021/12/15 14:36:11.284206 executed exporter task for itemid:9962160 key 'microsoft\[getnode,"CAB-PSP-HV00085",none]' 2021/12/15 14:36:11.284206 plugin WindowsPerfMon: executing collector task 2021/12/15 14:36:11.285205 plugin Cpu: executing collector task 2021/12/15 14:36:11.285205 executing exporter task for itemid:20689211 key 'vfs.fs.size\[C:\\ClusterStorage\\CSV0002,pused]' 2021/12/15 14:36:11.285205 executing exporter task for itemid:9962065 key 'microsoft\[getgroup,"CAB-PSP-TDC0012",none]' 2021/12/15 14:36:11.285205 \[UserParameter] executing command:' powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "c:\\mon-agent\\scripts\\microsoft.ps1" -Action "getgroup" -Object "CAB-PSP-TDC0012" -Key "none"' 2021/12/15 14:36:11.286206 executing exporter task for itemid:21400031 key 'vfs.fs.size\[C:\\ClusterStorage\\New_CSV0017,pused]' 2021/12/15 14:36:11.287208 plugin 'WindowsPerfMon' collector failed: No data to return. 2021/12/15 14:36:11.288207 executing exporter task for itemid:8513771 key 'perf_counter_en\[\\LogicalDisk(C:)\\Disk Writes/sec]' 2021/12/15 14:36:11.288207 executed exporter task for itemid:20689211 key 'vfs.fs.size\[C:\\ClusterStorage\\CSV0002,pused]' 2021/12/15 14:36:11.288207 parsed performance counter \\LogicalDisk\\Disk Writes/sec 2021/12/15 14:36:11.291207 failed to execute exporter task for itemid:8513771 key 'perf_counter_en\[\\LogicalDisk(C:)\\Disk Writes/sec]' error: 'No data to return.
Expected:
Get data fine.
Skip to content
Navigation Menu
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
Description
Relevant telegraf.conf:
[[inputs.win_perf_counters]] [[inputs.win_perf_counters.object]] ObjectName = "AD FS" Counters = ["Token Requests"] Instances = ["*"] Measurement = "win_adfs" #IncludeTotal=true #Set to true to include _Total instance when querying for all (*).
System info:
Steps to reproduce:
- …
- …
Expected behavior:
verified perf counter exists and has a value in it
expect it to end up in prometheus
Actual behavior:
getting error [inputs.win_perf_counters]: Error in plugin: No data to return.
Additional info:
This error is being encountered on a new server we’ve built to replace an old server.
On the old server, the sensor works perfectly fine.
Here is everything I’ve checked:
OS version is the same — 2008 R2 (replacing physical server with vm)
Cisco firewall ACLs are the same (both servers are in the same ACLs)
Windows Firewall is turned off
Tested using Powershell «Get-Counter» from the PRTG server, while logged in with the account that PRTG runs under:
Get-Counter ‘\Process(*)\% Processor Time’ -ComputerName servername
Checked GPO results on both — nothing different
What am I missing?
Can someone at PRTG maybe explain EXACTLY how this sensor gets information? i.e. does it use .NET or Powershell or some other command under the hood?
Lastly, is it possible to use CIM, rather than WMI to check something like this?
perfcounter
prtg
wmi
Данный материал является переводом оригинальной статьи «MSSQLTips : Joe Gavin : Introduction to Windows Performance Monitor for SQL Server».
В данной вводной статье, мы узнаем о том, как можно использовать Windows Performance Monitor для изучения проблем с производительностью Microsoft SQL Server. Узнаем, что такое Performance Monitor и рассмотрим несколько примеров добавления счетчиков, сохранения повторно используемых шаблонов и составления отчетов по данным о производительности.
Что такое Windows Performance Monitor?
Windows Performance Monitor (далее «монитор производительности»), обычно называемый просто Perfmon, представляет собой программу Windows, используемую системными администраторами для мониторинга ряда системных областей, а также очень полезный инструмент для администраторов баз данных. Он существует со времен Microsoft Windows 3.51. Perfmon может отображать информацию в режиме реального времени или из файлов журнала для последующего просмотра.
Как монитор производительности может мне помочь?
Perfmon может отслеживать стандартные счетчики производительности (ЦП, процессорное время, память, сеть, физический диск, чтение с диска и т.д.), которые устанавливаются вместе с операционной системой Windows, а также специальные счетчики, устанавливаемые с SQL Server.
Запуск монитора производительности
Примечание. Все ниже описанные примеры выполнялись на Windows Server 2019 Standard с SQL Server 2019 Standard.
Существует несколько способов запуска монитора производительности, в том числе:
- Start > Введите «Performance Monitor» в строке поиска
- Start > «Windows Administrative Tools» > «Performance Monitor«
- Щелкните ПКМ Start > «Run» > наберите «perfmon» в строке запуска
- Клавиша «Windows» + «R» > наберите «perfmon«в строке запуска
Какой бы способ вы ни выбрали, вам будет представлен монитор производительности. Щелкните «Performance Monitor» в дереве навигации слева.
Добавление счетчиков Perfmon
Счетчик «% Processor Time» запущен по умолчанию. Нажмите на зеленый плюс на верхней панели кнопок, чтобы начать добавлять счетчики.
В списке вы увидите большое количество объектов или категорий Perfmon. И под каждым Объектом находится почти невероятное количество Счетчиков. Ничего страшного, мы просто сосредоточимся на некоторых из них.
- Прокрутите вверх, чтобы щелкнуть раскрывающийся список объекта, который вас интересует;
- Выберите Счетчик;
- При необходимости установите флажок «Show description«, чтобы получить описание Счетчика;
- Нажмите «Add«;
- Нажмите «OK«
Нажав на Счетчик, мы увидим график добавленного Счетчика и его показателей.
Мы вернулись и добавили некоторые стандартные счетчики мониторинга SQL Server таким же образом, как мы добавили Memory \ Available MBytes, и теперь у нас есть следующие запущенные объекты \ счетчики:
Perfmon Объект |
Perfmon Счетчик |
Memory |
Available MBytes |
Processor |
% Processor Time |
SQLServer:Access Methods |
Forwarded Records/sec |
SQLServer:Access Methods |
Full scans/sec |
SQLServer:Access Methods |
Page Splits / Sec |
SQLServer:Buffer Manager |
Buffer Cache hit ratio |
SQLServer:Buffer Manager |
Checkpoint Pages / Sec |
SQLServer:Buffer Manager |
Page life expectancy |
SQLServer:General Statistics |
User Connections |
SQLServer:Locks |
Average Wait Time (ms) |
SQLServer:Locks |
Lock Waits / Sec |
SQLServer:Memory Manager |
Memory Grants Pending |
SQLServer:Memory Manager |
Target Server Memory (KB) |
SQLServer:Memory Manager |
Total Server Memory (KB) |
SQLServer:SQL Statistics |
Batch Requests/Sec |
SQLServer:SQL Statistics |
SQL Compilations/Sec |
SQLServer:SQL Statistics |
SQL Re-Compilations/Sec |
Создание Data Collector Set
Добавление счетчиков немного утомительно, и очень легко случайно закрыть Perfmon и потерять то, что вы добавили. Итак, на данном этапе хорошей идеей будет сохранить счетчики, которые вы используете, в Collector Set. Это позволит вам легко вернуть их обратно после закрытия Perfmon.
- Щелкните ПКМ «Performance Monitor«;
- Выберите «New«;
- Выберите «Data Collector Set«.
- Задайте имя для Collector Set;
- Нажмите «Next«.
- Оставьте корневой каталог по умолчанию или нажмите «Browse…» для сохранения в другое расположение;
- Нажмите «Next«.
- Выберите другую учетную запись или оставьте по умолчанию;
- Нажмите «Finish«.
И вот вы под «Data Collector Sets» > «User Defined«.
Сохранение Data Collector Set в шаблоне
Теперь, когда мы сохранили Collector Set, давайте экспортируем его в шаблон. Шаблон представляет собой редактируемый XML-файл, который можно использовать на другом компьютере с Windows и который удобно иметь в своем наборе инструментов.
- Щелкните ПКМ на Collector Set;
- Выберите «Save Template…»
- Выберите каталог для сохранения шаблона;
- Укажите имя шаблона;
- Сохраните.
Открытие сохраненного шаблона Data Collector Set
Чтобы продемонстрировать открытие сохраненного шаблона в Collector Set на другом компьютере, мы удалили существующий Collector Set. Теперь мы импортируем шаблон.
- Щелкните «User Defined«;
- Выберите «New«;
- Выберите «Data Collector Set«.
- Задайте имя;
- Нажмите «Next«.
Используйте «Browse» для выбора файла.
- Перейдите к сохраненному шаблону и нажмите «Next«;
- Нажмите «Open«.
В окне создания нового Data Collector Set нажмите «Next«.
- Измените местоположение файла данных или оставьте по умолчанию;
- Нажмите «Next«.
- Измените «Run as» (необязательно);
- Выберите «Open properties for this data collector set«;
- Нажмите «Finish«.
- В окне свойств Data Collector Set перейдите на вкладку «Directory«;
- Измените каталог журналов (необязательно);
- Введите имя подкаталога;
- Введите формат даты и времени в поле «Subdirectory name format«.
(Мы выбрали MMddyyHHmmss, поэтому мы могли запускать и останавливать его по желанию, чтобы быть уверенными в новом имени файла отчета каждый раз, когда он запускался. В противном случае Коллектор не запустится с ошибкой «When attempting to Start the Data Collector Set the following system error occurred: Cannot create a file when that file already existed«.
(Нажмите стрелку вправо для всех поддерживаемых форматов.) - Нажмите «Apply«.
Мы можем добавить расписание для запуска Collector Set.
- Щелкните вкладку «Schedule«;
- Нажмите «Add«.
Это расписание будет выполняться каждый день с 14:00 до 15:00 часов
- Измените «Beginning date» (необязательно);
- Выберите «Start time«;
- Выберите дни недели для запуска и нажмите «OK«
- Вкладка «Stop Condition«;
- Отметьте «Overall duration«;
- Введите продолжительность;
- Выберите единицу времени;
- Нажмите «OK«
Существует известная проблема с Windows Server 2019 и некоторыми версиями Windows 10, из-за которой задача планировщика заданий Windows, созданная при планировании Collector Set, не запускается. Вот обходной путь для этого: «Microsoft Docs : User-defined data collector set doesn’t run as scheduled — Windows Server».
Запуск и остановка Data Collector Set
Начнем собирать данные о производительности.
- Щелкните ПКМ на «Collector Set«;
- Выберите «Start«.
Остановите Collector Set, когда будете готовы смотреть данные
- Щелкните ПКМ на «Collector Set«;
- Выберите «Stop«.
Отображение данных счетчиков
- Щелкните ПКМ на «Collector Set«;
- Выберите «Latest Report«.
Здесь мы можем увидеть наши счетчики на экране и выбрать отдельные счетчики для более подробной информации.
На этом пока всё. В следующей статье мы рассмотрим счетчики монитора производительности Windows, важные для работы SQL Server.
Splunk is faliing to collect perfmon data from our Windows 2022 servers.
I’ve extracted and deployed the stanzas from the Splunk TA for windows to collect selected perfmon stats from servers. We use a deployment server to push this out. Here’s a sample:
[perfmon://CPU]
counters = % Processor Time
disabled = 0
instances = *
interval = 10
mode = single
object = Processor
useEnglishOnly=true
index=2_###_test
The Splunk Universal Forwarder now restarts as expected on deployment (missed that first time ) . There are no apparent errors in splunkd.log.
Nothing turns up! Metrics confirms nothing being sent to that index from the UF.
I’m guessing that our Security lockdown is preventing collection, but with no error messages anywhere it’s hard to diagnose!
Perfmon works on the server target so we know that the data is there and working.
Splunk is 9.2.1. it’s running in «least privilege» mode on the UF (the new default).
Any hints and pointers most welcome!