Сбор счетчиков системного монитора с использованием команды logman






При работе с любой информационной системой рано или поздно встает вопрос об анализе логов.
В случае с 1С этот вопрос встает скорее рано, чем поздно.
Речь пойдет про серверный вариант 1С, развернутый на Windows, с СУБД MS SQL.
А конкретно про сбор счетчиков системного монитора с помощью команды logman.

Итак.

Для анализа возможных проблем будем собирать следующие счетчики (описание счетчиков во вложенном файле): 

  • «Универсальные» счетчики:
  1. PhysicalDisk(*)Avg. Disk Queue Length
  2. PhysicalDisk(*)Avg. Disk sec/Write
  3. PhysicalDisk(*)Avg. Disk sec/Read
  4. Processor(_Total)% Processor Time
  5. SystemProcessor Queue Length
  6. MemoryAvailable MBytes
  7. Network Interface(*)Bytes Total/sec
  • Для серверов 1С:
  1. Process(«ragent*»)% Processor Time
  2. Process(«rmngr*»)% Processor Time
  3. Process(«rphost*»)% Processor Time
  4. Process(«ragent*»)Working Set — Private
  5. Process(«rmngr*»)Working Set — Private
  6. Process(«rphost*»)Working Set — Private
  • Для серверов MS SQL
  1. Process(sqlservr)% Processor Time
  2. SQLServer:Buffer ManagerBuffer cache hit ratio
  3. 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 не всесильна. Некоторые свойства приходится прописывать вручную:

Изображение   Изображение 

  1. Корневая папка
  2. Формат имени вложенной папки: yyyyMMdd (или yyyyMM) + Приписывать имя компьютера к имени вложенной папки
  3. Условия остановки: Перезапустить группу сборщиков данных при достижении предела с длительностью 1 час (для серверов 1С, так как там может меняться состав процессов ragent, rmngr, rphost)

При перезапуске компьютера счетчики сами не запустятся. Запустить их можно либо с помощью bat файла, либо с помощью планировщика заданий. Пример команды запуска сбора счетчиков с помощью командного файла есть во вложенном файле. А планировщик заданий настраивается так…

 

Запускаем сам планировщик (taskschd.msc):

Изображение

 

 

Открываем наше задание и переходим на закладку с тригерами:

Изображение

 

Изображение

 

Примечания:

  1. На разных версиях Windows названия счетчиков могут различаться
  2. C параметром -c можно использовать русские наименования счетчиков
  3. C параметром -с некоторые символы необходимо «экранировать». Так например символ «%» необходимо экранировать таким же символом «%%».
  4. C параметром -cf русские наименования у меня не получилось «скормить» системному монитору

 

Источники информации: 

  1. 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-2024/
  2. logman / ?
  3. https://msdn.microsoft.com/ru-ru/library/cc755366%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
  4. https://technet.microsoft.com/ru-ru/library/cc753820%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
  5. http://windowsnotes.ru/windows-server-2008/schetchiki-proizvoditelnosti-chast-2/
  6. личный опыт

 

Содержимое архива: скрипты для добавления счетчиков системного монитора для серверов 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

Отблагодарить автора

8 Comments

  1. qwed557

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

    Reply
  2. zenechka

    (1) qwed557, согласен, добавлю, спасибо.

    Reply
  3. zenechka

    (1) qwed557, добавил описание в виде файла.

    Добавить таблицу в публикацию в приемлемом виде для меня оказалось непосильной задачей.

    Reply
  4. almas

    Спасибо. Давно использую системный монитор. Очень помогает. У меня счетчики настроены на 24-часа. — так удобнее анализировать.

    Reply
  5. M.Shalimov

    Я уж обрадовался, что в файле описание всех счетчиков, а не только приведенных в статье:) Но все равно респект за публикацию!

    Reply
  6. kauksi

    Столкнулся с тем, что в русских версиях Windows названия счетчиков идут по-русски. получить список всех доступных можно командой PowerShell (Get-Counter -ListSet *).counter

    Reply
  7. zenechka

    (6)

    PowerShell (Get-Counter -ListSet *).counter

    Да, Сергей, спасибо.

    Дополнительно по команде

    Get-Counter -ListSet *

    можно посмотреть здесь

    Reply
  8. Vovan58

    Чтобы задать счетчики в файле для русского Windows, делаю по простому : задаю нужные счетчики в perfmon и создаю шаблон. В шаблоне (xml-файл) выбираю строки счетчиков — там все прозрачно — переношу в файл списка счетчиков.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *