Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом разделе представлена информация и рекомендации по устранению неполадок OpenLDAP.
Протокол SMTP отключен, и пользователям необходимо сбросить пароль.
Симптом
Если протокол SMTP не настроен в пользовательском интерфейсе Edge, новым пользователям, добавляемым в Edge, потребуется возможность установить пароль.
Сообщения об ошибках
Unknown username and password combination.

Возможные причины
Новые пользователи не могут получить электронное письмо по ссылке «Забыли пароль?» для установки пароля, поскольку протокол SMTP не настроен.
Разрешение
Эту проблему можно решить одним из следующих способов:
Решение №1: Настройка SMTP-сервера
Настройте SMTP-сервер для установки нового пароля для пользователя, следуя инструкциям, приведенным в документации .
Решение №2: Использование LDAP
Если вам не удаётся настроить SMTP-сервер, воспользуйтесь приведёнными ниже командами LDAP для установки нового пароля для пользователя:
- Существующему администратору организации необходимо добавить конкретного пользователя через пользовательский интерфейс Edge, как показано ниже:

- Используйте команду ldapsearch , чтобы найти отличительное имя пользователя (DN) и перенаправить вывод в файл:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Вот пример записи DN для пользователя, а также атрибуты этого пользователя:
dn:uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com mail: apigee_validator@apigee.com userPassword:: e1NTSEF9b0FrMFFXVmFjbWRxM1BVaFZzMnllWGZMdkNvNjMwNTJlUDZYN3c9PQ= = uid: f7a4a4a5-7c43-4168-a47e-6e9a1417cc29 objectClass: inetOrgPerson sn: Validator cn: apigee
- Откройте файл ldap.txt и найдите DN нового пользователя, добавленного на основе его адреса электронной почты.
- Выполните команду ldappassword , чтобы добавить пароль для нового пользователя, используя его DN. В этом примере вы устанавливаете пароль пользователя Apigee123:
ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s Apigee123 "uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com"
- Войдите в пользовательский интерфейс Edge под новым пользователем, используя пароль, заданный на предыдущем шаге. После входа в интерфейс пользователь сможет установить новый пароль.
LDAP не выполняет репликацию.
Симптом
Во многих системах Edge используется несколько центров обработки данных, например, DC-1 и DC-2. При входе в пользовательский интерфейс Edge в DC-1 в качестве администратора организации можно просмотреть список пользователей, но тот же список пользователей не отображается в пользовательском интерфейсе Edge в DC-2.
Сообщения об ошибках
Ошибок не появляется, просто в пользовательском интерфейсе Edge не отображается список пользователей, которые должны были быть реплицированы на все серверы OpenLDAP.
Возможные причины
Как правило, причиной этой проблемы является неправильная настройка репликации OpenLDAP, а не сама установка. Кроме того, репликация может нарушиться, если сеть между серверами OpenLDAP не разрешает трафик через порт 10389.
Диагноз
Для диагностики проблемы выполните следующие шаги:
- Проверьте, возвращает ли ldapsearch данные с каждого сервера OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Проверьте, можете ли вы подключиться к каждому узлу OpenLDAP с других узлов OpenLDAP через порт 10389. Если установлен telnet, используйте следующую команду:
telnet <OpenLDAP_Peer_IP> 10389
- Если telnet недоступен, проверьте подключение с помощью netcat следующим образом:
nc -vz <OpenLDAP_Peer_IP> 10389
- Проверьте конфигурацию репликации в следующем файле:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldifФайл должен содержать конфигурацию следующего вида:
olcSyncRepl: rid=001 provider=ldap://__OTHER_LDAP_SERVER__/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials=__LDAP_PASSWORD__ searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- Также проверьте в том же файле значение атрибута olcMirrorMode. Оно должно быть установлено на значение TRUE:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif - Проверьте правила iptables и tcp wrapper. Удалите все правила, которые препятствуют взаимодействию между серверами OpenLDAP. Обратитесь к сетевому администратору для правильной настройки правил.
- Убедитесь, что системный пароль OpenLDAP одинаков на каждом узле OpenLDAP.
- Проверьте файлы конфигурации ldif, используемые для настройки многопоточной репликации OpenLDAP, на наличие скрытых символов, запустив dos2unix для проверки файлов ldif, созданных для обновления конфигурации. Как правило, файл ldif, содержащий недопустимые символы, приводит к сбою команды ldapmodify, и, следовательно, репликация может быть не настроена. Удалите все недопустимые символы и сохраните файлы конфигурации.
Если проблема сохраняется, обратитесь в службу поддержки Apigee за помощью в настройке репликации OpenLDAP N-Way.
Не удалось запустить OpenLDAP.
Симптом
OpenLDAP не запускается.
Сообщения об ошибках
SLAPD Dead But Pid File Exists
Возможные причины
Эта проблема обычно вызвана файлом блокировки, оставшимся в файловой системе, который необходимо удалить.
Диагноз
Для диагностики этой проблемы выполните следующие действия:
- Проверьте наличие файла блокировки процесса OpenLDAP slapd или файла PID в следующем расположении:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Удалите файл блокировки и PID, если они найдены, и попробуйте перезапустить OpenLDAP.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lockrm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid - Если процесс OpenLDAP slapd запущен, пропустите следующие шаги.
- Если процесс OpenLDAP slapd не запускается, попробуйте запустить slapd в режиме отладки и проверьте наличие ошибок:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Ошибки могут указывать на проблемы с ресурсами. Проверьте загрузку памяти и процессора в системе.
- Проверьте версию OpenLDAP и обновите её, если она устарела. Список поддерживаемых версий OpenLDAP можно найти в нашем документе «Поддерживаемое программное обеспечение» .
slapd -V
- Используйте strace для устранения неполадок в процессе slapd и для предоставления результатов выполнения strace в службу поддержки Apigee :
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Повреждение данных OpenLDAP
Симптом
Пользователи больше не могут выполнять управляющие вызовы или входить в пользовательский интерфейс Edge. Использование утилиты ldapsearch для запроса пользователей может показать, что пользователь существует в хранилище данных LDAP, или выявить возможное отсутствие пользователей или ролей.
Сообщения об ошибках
Unknown username and password combination.
Возможные причины
Как правило, эта проблема может возникать из-за повреждения данных OpenLDAP. Обычно данные OpenLDAP не повреждаются. Но в редких случаях, когда это происходит, повреждение может быть вызвано сбоем системного диска или проблемами с дисковым пространством.
Диагноз
- Проверьте наличие свободного места на диске в системе с установленным OpenLDAP, используя следующую команду:
du -m /opt
- Если вы видите, что используемое дисковое пространство очень близко к 100%, это может указывать на то, что причиной проблемы является нехватка места на диске в вашей системе.
- Проверьте согласованность данных на всех узлах LDAP:
- На каждом узле LDAP сравните количество пользователей и ролей. Выполните следующие команды и сравните результаты.
Расхождение в количестве данных между узлами указывает на возможное повреждение данных.ldapsearch -o ldif-wrap=no -b "ou=users,ou=global,dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w PASSWORD|wc -lldapsearch -o ldif-wrap=no -b "ou=resources,ou=global,dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w PASSWORD|wc -l - Проверьте состояние репликации LDAP. Выполните следующую команду на каждом узле LDAP.
Если значениеldapsearch -x -LLL -H ldap://ldap_ip:10389 -s base -b 'dc=apigee,dc=com' contextCSN dn: dc=apigee,dc=com -D "cn=manager,dc=apigee,dc=com" -w PASSWORD dn: dc=apigee,dc=com
contextCSNодинаково на всех узлах, репликация LDAP работает корректно.
- На каждом узле LDAP сравните количество пользователей и ролей. Выполните следующие команды и сравните результаты.
Разрешение
Если в вашей системе закончилось или почти закончилось место на диске, добавьте дополнительное дисковое пространство, чтобы обеспечить достаточную доступность.
После того как у вас будет достаточно места на диске, воспользуйтесь одним из следующих решений для устранения проблемы повреждения данных LDAP:
- Восстановите данные OpenLDAP из резервной копии.
- Для очистки базы данных OpenLDAP выполните следующие действия:
- Остановите сервер управления 2 и LDAP2 .
- Восстановите LDAP1 из резервной копии виртуальной машины (или резервной копии Apigee).
- Проверьте сервер управления 1 на предмет запуска и восстановления.
- После того, как сервер управления 1 и LDAP1 начнут корректно работать, переустановите LDAP2 с нуля (создав полностью чистую систему).
- Настройте LDAP2 в режиме только для чтения, разрешив LDAP1 реплицировать данные на LDAP2 .
- Используйте
ldapsearch, чтобы убедиться, что количество строк в LDAP1 и LDAP2 совпадает. - Перезапустите Management Server 2 и UI2 и убедитесь, что они успешно запустились.
Подробные инструкции см. в системе отслеживания публичных проблем .
Решение №1: Восстановите данные LDAP из резервной копии.
На работающем узле OpenLDAP создайте резервную копию. Резервное копирование следует выполнять регулярно. Рекомендации по резервному копированию см. в руководстве по эксплуатации частного облака Apigee :
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Следующие шаги помогут восстановить данные OpenLDAP из исправной резервной копии.
- Остановите узел OpenLDAP, для которого необходимо восстановить данные:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Перейдите в каталог с данными OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Создайте резервную копию существующих данных OpenLDAP с помощью команды move:
mv ldap ldap_orig
- Переключитесь на пользователя apigee:
su apigee
- В каталоге
/opt/apigee/data/apigee-openldapсоздайте новый каталог данных OpenLDAP с исходным именем:mkdir ldap
- Создайте резервную копию подкаталога ldap_orig/DB_CONFIG из шага 3 и скопируйте её в каталог openldap.
cp ldap_orig/DB_CONFIG ldap
- Для восстановления данных из резервной копии, созданной с помощью slapcat, используйте slapadd для импорта ldif-файла, содержащего корректные данные:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Запустите процесс OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Решение №2: Очистка базы данных LDAP.
Следующие шаги удаляют базу данных OpenLDAP, чтобы обеспечить возможность начать все заново. Это решение можно использовать, если отсутствует резервная копия данных последнего состояния, в котором данные OpenLDAP работали.
- Остановите службу OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Перейдите в каталог с данными OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Создайте резервную копию существующих данных OpenLDAP с помощью команды move:
mv ldap ldap_orig
- Переключитесь на пользователя apigee:
su apigee
- Создайте новый каталог данных OpenLDAP с исходным именем:
mkdir ldap
- Возьмите резервную копию подкаталога ldap_orig/DB_CONFIG из шага 3 и скопируйте её в каталог openldap:
cp ldap_orig/DB_CONFIG ldap
- Перезапустите процесс OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Перезапустите сервер управления, чтобы принудительно обновить соединения с OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Решение №3. Сбросьте OpenLDAP до базовой установки.
Если решение №2 не устранит проблему, вы можете восстановить базовую установку OpenLDAP, как описано в этом разделе.
Предварительные требования
Для сброса OpenLDAP необходимы следующие условия:
- Возможность запуска установки с использованием учетных данных системного администратора и root-пользователя LDAP.
- Доступ к утилите
ldapadd. - Сохранённый исходный файл конфигурации в тихом режиме для узла управления/LDAP.
Для сброса настроек OpenLDAP выполните следующие действия:
- Переустановите OpenLDAP и сервер управления.
- Остановите сервер
openldap:apigee-service apigee-openldap stop
- Удалите поврежденную папку с данными
openldap:rm -rf /opt/apigee/data/apigee-openldap
- Удалите компонент
openldap:apigee-service apigee-openldap uninstall
- Переустановите компонент
openldap, используя тот же конфигурационный файл, который использовался при первоначальной установке: где/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile— это имя файла конфигурации. - Переустановите сервер управления, используя исходный конфигурационный файл:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configfile
After doing these steps, Management API calls should work again using the
sysadminaccount only. However, it will not be possible to log into the Edge UI, and Management API calls with any other users will not work. - Остановите сервер
- Add missing
openldapentries for orgs that existed prior to the corruption.After the above step is completed,
openldapwill be missing entries for orgs that existed when the corruption occurred. The majority of the actual org data such as proxy bundles is stored in Cassandra or Zookeeper is not lost. However, running the setup-org script will not automatically add the openldap data for the orgs that already exist in Cassandra, and Zookeeper. This data has to be added manually for every org that existed prior to the corruption using the following steps:- Create an ldif file called
missingLDAP.ldifwith the following content:# orgname, organizations, apigee.com dn: o=orgname,ou=organizations,dc=apigee,dc=com objectClass: organization O: orgname # userroles, orgname, organizations, apigee.com dn: ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com ou: userroles objectClass: organizationalUnit # orgadmin, userroles, orgname, organizations, apigee.com dn: cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com objectClass: organizationalRole cn: orgadmin roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com # resources, orgadmin, userroles, orgname, organizations, apigee.com dn: ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com ou: resources objectClass: organizationalUnit # @@@, resources, orgadmin, userroles, orgname, organizations, apigee.com dn: cn=@@@,ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com roleOccupant: ou=delete,ou=permissions,dc=apigee,dc=com roleOccupant: ou=get,ou=permissions,dc=apigee,dc=com roleOccupant: ou=put,ou=permissions,dc=apigee,dc=com labeledURI: / objectClass: organizationalRole objectClass: labeledURIObject cn: @@@
где orgname — это организация, которую вы пытаетесь воссоздать.
- Добавьте недостающие LDAP-сущности, используя следующую команду:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Вышеописанные шаги создадут недостающие записи для существующей организации и права
orgadminдля этой организации. Повторите эти шаги для каждой организации, которую необходимо воссоздать. На этом этапе вы можете добавить пользователейorgadminорганизации, но другие роли по умолчанию пока отсутствуют, поэтому их необходимо добавить на следующем шаге. - Create an ldif file called
Добавьте отсутствующие роли и разрешения по умолчанию в существующую организацию.
Используя тот же конфигурационный файл, который изначально применялся для настройки существующих организаций, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Добавьте любые пользовательские роли, существовавшие до повреждения, используя пользовательский интерфейс или API управления.
- Добавьте всех пользователей в соответствующие роли.
(Необязательно) Восстановите конфигурацию внешней аутентификации в разделе «Управление».
Восстановите файл
/opt/apigee/customer/application/management-server.propertiesесли конфигурация не изменилась. Поскольку пользовательский интерфейс не был переустановлен, файл/opt/apigee/customer/application/ui.propertiesдолжен остаться прежним, так как учетные данные системного администратора были восстановлены при новой установке системы управления.(Необязательно) Переустановите Apigee mTLS на управляющем узле.
Если Apigee mTLS был установлен ранее, следуйте руководству по установке Apigee mTLS, чтобы переустановить его на узле сервера управления.
После выполнения этой процедуры вам необходимо вручную:
Если проблема не исчезнет, обратитесь в службу поддержки Apigee за дополнительной помощью.