slothfk / 1c_zabbix_template_ce

Шаблон Zabbix для мониторинга кластера серверов 1С Предприятия 8.3
MIT License
151 stars 53 forks source link

1c_ls: Число уникальных пользователей в сеансах сервера лицензирования #91

Open slothfk opened 1 year ago

slothfk commented 1 year ago

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

Если есть интерес, можно сделать выбор как вычислять сумму уникальных:

Однако, по-умолчанию показатель будет вычисляться в целом по серверу лицензирования!

Кому интересен данный показатель, пишите в комментариях свои соображения!?

Diesel315 commented 1 year ago

Добрый день!

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

Можете, пожалуйста, более подробно пояснить по элементам данных - лицензии (в разрезе мониторинга сервера лицензирования). Например: image 1) Количество веб-клиентов - Здесь понятно в целом. Это те кто заходит через http/https 2) Количество выданных лицензий - Вот тут уже вопрос. Что это за цифра? 3) Количество лицензий на клиенте - Тоже не понял( 4) Количество уникальных пользователей - ??? 5) Общее количество сеансов - ???

slothfk commented 1 year ago
  • Количество веб-клиентов - Здесь понятно в целом. Это те кто заходит через http/https

Это те, кто работает через веб-клиента (т.е. через браузер), а не ходят через http/https, потому что тонким клиентом тоже можно ходить через http/https

  • Количество выданных лицензий - Вот тут уже вопрос. Что это за цифра?

Число пользовательских лицензий, которые выдал данный сервер лицензирования, определяется по имени хоста сервера лицензирования.

  • Количество лицензий на клиенте - Тоже не понял(

Число пользовательских лицензий, которые пользователи получили не с сервера лицензирования (т.е. локальные пользовательские лицензии, аппаратные и/или программные, установленные на компьютере пользователя или в его локальной сети)

  • Количество уникальных пользователей - ???

Число уникальных пользователей - уникальность считается по имени пользователя, т.е. читай "число уникальных имен пользователей"

  • Общее количество сеансов - ???

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

slothfk commented 1 year ago

Можете, пожалуйста, более подробно пояснить по элементам данных - лицензии (в разрезе мониторинга сервера лицензирования). Например: image

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

Diesel315 commented 1 year ago

Добрый день! Извиняюсь за задержки с ответом. Катастрофически не хватает время на все задачи...

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

  • Количество выданных лицензий Число пользовательских лицензий, которые выдал данный сервер лицензирования, определяется по имени хоста сервера лицензирования.

Применительно к скриншоту. БД ERP. По вашим словам сервер лицензирования выдал всего 16 пользовательских лицензий. Но при этом количество сеансов с этой базой ~200, что порождает вопрос, а откуда тогда эти ~ 200 сеансов взяли лицензии, если выделилось только 16. условно говоря 200-16=184 сеанса откуда-то взяли лицензии из другого места? Правильно я понял смысл ваших слов/вопроса/недоумения? Если так, то да тут ошибка, так как, как понятно из логики сервер лицензирования является по факту единственным источником пользовательских лицензий. И применительно к нам именно он выдает всем пользователям лицензии, за исключением сеансов разработчиков. У них как правило есть свои личные лицензии. Они не расходуют польз.лицензии из общего пула. Но и в общей массе сеансов, сеансы разработчиков это порядка 4-8 шт. То есть опять же не бьется 200-16-(4-8)=~176-180 сеансы. Да и при том, что сеансы разработчиков и отображаются, как "Клиент, хххххххххх 1 5" и по логике вообще не входят в статистику элемента данных...

То есть налицо какая-то ошибка в отображении данных, насколько я понимаю.

2

  • Количество лицензий на клиенте Число пользовательских лицензий, которые пользователи получили не с сервера лицензирования (т.е. локальные пользовательские лицензии, аппаратные и/или программные, установленные на компьютере пользователя или в его локальной сети)

Смотрите. Применительно к БД ERP и вопросу уникальности наименования лицензий, которые видно в консоли 1С в разделе сеансы отображаются условно уникальные следующие имена:

То есть элемент данных "Количество лицензий на клиенте" как раз и посчитал эти две последние позиции с точки зрения уникальности? Правильно?

slothfk commented 1 year ago

лицензий на клиенте" как раз и посчитал эти две последние позиции с точки зрения уникальности? Правильно?

Некорректно сформулировал, это не количество лицензий, а количество сеансов, использующих клиентскую лицензию с пользовательского компьютера, а не с сервера лицензирования. Если вы пришлёте мне на почту выхлоп rac session list --licenses то я постараюсь разобраться в чем проблема.

Diesel315 commented 1 year ago

Некорректно сформулировал, это не количество лицензий, а количество сеансов, использующих клиентскую лицензию с пользовательского компьютера, а не с сервера лицензирования.

Ну тогда и это число тоже не верное. Потому что количество сеансов в которых используются личные лицензии (разработчиков), как выше написал в среднем варьируется от 4 до 8 в моменте... Например сейчас в моменте zabbix также показывает количество =2, а на самом деле таких сеансов 9...

Да постараюсь выслать как можно скорее... P.S. Отправил на почту.

slothfk commented 1 year ago

@Diesel315, а без разделения по информационным базам, значения корректно отображдаются? Те, что в целом по серверу лицензирования?

Diesel315 commented 1 year ago

Если вы спрашиваете про это: image То думаю здесь тоже не все в порядке... И есть пустые значения также

slothfk commented 1 year ago

А не было ли за последнее время обновления скриптов от шаблона? Например был обновлен скрипт 1c_license_server.sh, но при этом не обновлялся 1c_common_module.sh?

Diesel315 commented 1 year ago

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

slothfk commented 1 year ago

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

На будущее, если обновляются какие-то скрипты, то лучше (надежнее) обновлять все, чтобы не было каких-нибудь неожиданностей ;)

Diesel315 commented 1 year ago

Добрый день! Собственно: 1) удалил шаблон Zabbix c конкретного хоста с очисткой данных 2) удалил сам шаблон из системы Zabbix 3) удалил все скрипты на конечном объекте сервере в месте установки Zabbix-agent (C:\Zabbix_agent\scripts) 4) удалил файл конфигурации userparameter_1c-ls.conf на конечном объекте сервере в месте установки Zabbix-agent (C:\Zabbix_agent\conf)

5) скачал заново zip архив вашего решения

6) Заново установил шаблон в систему Zabbix 7) Заново скопировал все скрипты в место установки агента 8) Заново скопировал файл конфигурации userparameter_1c-ls.conf в место установки агента

9) Накинул шаблон на хост Ситуация не изменилась. Странные показания значений по количеству: image

slothfk commented 1 year ago

5. скачал заново zip архив вашего решения

Какой zip-архив? Надеюсь не из релизов?

Diesel315 commented 1 year ago

image

slothfk commented 1 year ago

Проблему нашел Связана c некорректной кодировкой русских символов (см. #78)

Brotherwoods commented 1 year ago

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

Допустим сервер лицензирования обслуживает 2 кластера, в каждом из которых по 2 базы. Все базы разные. Но пользователь Администратор в каждой из них свой. Это значит, что если уникальность пользователя определяется по имени- то имеет место 4-х кратная ошибка. Должно быть 4 разных пользователя у каждого из которых логин "Администратор". Если имеет место локальная аутентификация. При этом, если используется доменная аутентификация- то пользователь \domen\администратор очевидно один и тот же...

slothfk commented 1 year ago

Это значит, что если уникальность пользователя определяется по имени- то имеет место 4-х кратная ошибка.

Уникальность пользователя отслеживается по имени пользователя, так нам "завещает" "мурзилка" (см. https://its.1c.ru/db/v8323doc#bookmark:adm:TI000000971) В данном случае уникальность имеет смысл только в контексте указанном на ИТС в части утилизации лицензий! Все остальные домыслы/доводы, полагаю, не имеет смысла обсуждать. У нас есть реальный случай, когда под одной учеткой работают 7 (семь)!!! разных человек, но ведь это не проблема учетной системы, а проблема организации рабочего процесса!

Brotherwoods commented 1 year ago

У нас есть реальный случай, когда под одной учеткой работают 7 (семь)!!! разных человек, но ведь это не проблема учетной системы, а проблема организации рабочего процесса!

Они работают в одной или в разных базах? 7 разных человек работающих в 7 РАЗНЫХ базах - будут учетны как один человек или как 7 ?

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

slothfk commented 1 year ago

Коллега, повторюсь, уникальность пользователей в данном случае рассматриватеся в контексте применения КОРП лицензий, я приводил ссылку на ИТС, но на всякий случай процитирую так

1.5.4. Применимость лицензии КОРП

Все возможности системы, включая доступные под лицензией КОРП, кроме Дата акселератора, доступны в том случае, если к каждой информационной базе кластера серверов «1С:Предприятие» подключено одновременно не более 10 клиентских сеансов. И серверная и все клиентские лицензии в этом случае могут быть уровня ПРОФ. При подключении хотя бы к одной из баз кластера серверов 11-го сеанса, этот сеанс получит ошибку, если в кластере серверов используются возможности, доступные под лицензией КОРП, а лицензий КОРП недостаточно.

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

Количество лицензий КОРП считается достаточным, если все используемые кластером серверные лицензии имеют уровень КОРП и дополнительно выполняется одно из следующих требований:

  1. Клиентское приложение получило клиентскую лицензии КОРП.

  2. Клиентское приложение получило лицензию ПРОФ и в момент подключения нового клиентского соединения выполняется следующее соотношение используемых лицензий: УП <= 1,1 * ЛК. В данном выражении:

● УП ‑ количество уникальных пользователей (уникальность отслеживается по именам пользователей) клиентских сеансов кластера с любыми видами лицензий, включая начинающийся сеанс;

● ЛК ‑ количество клиентских лицензий КОРП, доступных для выдачи сервером «1С:Предприятия» (вне зависимости от фактического состояния флага выдачи лицензий сервером «1С:Предприятия»).

Рассмотрим пример. На компьютер с сервером «1С:Предприятия» установлена серверная лицензия КОРП и клиентская лицензия КОРП на 50 пользователей. Данная конфигурация обеспечивает:

● Произвольное количество клиентских подключений, если каждое клиентское подключение обладает лицензией уровня КОРП.

● Подключение к серверу клиентского приложения с лицензией ПРОФ будет возможно в том случае, если после подключения сервер станет обслуживать сеансы не более 1,1*50 = 55 уникальных пользователей информационной базы. Таким образом, пользователь с лицензией ПРОФ сможет получить доступ к информационной базе только в том случае, если, в момент подключения, количество уникальных пользователей кластера серверов (считая стартующий сеанс) не превышает 55.

Т.е. "уникальность" в данном случае учитывается ИСКЛЮЧИТЕЛЬНО для понимания ситуации по утилизации лицензий, а не для каких-либо еще изысканий! Сервер 1С не делает разделения в одной базе пользователь с таким именем или в разных! Учет уникальности идет по имени пользователя (читай, по совпадающей последовательности символов в имени). Доменная аутентификация там или "локальная", в данном случае не имеет никакого значения!

Хотите кому-то что-то доказать о "некорректности" учета "уникальных пользователей" пишите в 1С ;)

Brotherwoods commented 1 year ago

В документации как раз сказано что уникальность - считается для отдельной ИБ а не для всего сервера лицензирования. и вообще говоря для частного применения (возможно в других случаях уникальность считается иначе). поэтому тут вопрос не к 1С а к прочтению документации скорее :) Но, поскольку вопрос возник, задал его в саппорт 1С.

slothfk commented 1 year ago

В документации как раз сказано что уникальность - считается для отдельной ИБ а не для всего сервера лицензирования.

Можно ссылочку на этот момент? Или процитировать?

Из цитируемого мной текста

● УП ‑ количество уникальных пользователей (уникальность отслеживается по именам пользователей) клиентских сеансов кластера с любыми видами лицензий, включая начинающийся сеанс;

Ни слова про "отдельную ИБ" ;)

Но, поскольку вопрос возник, задал его в саппорт 1С.

А вот это правильно :) Через какой канал отправлен запрос?

slothfk commented 1 year ago

Но, поскольку вопрос возник, задал его в саппорт 1С.

Если у вас есть доступ к партнерскому форуму, то гляньте пояснения, например, здесь

Brotherwoods commented 1 year ago

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

нигде не говорится про ИБ во множественном числе.

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

slothfk commented 1 year ago

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

Т.е. у вас общее число сеанов - 2, а число уникальных пользователей - 4?

Brotherwoods commented 1 year ago

[1С/Лицензии] Количество лицензий на клиенте 8с 1 График
[1С/Лицензии] Количество лицензированных сеансов 6с 0 График
[1С/Лицензии] Количество уникальных пользователей 8с 4 График
[1С/Лицензии] Количество файлов пользовательских лицензий 6с 0 График
[1С/Лицензии] Общее количество сеансов 8с 4 График

но все это один и тот же "Администратор"

slothfk commented 1 year ago

но все это один и тот же "Администратор"

Хм, постараюсь проверить ...

slothfk commented 1 year ago

но все это один и тот же "Администратор"

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

Влиять на уникальность не должно, но вдруг ... Попробую еще посмотрть под Win, возможно там есть какие-то отличия ...

Brotherwoods commented 1 year ago
  • Количество выданных лицензий - Вот тут уже вопрос. Что это за цифра?

Число пользовательских лицензий, которые выдал данный сервер лицензирования, определяется по имени хоста сервера лицензирования.

Можно ли при этом запускать скрипт получения списка этих лицензий не на сервере лицензирования а на центральном сервере?

slothfk commented 1 year ago

Можно ли при этом запускать скрипт получения списка этих лицензий не на сервере лицензирования а на центральном сервере?

Если вы его переделаете у себя под такую логику, то вполне можно :)