Анализ логов при синхронизации с LDAP

Продвинутый

После завершения синхронизации с LDAP администратор в CTI-панели получит уведомление об успешности или неуспешности операции, а также о недостатке лицензий, если их не будет хватать на всех пользователей LDAP. Для детального анализа результатов синхронизации, ошибок и проблем можно просмотреть логи в файле LDAP.log, расположенном по пути: /[путь до приложения BPMSoft]/Logs/[Дата]/.

Ошибки соединения с сервером LDAP

Недоступность соединения с сервером LDAP характеризуется ошибкой вида:

System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable.

Можно наблюдать несколько предупреждений следующего вида:

WARN  LDAP <WaitAndRetry>b__0 - Problem with connection to LDAP server. Trying again.
WARN  LDAP <WaitAndRetry>b__0 - Problem with connection to LDAP server. Trying again.
WARN  LDAP <WaitAndRetry>b__0 - Problem with connection to LDAP server. Trying again.
WARN  LDAP <WaitAndRetry>b__0 - Problem with connection to LDAP server. Trying again.
WARN  LDAP <WaitAndRetry>b__0 - Problem with connection to LDAP server. Trying again.

Это демонстрирует работу механизма отказоустойчивости, который попытался подключиться к LDAP-серверу 5 раз. Такое количество попыток задается системной настройкой «Количество попыток соединения с LDAP при ошибке» (код LdapSyncRetryCountOnFailure).

Ошибка вида:

System.DirectoryServices.Protocols.LdapException: The supplied credential is invalid.

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

Данная ошибка не повторяется механизмом отказоустойчивости. При возникновении данной ошибки в CTI-панель также приходит сообщение о неверном вводе логина или пароля.

Недостаток лицензий

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

В примере ниже представлен фрагмент лога о недостатке лицензий:

WARN  LDAP AddLicForSSPOrGeneralUsers - (id: f97875e1-9d37-4313-8b46-ccf45a92d115) | Ivanov.Ivan | BPMSoft customer portal, BPMSoft Marketing, BPMSoft Sales, BPMSoft Service.
WARN  LDAP AddLicForSSPOrGeneralUsers - (id: 7d0b3ecc-3e76-4a63-8981-f33f8f4d5723) | Petrov.Petr | BPMSoft customer portal, BPMSoft Marketing, BPMSoft Sales, BPMSoft Service.
WARN  LDAP AddLicForSSPOrGeneralUsers - (id: 78073deb-839b-4fe8-b224-0745aefb2735) | Alexeev.Alex| BPMSoft customer portal, BPMSoft Marketing, BPMSoft Sales, BPMSoft Service.

Трем пользователям — Ivanov.Ivan, Petrov.Petr и Alexeev.Alex — не хватило следующих лицензий: BPMSoft customer portal, BPMSoft Marketing, BPMSoft Sales, BPMSoft Service. Для получения точной информации о доступных пакетах лицензий перейдите в раздел «Менеджер лицензий».

По необходимости перераспределите лицензии между пользователями или освободите текущие с помощью отзыва лицензий у других пользователей через «Менеджер лицензий» или на странице пользователя на вкладке «Лицензии». Подробнее о добавлении лицензий пользователям смотрите в статье Добавление лицензий.

Общие ошибки синхронизации

По завершении синхронизации в файле LDAP.log появится запись:

User import finished! SyncResult: LDAP synchronization completed

Если в логе отсутствует строка Errors, значит, проблем не возникло. В противном случае там будет указано количество ошибок, например: Errors – 14.

Рассмотрим возможные причины, по которым в строке результата синхронизации появляется Errors.

Дубли контактов

При импорте пользователей процесс синхронизации с LDAP ищет контакт по ФИО, полученному из LDAP. Если контакта с таким ФИО нет, создается новый. Если контакт найден, он обновляется информацией, полученной из LDAP.

Может возникнуть ситуация, когда в системе обнаруживается несколько контактов с одинаковым ФИО. В этом случае пользователь из LDAP пропускается, а в Errors добавится новая ошибка.

Чтобы найти пользователя, на которого повлияла эта проблема, посмотрите в LDAP.log строку вида:

Several contacts found that can be duplicates of user Ivanov.Ivan

Если пользователь не существовал в системе, то при такой ошибке он не будет создан. Если он уже есть в BPMSoft, то не обновится актуальной информацией.

Чтобы устранить дубли контактов, выполните следующие шаги:

  1. Найдите в домене, указанном в логе, ФИО пользователя.
  2. Перейдите в раздел «Контакты» и выполните поиск по этому ФИО.
  3. Удалите дубликаты с помощью инструментов дедупликации.

В системе уже существует пользователь с таким же логином

При импорте пользователей из LDAP может возникнуть проблема, если в системе уже есть пользователь с таким же логином, но не связанный с LDAP. Связь с пользователем в LDAP определяется по идентификатору LdapEntryId в таблице SysAdminUnit.

Когда появляется эта ошибка, счетчик Errors увеличивается. Информацию об ошибке можно найти в файле LDAP.log. Пример сообщения:

Existing user has the LDAP username – Ivanov.Ivan

Рекомендуется удалить существующего пользователя или, если его важно сохранить, изменить логин.

Пользователь уже создан для найденного контакта

Эта ошибка увеличивает счетчик Errors на единицу. В журнале LDAP.log появляется запись:

User is already created for the found contact (Иванов Иван Иванович)

Ошибка может возникнуть, если значение настройки «Максимальная степень параллелизма при обработке LDAP-групп» (код MaxDegreeOfParallelismWhileProcessingLdapGroups) установлено больше 1. На синхронизацию пользователей эта ошибка не влияет, ее можно проигнорировать.

Не найден контакт для указанного LDAPEntryId

Could not find contact for ldapEntryId=

Это уведомление, а не ошибка. Оно сообщает, что при обновлении контактов существующих пользователей LDAP перед их импортом не был найден контакт. Контакт будет создан на этапе импорта пользователей LDAP.

Основные этапы синхронизации в журнале LDAP.log

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

Начало импорта элементов LDAP

Основной механизм синхронизации с LDAP реализуется через бизнес-процесс «Синхронизировать данные о пользователях с LDAP». Его выполнение начинается с операции импорта элементов LDAP. Необходимо зафиксировать время запуска этого бизнес-процесса в разделе «Журнал процессов». Затем по этому времени можно найти первую запись в журнале LDAP.log, которая имеет следующий формат:

INFO  LDAP .ctor - Start authentication LDAP connection.

Такая запись свидетельствует о начале этапа импорта элементов LDAP.

Самая последняя запись в журнале LDAP.log следующего вида:

INFO  LDAP .ctor - Authentication LDAP connection has successful.

до записи:

INFO  LDAP SyncWithLDAPAsync - SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 0 users became active

информирует о завершении импорта элементов LDAP. SyncID уникален для каждого выполнения синхронизации.

Чтение пользователей LDAP из домена

Запись в журнале вида:

INFO  LDAP SyncWithLDAPAsync - SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 0 users became active

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

Изменении пользователей LDAP

Затем выполняется обновление информации об изменении пользователей LDAP, если есть, а также обновление email, номера телефона и должностей. Справочник должностей также наполняется новыми записями, если они не существуют. Эти операции происходят до следующей записи в журнале LDAP.log:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. LDAP fields have been updated for 0 user(s)

Проверка синхронизированных ранее пользователей LDAP

Запись в журнале вида:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 0 users from deleted groups were deactivated

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

  • Чтение групп LDAP из домена;
  • Деактивация пользователей LDAP, которые находятся в роли, больше не синхронизируемой с LDAP (флаг «Синхронизировать с LDAP» на карточке роли был ранее активирован, теперь неактивен). Пользователь будет деактивирован в том случае, если у него больше нет ролей, у которых признак «Синхронизировать с LDAP» активен.

Сброс признака «Синхронизировать с LDAP»

До записи в журнале LDAP.log вида:

SyncWithLDAPAsync - SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. LDAP fields have been updated for 0 group(s)

выполняется установка признака «Синхронизировать с LDAP» в значение false для всех ролей, у которых группа LDAP пропала. То есть такие группы были удалены в домене. Затем осуществляется обновление ролей BPMSoft по полученной информации о связанных группах LDAP.

Проверка пользователей LDAP на принадлежность группе

Далее можно наблюдать несколько записей вида:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 0 user(s) removed from folder SomeLdapGroup

Для каждой группы проверяются пользователи LDAP следующим образом:

  • Чтение из LDAP пользователей для конкретной группы LDAP;
  • Пользователи, которые были удалены из группы LDAP, удаляются из роли BPMSoft.

Количество таких записей в журнале LDAP.log зависит от количества пользователей.

Добавление пользователей в роль BPMSoft

После этого можно наблюдать несколько записей следующего вида:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 0 user(s) added to folder SomeLdapGroup

Данный лог говорит о том, что определенное количество пользователей было добавлено в роль BPMSoft. Это происходит, когда в группу LDAP были добавлены пользователи.

Проверка изменений

Затем наблюдается несколько записей следующего вида (для каждой группы LDAP):

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. Minimal date of new users in group SomeLdapGroup: 25.08.2025 11:38:58

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

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. Group SomeLdapGroup doesn't have a new users

Начало импорта пользователей LDAP

Далее следует сообщение, которое говорит о том, что начался импорт пользователей LDAP:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. Start user import.

Завершение импорта характеризуется сообщением:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. User import finished! SyncResult: LDAP synchronization completed Users added: 10

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

Обработка групп и пользователей из LDAP

Ниже представлен фрагмент журнала LDAP.log, который характеризует обработку LDAP-групп и пользователей LDAP на этапе импорта:

SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. LDAP user 1000_GUSR00968 saved
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. LDAP user 1000_GUSR00969 saved
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. Progress: 964 users processed from 1001 (Processing group - SomeLdapGroup)
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. LDAP user 1000_GUSR00970 saved
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. Progress: 963 users processed from 1001 (Processing group - SomeLdapGroup)
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. Progress: 965 users processed from 1001 (Processing group - SomeLdapGroup)
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. LDAP user 1000_GUSR00972 saved
SyncID: ee3e5928-8462-4124-ac80-06a69a8a0b7b. LDAP user 1000_GUSR00971 saved

Данный лог можно отслеживать в режиме реального времени, например, с помощью команды:

tail -f [Путь до BPMSoft]/Logs/[Дата]/LDAP.log

Раздача лицензий

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

В журнале будут зафиксированы следующие действия:

AddLicForUsers: Start
LicHelper.AddUsersAvailableLicences: Start
LicHelper.AddUsersAvailableLicences: Stop
AddLicForUsers: End

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

Деактивация пользователей

Далее выполняется деактивация пользователей, которые были удалены из домена:

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 10 user(s) were deactivated in system, because they were deleted from AD.

Если на странице настроек интеграции с LDAP включена опция «Синхронизировать только группы», то последним этапом будет деактивация пользователей LDAP, исключенных из группы LDAP.

SyncID: 8c4cd8b0-b7d9-4fd0-8ce8-2e5156b7b199. 15 users were deactivated

Включение Debug-логов

Для того чтобы включить логи отладки, необходимо перейти в корень приложения BPMSoft, открыть файл nlog.config и отредактировать строку:

<logger name="LDAP" writeTo="universalAppender" minlevel="Info" final="true" />

таким образом, чтобы minLevel имел значение Debug:

<logger name="LDAP" writeTo="universalAppender" minlevel="Debug" final="true" />

После перезапуска приложения BPMSoft при повторной синхронизации с LDAP в журнале LDAP.log появятся логи отладки.

Рекомендуем изучить

Настройка синхронизации с LDAP

Материал был полезен для вас?
Вебинар: 22 апреля в 11:00
Приглашаем вас на вебинар «BPMSoft – от выбора к реальным процессам», где покажем, как компании на практике сокращают time-to-market и масштабируют бизнес с помощью решений BPMSoft.
Регистрация на мероприятие
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Рассчитать стоимость
Задать вопрос
Карта сценариев использования ИИ для управления маркетингом, продажами и сервисом
Заполните форму и мы отправим исследование на E-mail
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Стать образовательным партнёром
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Проверьте вашу почту
Для завершения подписки перейдите по ссылке в письме, которое мы только что отправили. Если письма нет во «Входящих», проверьте папку «Спам».
Telegram Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее