gifts2017

Учет лицензий и управление сеансами пользователей

Опубликовал Digital Man (DigitalMan) в раздел Администрирование - Сервисные утилиты

В крупных и средних компаниях, в большим количеством филиалов, с применением РБД, где сотрудники ИТ находятся на удалении друг от друга, в разъездах или трудятся по разным графикам, порой бывает затруднительно уточнить, на какое рабочее место (или сервер) был установлен тот или иной ключ защиты или лицензия.
Данная конфигурация была написана давно (для 8.0) и изначально задумывалась для учета закупаемых лицензий по отраслевому решению и для учета ключей защиты платформы. С выходом новых версий, появлением программных лицензий и дополнительных функций был добавлен сервис для контроля сеансов пользователей.

Управление лицензиями.

Сам механизм учета лицензий простой, состоит из справочника с необходимым набором реквизитов для идентификации самой поставки\лицензии\модуля (назовем это "коробкой") и регистра сведений, в котором содержится информация о текущем месте установки или хранения.

Лицензии

В каждой "коробке" необходимо заполнить информацию о ключах защиты, это необходимо для учета количества рабочих мест.

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

Информация о лицензии

Признак "Есть бирка" актуален для аппаратных ключей защиты, которые порой трудно различить по внешнему виду, когда они торчат, например, в серверной стойке или в компе под столом у бухгалтера. По данному признаку производится отбор при формировании печатной формы, в которой будут отражены идентифицирующие данные о ключе.

В "Состояние лицензий" указывается текущее место хранения и установки.

Место хранения - иерархический справочник, на начальном этапе подразумевался для указания имен серверов (или, например, складов, сейфов подразделений).

Место установки - реквизит составного типа, можно указать конкретный кластер (сервер) или пользователя.

ВАЖНО: В данной конфигурации не предусмотрено разбиение многопользовательской программной лицензии и установки на разные рабочие места.


Управление сеансами.

Основано на примере с сайта ИТС для версии 2.

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

Кластеры серверов

Справочник "Виды приложений" уже заполнен предопределенными элементами по информации с сайта ИТС. Все остальные данные в этом разделе учета заполняются автоматически при работе сервиса внешнего управления сеансами.

Виды приложений

Настройку веб сервиса описывать нет смысла, статей на эту тему предостаточно. Напомню, что если в базе будет создана хоть одна учетная запись, то для подключения модуля расширения веб-сервиса, в настройках файла публикации не забудьте указать пользователя и пароль, от прав которого будет производиться подключение к БД.

Хочу обратить Ваше внимание, что в момент попытки создания сеанса (после авторизации пользователя) менеджер кластера обращается к веб сервису, выполняя метод с передачей параметров, которые используются для заполнения данных.

По задумке разработчиков платформы, работа сервиса внешнего управления сеансами не должна сказываться на скорости запуска, но из-за плохого соединения возможны различные ньюансы, поэтому обращайте внимание на настройки пула соединений для публикации (время ожидания, число попыток и т.п.).

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

ВАЖНО: В данной конфигурации не тестировалась ситуация с несколькими рабочими серверами в кластере.

 

Подготовка к запуску.

Т.к. заполнение данных производится автоматически, мой Вам совет - в консоли администрирования серверов 1С поменяйте имена Ваших кластеров с "Локальный кластер" на понятный Вам (например, имя сервера), это позволит в дальнейшем корректно идентифицировать их в справочнике.

Далее необходимо зайти в настройки конфигурации, активировать и включить сервис в режим сбора статистики. Т.о. все обращения к сервису будут обрабатываться без проверок и сеансы пользователей будут создаваться без ограничений.

В палитре свойств рабочей базы данных признак "Обязательное использование внешнего управления" можно с уверенностью установить только после того как будут определены и устранены все узкие места в работе веб сервиса, т.к. из-за плохой связи, потери пакетов и в т.п. ситуациях пользователи не смогут войти в рабочую базу.

Пока сервис работает в режиме сбора статистики можно приступить к заполнению информации о состоянии "коробки" (лицензии), т.е. путем выбора нужного значения из справочников "Кластеры серверов" и "Пользователи" заполнить "Место установки".

В качестве "пользователя" место установки подразумевается для локальных однопользовательских лицензий.

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

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

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

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

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

Настройки пользователя

Результат работы в режиме сбора статистики - по каждому сеансу Вы получите всю актуальную информацию:

Сеанс в кластере


После дозаполнения всех настроек по Вашему усмотрению, можно переключить работу сервиса из режима сбора статистики в рабочий, изменив настройки.

На момент написания статьи конфигурация работает на версии "1С:Предприятие 8.3 (8.3.6.2449)".

Из возможных проблем на разных версиях платформы, могут наблюдаться периодические сбои при "синхронизации", которые решаются перезапуском менеджера кластера.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Конфигурация "Управление сеансами и лицензиями"
.cf 288,86Kb
07.02.16
27
.cf 1.0.1 288,86Kb 27 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Максим Евсенкин (tehas) 19.02.16 14:40
поставил базу, включил сбор статистики. а что дальше?
откуда данные возьмутся автоматически? если не прописаны даже ни где ни логин/пароль администраторов?
2. Алексей (LineykaSBK) 03.03.16 09:25
Если не трудно, обозначите хотя бы по пунктам порядок действия что нужно сделать для взлета. Ну например:
1. Развернут веб сервис с такими то настройками.
2. Развернуть базу в кластере
3. У подшефных базах необходимо указать в свойствах строку внешнего подключения и установить галочку "Обязательное внешнее управление"
И так далее. Помните, что профессионалы сами, без Вашей помощи реализовали механизм внешнего управление, тут пользуются Вашими услугами те, кто не в состоянии самостоятельно проделать все действия для положительного результата.
3. Digital Man (DigitalMan) 06.04.16 12:36
(2) LineykaSBK, Спасибо за замечание.
Да, согласен что нужно бы расписать, но я на внедрении сейчас.
Как буду делать инструкцию для своих сотрудников, обязательно обновлю статью, учтя все подводные камни, на которые напоролся за год с небольшим.
4. Gendalf Gendalf (Генdalf) 19.05.16 15:34
А какую строку необходимо вписать в свойствах базы для внешнего управление сеансами?
5. Digital Man (DigitalMan) 19.05.16 15:47
(4) Генdalf, к конфе в статье, такой:
wsdl=http://aaa.bbb.ccc.ddd/session_manage/ws/SessionControl?wsdl;ns=http://v8.1c.ru/SessionManagement;srvc=SessionControl;port=SessionControlSoap;tout=120;

где "aaa.bbb.ccc.ddd" - адрес веб сервера, где опубликован Web-сервис, советую указать IP, а не имя, дабы исключить задержки при поиске хоста.

tout=120; - время ожидания менеджером кластера ответа от сервиса внешнего управления сеансами


6. Gendalf Gendalf (Генdalf) 19.05.16 16:39
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа