Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
W tej sekcji znajdziesz informacje i wskazówki dotyczące rozwiązywania problemów z OpenLDAP.
Usługa SMTP jest wyłączona, a użytkownicy muszą zresetować hasło
Krótki opis problemu
Jeśli 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ą otrzymywać e-maili z linkiem „Nie pamiętasz hasła?”, aby ustawić hasło, ponieważ nie jest skonfigurowana usługa SMTP.
Rozdzielczość
Możesz rozwiązać ten problem na jeden z tych sposobów:
Rozwiązanie 1. Skonfiguruj serwer SMTP
Skonfiguruj serwer SMTP, aby ustawić nowe hasło dla użytkownika, korzystając z instrukcji podanych w dokumentacji.
Rozwiązanie 2. Korzystanie z LDAP
Jeśli nie możesz skonfigurować serwera SMTP, użyj tych poleceń LDAP, aby ustawić nowe hasło dla użytkownika:
- Administrator organizacji musi dodać konkretnego użytkownika za pomocą interfejsu Edge, jak pokazano poniżej:
- Użyj polecenia ldapsearch, aby znaleźć nazwę wyróżnioną 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 dla 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ź dn nowego użytkownika, który został dodany na podstawie atrybutu e-mail nowego użytkownika.
- Wykonaj polecenie ldappassword, aby dodać hasło dla nowego użytkownika, używając jego DN. W tym przykładzie hasło użytkownika to 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. Użytkownik może ustawić nowe hasło po zalogowaniu się w interfejsie.
LDAP nie replikuje
Krótki opis problemu
Wiele instalacji Edge ma wiele centrów danych, na przykład DC-1 i DC-2. Po zalogowaniu się w interfejsie Edge w DC-1 jako administrator organizacji możesz wyświetlić listę użytkowników, ale ta sama lista nie pojawia się w interfejsie Edge w DC-2.
Komunikaty o błędach
Nie pojawiają się żadne błędy, a interfejs Edge nie wyświetla listy użytkowników, która powinna zostać zduplikowana na wszystkich serwerach OpenLDAP.
Możliwe przyczyny
Przyczyną tego problemu jest zwykle nieprawidłowo skonfigurowana konfiguracja replikacji OpenLDAP, a nie sama instalacja. Replikacja może się też nie udać, jeśli sieć między serwerami OpenLDAP nie zezwala na ruch na porcie 10389.
Diagnostyka
Aby zdiagnozować problem, wykonaj te czynności:
- Sprawdź, czy polecenie 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 przez port 10389.
Jeśli program telnet jest zainstalowany, użyj tego polecenia:
telnet <OpenLDAP_Peer_IP> 10389
-
Jeśli telnet jest niedostępny, sprawdź połączenie za pomocą netcat w ten sposób:
nc -vz <OpenLDAP_Peer_IP> 10389
- Sprawdź konfigurację replikacji w tym pliku:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Plik 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
- W tym samym pliku sprawdź też wartość atrybutu olcMirrorMode. Należy ją ustawić na wartość PRAWDA:
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. Skontaktuj się z administratorem sieci, aby odpowiednio skonfigurować reguły.
- Upewnij się, że hasło systemu OpenLDAP jest takie samo na każdym węźle OpenLDAP.
- Sprawdź, czy w plikach konfiguracji ldif, które są używane do konfigurowania replikacji N-Way OpenLDAP, nie ma ukrytych znaków. Aby to zrobić, uruchom polecenie dos2unix w odniesieniu do plików ldif, które zostały utworzone w celu zaktualizowania konfiguracji. Zwykle plik ldif zawierający nieprawidłowe znaki powoduje, że polecenie ldapmodify nie może zostać wykonane, przez co replikacja może nie zostać skonfigurowana. Usuń wszystkie nieprawidłowe znaki i zapisz pliki konfiguracji.
Jeśli problem będzie się nadal pojawiać, skontaktuj się z zespołem pomocy Apigee, aby uzyskać pomoc w konfigurowaniu replikowania N-Way OpenLDAP.
Nie udało się uruchomić OpenLDAP
Krótki opis problemu
OpenLDAP się nie uruchamia.
Komunikaty o błędach
SLAPD Dead But Pid File Exists
Możliwe przyczyny
Ten problem jest zwykle spowodowany przez plik blokady, który pozostał w systemie plików i musi zostać usunięty.
Diagnostyka
Aby zdiagnozować ten problem, wykonaj te czynności:
- Sprawdź, czy w tej lokalizacji nie ma pliku blokady procesu slapd lub pliku pid OpenLDAP:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Usuń pliki lock i pid, jeśli je znajdziesz, i spróbuj ponownie uruchomić openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Jeśli rozpocznie się proces OpenLDAP slapd, pomiń te czynności.
- Jeśli proces slapd w OpenLDAP nie uruchamia się, uruchom go w trybie debugowania i sprawdź, czy nie występują błędy:
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. Sprawdź obsługiwane wersje OpenLDAP w dokumencie Obsługiwane oprogramowanie.
slapd -V
- Użyj polecenia strace do rozwiązywania problemów z procesem slapd i do przesyłania danych wyjściowych tego polecenia 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ż wywoływać wywołań do zarządzania ani logować się w interfejsie Edge. Użycie narzędzia ldapsearch do wysłania zapytania do użytkowników może wskazywać, że użytkownik istnieje w danych katalogu LDAP, lub może zidentyfikować brakujących użytkowników lub role.
Komunikaty o błędach
Unknown username and password combination.
Możliwe przyczyny
Ten problem występuje zwykle z powodu uszkodzenia danych OpenLDAP. Dane OpenLDAP zwykle nie są uszkodzone. W rzadkich przypadkach może to być spowodowane awarią dysku systemowego lub problemami z miejscem na dysku.
Diagnostyka
- Sprawdź miejsce na dysku w systemie z zainstalowanym OpenLDAP za pomocą tego polecenia:
du -m /opt
- Jeśli widzisz, że zajęte miejsce na dysku jest bardzo bliskie 100%, oznacza to, że przyczyną problemu jest brak miejsca na dysku.
Rozdzielczość
Jeśli na dysku systemowym kończy się miejsce lub jest bardzo mało wolnego miejsca, dodaj więcej miejsca na dysku, aby zapewnić odpowiednią dostępność.
Gdy masz wystarczająco dużo miejsca na dysku, skorzystaj z jednego z tych rozwiązań, aby rozwiązać problem z uszkodzonymi danymi LDAP:
- Przywróć dane OpenLDAP z kopii zapasowej.
-
Aby wyczyścić bazę danych OpenLDAP:
- Wyłącz serwer zarządzania 2 i LDAP2.
- Przywróć LDAP1 z kopii zapasowej maszyny wirtualnej (lub kopii zapasowej Apigee).
- Sprawdź serwer zarządzający 1 pod kątem uruchamiania i przywracania.
- Gdy serwer zarządzający 1 i LDAP1 działają prawidłowo, ponownie zainstaluj LDAP2 od podstaw (utwórz całkowicie pustą tablicę).
- Skonfiguruj LDAP2 w trybie tylko do odczytu, aby umożliwić LDAP1 replikowanie się na LDAP2.
- Użyj
ldapsearch
, aby sprawdzić, czy liczba wierszy w LDAP1 i LDAP2 jest taka sama. - Uruchom ponownie Management Server 2 i UI2 i sprawdź, czy zostały uruchomione.
Szczegółowe instrukcje znajdziesz w Narzędziu do śledzenia problemów publicznych.
Rozwiązanie 1. Przywróć dane LDAP z kopii zapasowej
Na działającym węźle OpenLDAP utwórz kopię zapasową. Kopie zapasowe powinny być tworzone regularnie. Aby dowiedzieć się więcej o sprawdzonych metodach tworzenia kopii zapasowych, zapoznaj się z przewodnikiem operacji w usłudze Apigee Private Cloud.
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Aby przywrócić dane OpenLDAP z dobrej kopii zapasowej, wykonaj te czynności.
- Zatrzymaj węzeł OpenLDAP, którego dane mają zostać przywrócone:
/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ą dotychczasowych 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-openldap
utwórz nowy katalog danych OpenLDAP o pierwotnej nazwie:mkdir ldap
- Skopiuj kopię zapasową podkatalogu ldap_orig/DB_CONFIG z kroku 3 i wklej ją do katalogu openldap.
cp ldap_orig/DB_CONFIG ldap
- Aby przywrócić dane z kopii zapasowej utworzonej za pomocą slapcat, użyj slapadd, aby zaimportować plik ldif zawierający prawidłowe dane:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Rozpocznij proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Rozwiązanie 2. Wyczyść bazę danych LDAP
Wykonując podane niżej czynności, wykasujesz bazę danych OpenLDAP, aby zacząć od nowa. Można go zastosować, jeśli nie ma kopii zapasowej danych z ostatniego stanu, w którym dane OpenLDAP działały prawidłowo.
- 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ą dotychczasowych 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 pierwotnej nazwie:
mkdir ldap
- Z podkatalogu ldap_orig/DB_CONFIG z kroku 3 skopiuj katalog kopii zapasowej do katalogu openldap:
cp ldap_orig/DB_CONFIG ldap
- Ponownie uruchom proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Aby wymusić odświeżenie połączeń z OpenLDAP, zrestartuj serwer zarządzania:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Rozwiązanie 3. Przywróć 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 przy użyciu danych logowania administratora systemu i roota LDAP.
- Dostęp do narzędzia
ldapadd
. - Zapisane oryginalne pliki konfiguracji w trybie bez interakcji dla węzła zarządzania lub LDAP.
Aby zresetować OpenLDAP, wykonaj te czynności:
- Ponownie zainstaluj 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
- Ponownie zainstaluj komponent
openldap
, używając tego samego pliku konfiguracji, który został użyty podczas początkowej instalacji: gdzie/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile
to nazwa pliku konfiguracji. - Ponownie zainstaluj 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
sysadmin
account 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
openldap
entries for orgs that existed prior to the corruption.After the above step is completed,
openldap
will 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.ldif
with 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 organizacja, którą próbujesz odtworzyć.
- Dodaj brakujące elementy LDAP za pomocą tego polecenia:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Wyżej opisane czynności spowodują utworzenie brakujących wpisów dla istniejącej organizacji oraz uprawnień
orgadmin
tej organizacji. Powtórz te czynności w przypadku każdej organizacji, którą trzeba odtworzyć. W tym momencie możesz dodać do organizacji użytkowników o roliorgadmin
, ale inne domyślne role jeszcze nie istnieją, więc musisz je dodać w następnym kroku. - Create an ldif file called
Dodaj do istniejącej organizacji brakujące domyślne role i uprawnienia.
Używając tego samego pliku konfiguracji, którego użyto do skonfigurowania istniejącej organizacji, uruchom to polecenie:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Dodaj role niestandardowe, które istniały przed wystąpieniem błędu, za pomocą interfejsu użytkownika lub interfejsu API do zarządzania.
- Dodaj dowolnych użytkowników do odpowiednich ról.
(Opcjonalnie) Ponownie skonfiguruj uwierzytelnianie zewnętrzne na serwerze zarządzania.
Przywróć
/opt/apigee/customer/application/management-server.properties
, jeśli konfiguracja nie została zmieniona. Interfejs użytkownika nie został ponownie zainstalowany, więc dane logowania/opt/apigee/customer/application/ui.properties
powinny pozostać takie same, ponieważ zostały przywrócone w ramach nowej instalacji zarządzania.(Opcjonalnie) Ponownie zainstaluj Apigee mTLS na węźle zarządzania.
Jeśli Apigee mTLS było wcześniej zainstalowane, postępuj zgodnie z instrukcjami w przewodniku instalacji Apigee mTLS, aby ponownie je zainstalować na węźle serwera zarządzania.
Po wykonaniu tej procedury musisz ręcznie:
Jeśli problem będzie się powtarzał, skontaktuj się z zespołem pomocy Apigee, aby uzyskać dalszą pomoc.