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

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

- Чтобы найти отличительное имя пользователя (dn) и перенаправить вывод в файл, используйте команду ldapsearch:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -x -H ldap://localhost: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 -x -H ldap://localhost: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"
- Войдите в New Edge UI как новый пользователь с паролем, заданным на предыдущем шаге. Пользователь может задать новый пароль после входа в интерфейс.
Репликация LDAP не выполняется
Symptom
Многие установки Edge имеют несколько центров обработки данных, например DC-1 и DC-2. При входе в новый интерфейс Edge в DC-1 в качестве администратора организации можно просматривать список пользователей, но тот же список пользователей не отображается в новом интерфейсе Edge в DC-2.
Сообщения об ошибках
Ошибки не появляются, но в новом интерфейсе Edge не отображается список пользователей, который должен был быть реплицирован на всех серверах OpenLDAP.
Возможные причины
Обычно причиной этой проблемы является неправильная конфигурация репликации OpenLDAP, а не сама установка. Кроме того, репликация может не работать, если сеть между серверами OpenLDAP не разрешает трафик через порт 10389.
диагностика;
Чтобы определить причину проблемы, выполните следующие действия:
- Проверьте, возвращает ли ldapsearch данные с каждого сервера OpenLDAP:
ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -H ldap://HOST_IP:10389
- Проверьте, можете ли вы подключиться к каждому узлу OpenLDAP из других узлов OpenLDAP через порт 10389.
Если Telnet установлен, используйте следующую команду:
telnet <OpenLDAP_Peer_IP> 10389
-
Если telnet недоступен, используйте netcat, чтобы проверить подключение, как описано ниже.
nc -vz <OpenLDAP_Peer_IP> 10389
- Проверьте конфигурацию репликации во время выполнения с помощью команды
ldapsearch:ldapsearch -o ldif-wrap=no -D cn=admin,cn=config -H ldap://:10389 -LLL -x -w LDAP_ADMIN_PASSWORD -b "cn=config" "(olcSyncrepl=*)" olcSyncrepl
Выходные данные должны содержать конфигурацию, похожую на следующую:
dn: olcDatabase={2}mdb,cn=config olcSyncrepl: {0}rid=001 provider=ldap://OTHER_LDAP_SERVER:10389/ 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
- Проверьте конфигурацию среды выполнения для атрибута
olcMultiProvider(ранееolcMirrorMode) с помощью командыldapsearch, чтобы убедиться, что для него задано значениеTRUE:ldapsearch -o ldif-wrap=no -D cn=admin,cn=config -H ldap://:10389 -LLL -x -w LDAP_ADMIN_PASSWORD -b "cn=config" "(olcMultiProvider=*)" olcMultiProvider olcMirrorMode
Выходные данные должны выглядеть следующим образом:
dn: olcDatabase={2}mdb,cn=config olcMultiProvider: TRUE - Проверьте правила iptables и tcp wrapper. Удалите все правила, которые не позволяют серверам OpenLDAP взаимодействовать друг с другом. Обратитесь к администратору сети, чтобы настроить правила.
- Убедитесь, что системный пароль OpenLDAP одинаков на всех узлах OpenLDAP.
- Проверьте, нет ли скрытых символов в файлах конфигурации ldif, которые используются для настройки репликации N-Way OpenLDAP. Для этого запустите dos2unix для файлов ldif, созданных для обновления конфигурации. Обычно LDIF-файл с недопустимыми символами приводит к сбою команды ldapmodify, и репликация может быть не настроена. Удалите недопустимые символы и сохраните файлы конфигурации.
Если проблема не исчезнет, обратитесь в службу поддержки Apigee за помощью в настройке N-Way OpenLDAP replication.
Не удается запустить OpenLDAP
Symptom
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
- Удалите файлы lock и 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
- Чтобы устранить неполадки с процессом 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
Symptom
Пользователи больше не могут выполнять вызовы управления или входить в новый интерфейс 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, выполните следующие действия:
- Отключите Management Server 2 и LDAP2.
- Восстановите LDAP1 из резервной копии ВМ (или резервной копии Apigee).
- Проверьте Management Server 1 на предмет запуска и восстановления.
- Когда Management Server 1 и LDAP1 будут работать правильно, переустановите LDAP2 с нуля (создав полностью чистый лист).
- Настройте LDAP2 в режиме только для чтения, чтобы LDAP1 мог реплицировать данные в LDAP2.
- С помощью
ldapsearchубедитесь, что количество строк в LDAP1 и LDAP2 совпадает. - Перезапустите Management Server 2 и New Edge UI на узле 2 и убедитесь, что они запускаются успешно.
Подробные инструкции см. в системе отслеживания ошибок.
Решение 1. Восстановите данные LDAP из резервной копии
Создайте резервную копию на работающем узле OpenLDAP. Резервное копирование следует выполнять регулярно. Рекомендации по резервному копированию приведены в руководстве по работе с Apigee Private Cloud.
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, вам потребуется:
- Возможность выполнить настройку с учетными данными системного администратора и корневого 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
После этого вызовы Management API должны снова работать, используя только аккаунт
sysadmin. Однако войти в новый интерфейс Edge нельзя, и вызовы API управления с другими пользователями работать не будут. - Остановите сервер
- Добавьте отсутствующие записи
openldapдля организаций, которые существовали до повреждения.После выполнения описанных выше действий в файле
openldapне будет записей об организациях, которые существовали на момент повреждения. Большая часть фактических данных организации, например пакеты прокси, хранится в Cassandra или Zookeeper и не теряется. Однако при запуске скрипта setup-org данные openldap для организаций, которые уже существуют в Cassandra и Zookeeper, не будут добавлены автоматически. Эти данные необходимо добавить вручную для каждой организации, которая существовала до повреждения, выполнив следующие действия:- Создайте LDIF-файл с названием
missingLDAP.ldifи следующим содержимым:# 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 "OPENLDAP_ROOT_PASSWORD" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Вышеописанные действия позволят создать недостающие записи для существующей организации и разрешения
orgadminдля этой организации. Повторите эти действия для каждой организации, которую нужно создать заново. На этом этапе вы можете добавить пользователейorgadminв организацию, но другие роли по умолчанию ещё не существуют, поэтому вам нужно добавить их на следующем шаге. - Создайте LDIF-файл с названием
Добавление недостающих ролей и разрешений по умолчанию в существующую организацию.
Используя тот же файл конфигурации, который изначально использовался для настройки любой из существующих организаций, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Добавьте все специальные роли, которые существовали до повреждения, с помощью нового интерфейса Edge или Management API.
- Добавьте пользователей в нужные роли.
При необходимости восстановите конфигурацию внешней аутентификации в Management.
Восстановите
/opt/apigee/customer/application/management-server.properties, если конфигурация не изменилась. Поскольку новый интерфейс Edge не был переустановлен,/opt/apigee/customer/application/management-ui.propertiesостается прежним после восстановления учетных данных для аккаунтаsysadminс новой установкой сервера управления.При необходимости переустановите Apigee mTLS на узле управления.
Если Apigee mTLS был установлен ранее, следуйте руководству по установке Apigee mTLS, чтобы переустановить его на узле сервера управления.
После этого вам нужно вручную:
Если проблема не исчезнет, обратитесь в службу поддержки Apigee.