Итак.
Для анализа возможных проблем будем собирать следующие счетчики (описание счетчиков во вложенном файле):
- "Универсальные" счетчики:
- PhysicalDisk(*)Avg. Disk Queue Length
- PhysicalDisk(*)Avg. Disk sec/Write
- PhysicalDisk(*)Avg. Disk sec/Read
- Processor(_Total)% Processor Time
- SystemProcessor Queue Length
- MemoryAvailable MBytes
- Network Interface(*)Bytes Total/sec
- Для серверов 1С:
- Process("ragent*")% Processor Time
- Process("rmngr*")% Processor Time
- Process("rphost*")% Processor Time
- Process("ragent*")Working Set - Private
- Process("rmngr*")Working Set - Private
- Process("rphost*")Working Set - Private
- Для серверов MS SQL
- Process(sqlservr)% Processor Time
- SQLServer:Buffer ManagerBuffer cache hit ratio
- SQLServer:Buffer ManagerPage life expectancy
Для формирования списка счетчиков удобно использовать команду logman
Cинтаксис следующий:
logman create counter CounterName -f bincirc -c "PhysicalDisk(*)Avg. Disk Queue Length" "PhysicalDisk(*)Avg. Disk sec/Write" -si 10 -v mmddhhmm
create counter CounterName - создать счетчик с именем "CounterName"
-f bincirc - результат помещать в бинарный файл в формате *.blg
-c "PhysicalDisk(*)Avg. Disk Queue Length" "PhysicalDisk(*)Avg. Disk sec/Write" - собирать информацию по счетчикам:
-
- PhysicalDisk(*)Avg. Disk Queue Length
- PhysicalDisk(*)Avg. Disk sec/Write
-si 10 - собирать информацию каждые 10 секунд
-v mmddhhmm - формат "версии" выходного файла (например, 1c_01250045.blg)
Другой вариант использования команды logman - это когда список счетчиков вынесен в отдельный файл. В этом случае вместо параметра "-с" необходимо использвоать параметр "-cf", например:
logman create counter CounterName -f bincirc -cf counters_1c.lst -si 10 -v mmddhhmm
при этом файл counters_1c.lst должен содержать список счетчиков, например:
PhysicalDisk(*)Avg. Disk Queue Length Processor(_Total)% Processor Time Process(ragent*)% Processor Time
Команда logman не всесильна. Некоторые свойства приходится прописывать вручную:
- Корневая папка
- Формат имени вложенной папки: yyyyMMdd (или yyyyMM) + Приписывать имя компьютера к имени вложенной папки
- Условия остановки: Перезапустить группу сборщиков данных при достижении предела с длительностью 1 час (для серверов 1С, так как там может меняться состав процессов ragent, rmngr, rphost)
При перезапуске компьютера счетчики сами не запустятся. Запустить их можно либо с помощью bat файла, либо с помощью планировщика заданий. Пример команды запуска сбора счетчиков с помощью командного файла есть во вложенном файле. А планировщик заданий настраивается так...
Запускаем сам планировщик (taskschd.msc):
Открываем наше задание и переходим на закладку с тригерами:
Примечания:
- На разных версиях Windows названия счетчиков могут различаться
- C параметром -c можно использовать русские наименования счетчиков
- C параметром -с некоторые символы необходимо "экранировать". Так например символ "%" необходимо экранировать таким же символом "%%".
- C параметром -cf русские наименования у меня не получилось "скормить" системному монитору
Источники информации:
- http:// /1c-v8/%d1%83%d1%81%d0%ba%d0%be%d1%80%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-1%d1%81-2016/
- logman / ?
- https://msdn.microsoft.com/ru-ru/library/cc755366%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- https://technet.microsoft.com/ru-ru/library/cc753820%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- http://windowsnotes.ru/windows-server-2008/schetchiki-proizvoditelnosti-chast-2/
- личный опыт
Содержимое архива: скрипты для добавления счетчиков системного монитора для серверов 1С, СУБД MS SQL
- Описание счетчиков.xls - xls документ с описанием счетчиков и ссылками на данную информацию
- addcounters _out_cfg.cmd - скрипт, использующий внешний файл со списком счетчиков
Directory of Сервер 1С
- addcounters_1c.cmd – скрипт для добавления счетчиков на сервера приложений 1С
- counters_1c.lst – внешний файл со списком счетчиков для серверов 1С
Directory of Сервер СУБД
- addcounters_dbms.cmd – скрипт для добавления счетчиков на сервера MS SQL
- counters_dbms.lst - внешний файл со списком счетчиков для серверов MS SQL