Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
W tej sekcji znajdziesz informacje i wskazówki dotyczące rozwiązywania problemów z OpenLDAP.
SMTP jest wyłączony, a użytkownicy muszą zresetować hasło
Krótki opis problemu
Gdy SMTP nie jest skonfigurowany w interfejsie Edge, nowi użytkownicy dodani do Edge muszą mieć możliwość ustawienia hasła.
Komunikaty o błędach
Unknown username and password combination.

Możliwe przyczyny
Nowi użytkownicy nie mogą otrzymać e-maila z linku „Nie pamiętasz hasła?”, aby ustawić hasło, ponieważ SMTP nie jest skonfigurowany.
Rozdzielczość
Ten problem możesz rozwiązać na jeden z tych sposobów:
Rozwiązanie 1: skonfiguruj serwer SMTP
Skonfiguruj serwer SMTP, aby ustawić nowe hasło użytkownika, korzystając z instrukcji podanych w dokumentacji.
Rozwiązanie 2: użyj LDAP
Jeśli nie możesz skonfigurować serwera SMTP, użyj tych poleceń LDAP, aby ustawić nowe hasło użytkownika:
- Dotychczasowy administrator organizacji musi dodać konkretnego użytkownika w interfejsie Edge, jak pokazano poniżej:

- Użyj polecenia ldapsearch , aby znaleźć nazwę wyróżniającą użytkownika
(dn) i przekierować dane wyjściowe do pliku:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Oto przykład wpisu dn użytkownika wraz z jego atrybutami:
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
- Otwórz plik ldap.txt i znajdź nazwę wyróżniającą nowego użytkownika, który został dodany na podstawie atrybutu e-mail nowego użytkownika.
- Uruchom polecenie ldappassword , aby dodać hasło dla nowego użytkownika
za pomocą jego nazwy wyróżniającej. W tym przykładzie ustawiasz hasło użytkownika na 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"
- Zaloguj się w interfejsie Edge jako nowy użytkownik, używając hasła zdefiniowanego w poprzednim kroku. Po zalogowaniu się w interfejsie użytkownik może ustawić nowe hasło.
LDAP nie jest replikowany
Krótki opis problemu
Wiele instalacji Edge ma kilka centrów danych, np. DC-1 i DC-2. Gdy zalogujesz się w interfejsie Edge w DC-1 jako administrator organizacji, możesz wyświetlić listę użytkowników, ale ta sama lista użytkowników nie pojawia się w interfejsie Edge w DC-2.
Komunikaty o błędach
Nie pojawiają się żadne błędy. Interfejs Edge po prostu nie wyświetla listy użytkowników, która powinna być replikowana na wszystkich serwerach OpenLDAP.
Możliwe przyczyny
Przyczyną tego problemu jest zwykle nieprawidłowo skonfigurowana replikacja OpenLDAP, a nie sama instalacja. Replikacja może też zostać przerwana, jeśli sieć między serwerami OpenLDAP nie zezwala na ruch na porcie 10389.
Diagnostyka
Aby zdiagnozować problem, wykonaj te czynności:
- Sprawdź, czy narzędzie ldapsearch zwraca dane z każdego serwera OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Sprawdź, czy możesz połączyć się z każdym węzłem OpenLDAP z innych węzłów OpenLDAP na porcie 10389.
Jeśli masz zainstalowany program telnet, użyj tego polecenia:
telnet <OpenLDAP_Peer_IP> 10389
-
Jeśli program telnet nie jest dostępny, użyj narzędzia netcat, aby sprawdzić połączenie:
nc -vz <OpenLDAP_Peer_IP> 10389
- Sprawdź konfigurację replikacji w tym pliku:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldifPlik powinien zawierać taką konfigurację:
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
- Sprawdź też w tym samym pliku wartość atrybutu olcMirrorMode. Powinna być
ustawiona na TRUE:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif - Sprawdź reguły iptables i tcp wrapper. Usuń wszystkie reguły, które uniemożliwiają komunikację między serwerami OpenLDAP. Poproś administratora sieci o odpowiednie skonfigurowanie reguł.
- Upewnij się, że hasło systemowe OpenLDAP jest takie samo w każdym węźle OpenLDAP.
- Sprawdź, czy w plikach konfiguracji ldif używanych do konfigurowania replikacji OpenLDAP N-Way nie ma ukrytych znaków. W tym celu uruchom polecenie dos2unix w plikach ldif utworzonych w celu zaktualizowania konfiguracji. Zwykle plik ldif zawierający nieprawidłowe znaki powoduje, że polecenie ldapmodify nie działa, a replikacja może nie zostać skonfigurowana. Usuń wszystkie nieprawidłowe znaki i zapisz pliki konfiguracji.
Jeśli problem nadal występuje, skontaktuj się z zespołem pomocy Apigee, aby uzyskać pomoc w skonfigurowaniu replikacji OpenLDAP N-Way.
Nie można uruchomić OpenLDAP
Krótki opis problemu
OpenLDAP nie uruchamia się.
Komunikaty o błędach
SLAPD Dead But Pid File Exists
Możliwe przyczyny
Ten problem jest zwykle spowodowany plikiem blokady, który pozostał w systemie plików i należy go usunąć.
Diagnostyka
Aby zdiagnozować ten problem, wykonaj te czynności:
- Sprawdź, czy w tej lokalizacji nie ma pliku blokady lub pliku pid procesu slapd OpenLDAP:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Jeśli znajdziesz plik blokady i plik pid, usuń je i spróbuj ponownie uruchomić OpenLDAP.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lockrm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid - Jeśli proces slapd OpenLDAP się uruchomi, pomiń te czynności.
- Jeśli proces slapd OpenLDAP się nie uruchomi, spróbuj uruchomić slapd w trybie debugowania i poszukaj
błędów:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Błędy mogą wskazywać na problemy z zasobami. Sprawdź wykorzystanie pamięci i procesora w systemie.
- Sprawdź wersję OpenLDAP i zaktualizuj ją, jeśli jest stara. Obsługiwane wersje
OpenLDAP znajdziesz w dokumencie Obsługiwane oprogramowanie.
slapd -V
- Użyj narzędzia strace, aby rozwiązać problemy z procesem slapd i przekazać dane wyjściowe strace do
zespołu pomocy Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Uszkodzenie danych OpenLDAP
Krótki opis problemu
Użytkownicy nie mogą już wykonywać wywołań zarządzania ani logować się w interfejsie Edge. Użycie narzędzia ldapsearch do wysyłania zapytań do użytkowników może wskazywać, że użytkownik istnieje w magazynie danych LDAP, lub może wskazywać na brakujących użytkowników lub role.
Komunikaty o błędach
Unknown username and password combination.
Możliwe przyczyny
Ten problem może być spowodowany uszkodzeniem danych OpenLDAP. Zwykle dane OpenLDAP nie ulegają uszkodzeniu. Jednak w rzadkich przypadkach może to nastąpić z powodu awarii dysku systemowego lub problemów z miejscem na dysku.
Diagnostyka
- Sprawdź miejsce na dysku w systemie, w którym jest zainstalowany OpenLDAP, za pomocą tego polecenia:
du -m /opt
- Jeśli widzisz, że wykorzystanie miejsca na dysku jest bliskie 100%, oznacza to, że przyczyną tego problemu jest brak miejsca na dysku w systemie.
- Sprawdź spójność danych w węzłach LDAP:
- W każdym węźle LDAP porównaj liczbę użytkowników i ról. Uruchom te polecenia i porównaj wyniki.
Rozbieżność w liczbie między węzłami może wskazywać na uszkodzenie danych.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 - Sprawdź stan replikacji LDAP. Uruchom to polecenie w każdym węźle LDAP.
Jeśli wartość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
contextCSNjest identyczna we wszystkich węzłach, replikacja LDAP działa prawidłowo.
- W każdym węźle LDAP porównaj liczbę użytkowników i ról. Uruchom te polecenia i porównaj wyniki.
Rozdzielczość
Jeśli w systemie brakuje miejsca na dysku lub jest on bliski wyczerpania, dodaj więcej miejsca na dysku, aby zapewnić wystarczającą dostępność.
Gdy będziesz mieć wystarczająco dużo miejsca na dysku, użyj jednego z tych rozwiązań, aby rozwiązać problem z uszkodzeniem danych LDAP:
- Przywróć dane OpenLDAP z kopii zapasowej.
-
Wyczyść bazę danych OpenLDAP, wykonując te czynności:
- Wyłącz serwer zarządzania 2 i LDAP2.
- Przywróć LDAP1 z kopii zapasowej maszyny wirtualnej (lub kopii zapasowej Apigee).
- Sprawdź, czy serwer zarządzania 1 uruchamia się i odzyskuje dane.
- Gdy serwer zarządzania 1 i LDAP1 będą działać prawidłowo, zainstaluj ponownie LDAP2 od zera (tworząc całkowicie pustą instancję).
- Skonfiguruj LDAP2 w trybie tylko do odczytu, aby LDAP1 mógł replikować dane do LDAP2.
- Użyj polecenia
ldapsearch, aby sprawdzić, czy liczba wierszy w LDAP1 i LDAP2 jest taka sama. - Uruchom ponownie serwer zarządzania 2 i UI2 i sprawdź, czy uruchamiają się prawidłowo.
Szczegółowe instrukcje znajdziesz w publicznym narzędziu do śledzenia problemów.
Rozwiązanie 1. Przywróć dane LDAP z kopii zapasowej
Utwórz kopię zapasową w działającym węźle OpenLDAP. Kopia zapasowa powinna być tworzona regularnie. Sprawdzone metody tworzenia kopii zapasowych znajdziesz w przewodniku po operacjach w Apigee Private Cloud:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Aby przywrócić dane OpenLDAP z prawidłowej kopii zapasowej, wykonaj te czynności.
- Zatrzymaj węzeł OpenLDAP, dla którego trzeba przywrócić dane:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Zmień katalog na katalog danych OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Utwórz kopię zapasową istniejących danych OpenLDAP za pomocą polecenia move:
mv ldap ldap_orig
- Przełącz się na użytkownika apigee:
su apigee
- W katalogu
/opt/apigee/data/apigee-openldaputwórz nowy katalog danych OpenLDAP o oryginalnej nazwie:mkdir ldap
- Utwórz kopię zapasową podkatalogu ldap_orig/DB_CONFIG z kroku 3 i skopiuj ją do katalogu
openldap.
cp ldap_orig/DB_CONFIG ldap
- Aby przywrócić dane z kopii zapasowej utworzonej za pomocą polecenia slapcat, użyj polecenia slapadd, aby zaimportować plik ldif, który
zawiera prawidłowe dane:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Uruchom proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Rozwiązanie 2. Zwalnianie miejsca w bazie danych LDAP
Te czynności powodują wyczyszczenie bazy danych OpenLDAP, aby można było zacząć od nowa. To rozwiązanie można zastosować, jeśli nie ma kopii zapasowej danych z ostatniego stanu, w którym dane OpenLDAP działały.
- Zatrzymaj usługę OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Zmień katalog na katalog danych OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Utwórz kopię zapasową istniejących danych OpenLDAP za pomocą polecenia move:
mv ldap ldap_orig
- Przełącz się na użytkownika apigee:
su apigee
- Utwórz nowy katalog danych OpenLDAP o oryginalnej nazwie:
mkdir ldap
- Utwórz kopię zapasową podkatalogu ldap_orig/DB_CONFIG z kroku 3 i skopiuj ją do katalogu openldap
directory:
cp ldap_orig/DB_CONFIG ldap
- Uruchom ponownie proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Uruchom ponownie serwer zarządzania, aby wymusić odświeżenie połączeń z OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Rozwiązanie 3. Zresetuj OpenLDAP do podstawowej instalacji
Jeśli rozwiązanie 2 nie rozwiąże problemu, możesz zresetować OpenLDAP do podstawowej instalacji, jak opisano w tej sekcji.
Wymagania wstępne
Aby zresetować OpenLDAP, musisz spełnić te wymagania wstępne:
- Możliwość uruchomienia konfiguracji za pomocą danych logowania administratora systemu i administratora głównego LDAP.
- Dostęp do narzędzia
ldapadd. - Zapisany oryginalny plik konfiguracji cichej dla węzła zarządzania/LDAP.
Aby zresetować OpenLDAP, wykonaj te czynności:
- Zainstaluj ponownie OpenLDAP i serwer zarządzania.
- Zatrzymaj serwer
openldap:apigee-service apigee-openldap stop
- Usuń uszkodzony folder danych
openldap:rm -rf /opt/apigee/data/apigee-openldap
- Odinstaluj komponent
openldap:apigee-service apigee-openldap uninstall
- Zainstaluj ponownie komponent
openldap, używając tego samego pliku konfiguracji, który został użyty do początkowej instalacji: gdzie/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfileto nazwa pliku konfiguracji. - Zainstaluj ponownie serwer zarządzania, używając oryginalnego pliku konfiguracji:
/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. - Zatrzymaj serwer
- 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: @@@
gdzie orgname to nazwa organizacji, którą próbujesz odtworzyć.
- Dodaj brakujące encje LDAP za pomocą tego polecenia:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Powyższe czynności spowodują utworzenie brakujących wpisów dla istniejącej organizacji oraz uprawnień
orgadmindla tej organizacji. Powtórz te czynności w przypadku każdej organizacji, którą trzeba odtworzyć. W tym momencie możesz dodać użytkownikóworgadmindo organizacji, ale inne role domyślne jeszcze nie istnieją, więc musisz je dodać w następnym kroku. - Create an ldif file called
Dodaj brakujące role i uprawnienia domyślne do istniejącej organizacji.
Uruchom to polecenie, używając tego samego pliku konfiguracji, który został użyty do początkowej konfiguracji dowolnej z istniejących organizacji:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- dodaj wszystkie role niestandardowe, które istniały przed uszkodzeniem, za pomocą interfejsu lub interfejsu API zarządzania,
- dodaj użytkowników do odpowiednich ról.
(Opcjonalnie) Przywróć konfigurację uwierzytelniania zewnętrznego w zarządzaniu.
Jeśli konfiguracja się nie zmieniła, przywróć plik
/opt/apigee/customer/application/management-server.properties. Ponieważ interfejs nie został ponownie zainstalowany, plik/opt/apigee/customer/application/ui.propertiespowinien pozostać taki sam, ponieważ dane logowania administratora systemu zostały przywrócone wraz z nową instalacją zarządzania.(Opcjonalnie) Zainstaluj ponownie Apigee mTLS w węźle zarządzania.
Jeśli Apigee mTLS zostało wcześniej zainstalowane, postępuj zgodnie z instrukcjami w przewodniku instalacji Apigee mTLS, aby zainstalować je ponownie w węźle serwera zarządzania.
Po wykonaniu tej procedury musisz ręcznie:
Jeśli problem nadal występuje, skontaktuj się z zespołem pomocy Apigee Support.