Получение значений от стандартных счетчиков Win
-
Приветствую!
Как можно получить значения счетчиков, имеющихся в Windows?
Необходимо мониторить некоторые параметры SQL сервера. В стандартной оболочке мониторинга есть параметры, типа: SQLServer:статистика SQL -> Re-Compilations/sec.
Вот как-бы заполучить это, и подобные значения?
Версия агента и сервера 1.2.0 -
U agenta est' parametr PDH.CounterValue, kotorij pozvoljaet poluchit' znachenie ljubogo PDH schetchika. Naprimer:
PDH.CounterValue(\Server\Bytes Total/sec)
Est' schetchiki, kotorie trebujut minimum dva izmerenija dlja poluchenija znachenija, naprimer \Processor(_Total)\% User Time. Togda nado ukazivat' vtorim argumentom 1, chtobi agent vzjal dva znachenija:
PDH.CounterValue("\Processor(_Total)\% User Time",1)
-
Гм.. Все вроде получилось... Но винда, чтоб ей..
В русской версии винды и некоторые названия параметров (например \Process (eng) -> \Процесс (rus)) передаются по-русски (это видно в nxget)
Спрашивается, ну кто так делает??!!
В английской версии все ОК.
Можно как-то обойти этот момент? или надо что-то в винде крутить? -
В WinPerf субагенте есть возможность использования английских названий счетчиков, но только для параметров, определенных в субагенте (через Counter =).
Я добавлю в TODO сделать то-же самое для PDH.CounterValue. -
-
Для этого надо менять код субагента, чтобы PDH.GetCounterValue делал перевод названий. А вообще английские названия счетчиков лежат в registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.
-
-
-
Это имелось ввиду, что мне надо менять
Я постараюсь сделать в 1.2.1 возможность использовать английские названия счетчиков. -
-
Хорошо, а как сделать вот это:
В WinPerf субагенте есть возможность использования английских названий счетчиков, но только для параметров, определенных в субагенте (через Counter =).
Как тут поступить?
Пример:Counter=AverageDiskWriteQueueLenght:"\PhysicalDisk(2 T:)\Avg. Disk Write Queue Length":60:A:INT:"Average Disk T: Write Queue Length"Что и куда дополнительно писать?
-
Агент должен пытаться перевести название счетчика автоматически.
-
-
-
Я собрал и выложил инсталлятор для агента 1.2.1 - попробуйте работает ли в нем PDH.GetCounterValue с английскими названиями. Скачать можно по этим ссылкам:
https://www.netxms.org/download/agent_packages/nxagent-1.2.1.exe
https://www.netxms.org/download/agent_packages/nxagent-1.2.1-x64.exe -
-
Приветствую!
Снова возвращаюсь к теме использования английских счетчиков в русской винде.
Такое действие отрабатывается нормально:
monitorsrv# nxget 192.168.42.136 "PDH.CounterValue(\System\Processor Queue Length)"
0а вот эти:
monitorsrv# nxget -l 192.168.42.136 "PDH.ObjectCounters(Processor)"
500: Internal error
monitorsrv# nxget -l 192.168.42.136 "PDH.ObjectInstances(Processor)"
500: Internal errorкак видно нет

-
Да, забыл там вставить трансляцию имен похоже. Поправлю.
-
-
В 1.2.2 получится думаю. Главное - не забыть

P.S. Изменения делаются в агенте.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login