Не буду писать всякую лирику. Кто такие APDEX, PRTG, PowerShell и БСП - ответит поисковик, ищите - информации более чем.
Сенсор разбирает файлы экспорта замеров производительности от БСП. Если не используете библиотеку - дальше можно не читать (или начать использовать БСП)))
Порядок настройки следующий:
1. Настроить Экспорт замеров производительности из 1С в удобный для дальнейшей обработки каталог.
2. Добавить сенсор в систему мониторинга, указав нужные параметры.
Скрипт так же можно запускать в консоли шела, что и рекомендуется делать перед добавлением сенсора PRTG, чтобы оптимально настроить его работу. Он имеет несколько параметров:
-XmlPath = [строка] каталог с файлами экспорта из 1С
-Out = [строка] определяет куда выводить результат, если "p" (англ) или <null> будет создан PRTG сенсор; "h" (типа "human readable") - вывод в шелл
-Span = [целое число] "глубина" просмотра файлов экспорта, от текущей даты, в минутах (по умолчанию - последние 15 минут)
-Recurse = [бит или булево] включает поиск ТОЛЬКО в дочерних каталогах XmlPath, исключая файлы, находящиеся в указанном каталоге XmlPath. (по умолчанию - выключен)
-PriorMax = [положительное целое число] Максимальный приоритет "отбираемых" КО. (по-умолчанию = 10000)
-MoveData = [бит или булево] если установлен в истину - отработанные файлы будут перемещены в каталог 'Proceseed'...
Например: .\1C_APDEX.ps1 -XmlPath D:\1\ -Out h -Span 25000 -Recurse 1 -PriorMax 25 выводит следующее представление:
В шапке ничего особенного - легенда, некоторые из параметров, название колонок.
В теле наблюдаем показатели по каждой из Ключевой Операции (КО), и так как в параметрах был указан параметр -Recurse 1, то в название КО приписывается название поддиректории. По-этому не стоит указывать слишком длинные имена каталогов, когда будете настраивать экспорт замеров из 1С. И строки отсортированы по названию КО, для удобства сравнивания между поддиректориями.
В подвале видим итоговый вывод по поддиректориям, с исходными значениями для подсчетов индекса.
однако в каталоге -XmlPath D:\1\ присутствуют и другие подкаталоги (Proj_0 и Proj_1)
но они не попали в результат, по причине отсутствия в них подходящих данных.
каталоги либо пусты совсем, либо в их файлах отсутствуют замеры.
Тот же самый результат получится при указании .\1C_APDEX.ps1 D:\1\ h 25000 1 25. PowerShell так тоже поймет, главное соблюдать очередность указания параметров.
Если не указывать рекурсию - то консольный вывод немного меняется, не существенно. Сортировка будет по APDEX, итоговый вывод чуть-чуть другой...
Если нас устраивает какой-то вывод - Создаем новый сенсор в PRTG, "копипастим" параметры и меняем значение параметра -Out с "h" на "p". Ждем какое-то время и получаем примерно такие графики:
Рекурсивный просмотр отключен. Два дня. Если рекурсия отключена, то в сенсор добавляются каналы с показаниями N, NS, NT, это количественные значения замеров. По ним можно судить о "достоверности" индекса. Чем больше замеров - тем достовернее.
Включен рекурсивный просмотр. Выводятся только показания APDEX. Количественные показатели замеров не выводятся умышленно, т.к. это приведёт нагромождению значений. Тут каждый канал сенсора (кроме Script time) - это значение индекса по поддиректории, в моём случае - филиалы распределённой Информационной Системы.
Графики имеют прерывистый характер из-за временных пробелов в замерах, ночами всё же спят )))...
Обновлено в версии 1.1.0: Добавлен параметр запуска -MoveData. Если указан [$True | 1], то будет создан каталог "Processed" (англ. "обработано"). Нужен для уменьшения времени работы скрипта, т.к. уменьшается количество просматриваемых файлов:
А так же для удобства восприятия (не-)обработанных данных. Например: легче удалить ненужный каталог, чем несколько сотен ненужных файлов.
Каталог создается автоматически, в случае отсутствия. Имя каталога можно изменить в теле скрипта.
Пожелания и обоснованная критика приветствуется! )