Мониторинг доступной производительности рабочих процессов кластера 1С:8.3





Мониторинг и сбор статистики по доступной производительности и использованию памяти рабочими процессами кластера.
Утилиты и инструменты:
1. связка ras и rac от 1С
2. powershell
3. Paessler PRTG network monitor

Написал данный сенсор (скрипт) для ознакомления с утилитами ras и rac. Раньше собирал эти сведения по COM соединению, но недавно сходил на курсы 1С, где настойчиво рекомендовали осваивать этот комплект утилит. Ну якобы всё прогрессивное человечество уже на них, а я как "лошара" и всё такое… 

Как всегда, всё просто:

Необходимо зарегистрировать утилиту ras на всех серверах (хотя есть сомнение…) как службу, которые будут опрашиваться клиентской утилитой rac. Примерно так:

sc create "1C_RAS" binpath=""C:Program Files1cv88.3.9.2170in
as.exe" cluster --service --port=1545 localhost:1540" displayname="1C_RAS"

На комп, который будет опрашивать сервер 1С, утилиту rac регистрировать не нужно, ее можно просто скопировать из каталога с ras, они рядом лежат. Да, лучше скопировать весь каталог, ибо зависимых dll много. У меня на компе, где установлен зонд PRTG так же установлен сервер 1С — проблем не испытывал.

далее правим файл скрипта ps1 — указываем каталог утилиты rac:

$racPath = "C:Program Files1cv88.3.9.2170in" # path of rac.exe utility dir

далее указываем имена своих серверов. Если в кластере несколько рабочиx серверов — достаточно указать центральные:

# [УКАЗАТЬ СВОИ СЕРВЕРЫ]
# Массив серверов 1С (ip[0], dns-name[1], s-port[2], clu-admin[3], clu-admin-pwd[4])
# /серверы 1С, с которых снимаем статистику/
$_AppSrvr = ,@("10.1.4.141", "MSK-FHD-APP01", 1541, "", "")
$_AppSrvr +=,@("10.1.1.145", "MSK-FHD-APP05", 1541, "", "")

Запускаем с выводом результата в консоль (ключ "-h"):

Если запустить просто, без параметров, то получим готовый сенсор  PRTG:

 В зависимости от настроек кластера 1С, процессов на одном рабочем сервере может быть больше одного, и PRTG будет отображать данные только по первому процессу. Так было и остается в старом скрипте, который работает по COM-соединению. В обновленной версии скрипта данные группируются и суммируются.

Понятное дело — код открыт, можно мониторить другие параметры кластера. Читаем код, документации и хэлпы — правим под себя и вперед!

Процедуру создания кастомных сенсоров в PRTG описывать смысла не вижу, всё описано в документации.

Утилиты и инструменты:
1.связка ras и rac от 1С
2.PowerShell
3.Paessler PRTG network monitor

Всем удачи! 😉

К скачиванию предлагаю оба варианта, старый (COM) и новый (RAS):

5 Comments

  1. dlebedev8

    И как это чудо потом все обновлять? На самом деле больше года назад сделал подобное решение на zabbix и могу сам на вопрос ответить — никак не обновлять и написать еще один скрипт. Почему 1С не предоставит инструменты удобные для настройки и сопровождения саоей же утилиты мониторинга, непонятно.

    Reply
  2. ddens

    (1) обновляя платформу — менять строку запуска исполняемого файла сервиса ras. путь к rac менять в скрипте. это как бы ладно. Но если несколько кластеров и все разных версий? ну бизнес еще не успел оттестировать все на последних релизах. Или бывает вопрос «а зачем?» … обновлять. Почему 1С не сделает совместимость этих утилит? требуется соответствие аж до билда! это «немного» злит, да.

    Reply
  3. Darklight

    Не знаю, почему Вам на курсах сейчас порекомендовали осваивать RAS — это уже почти устаревшая технология. Насколько я знаю, платформа 1С: Предприятие 8.4 её уже не будет поддерживать! Там реализуется совсем иной (сервисный) подход для административного взаимодействия клиента и сервера.

    Новое в ознакомительной версии 8.4.1 -> REST интерфейс администрирования

    REST API сервиса управления кластером нужен доступ на 1С: ИТС

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

    Но пока, конечно, RAS лучшем, чем СOM — и представленное Вами решение вполне заслуживает внимания. Жаль, только, что внимания лишь тех, кто уже в теме и знает, что такое сенсоры PRTG или хотя бы знаком со скриптами powershell. Хорошо бы дополнить статью (или написать отдельную и дать ссылку) вводной частью о применяемых технологиях в общем и что они дают с практической точки зрения в части мониторинга показателей 1С.

    Reply
  4. Darklight

    А ещё есть вот это Administrative Service API» — но это пакет библиотек для Java 🙁

    Reply
  5. fiverok

    А можно продублирровать скрипты на гитхабе

    Reply

Leave a Comment

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