מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
הקטע הזה מספק מידע והנחיות לפתרון בעיות של 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 ומוצאים את ה-DNS של המשתמש החדש שנוסף. על סמך מאפיין האימייל של המשתמש החדש.
- כדי להוסיף סיסמה למשתמש החדש, מריצים את הפקודה ldappassword
באמצעות ה-DNS שלו. בדוגמה הזו מגדירים את סיסמת המשתמש ל-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
- בדקו אם יש מכשירי iptable וכללי wrapper של tcp. יש להסיר כללים שאינם מאפשרים שרתי OpenLDAP עמיתים כדי לתקשר זה עם זה. עבוד עם מנהל הרשת כדי להגדיר את הכללים בהתאם.
- צריך לוודא שסיסמה של מערכת OpenLDAP זהה בכל צומת של OpenLDAP.
- חיפוש תווים נסתרים בקובצי תצורת ldif שמשמשים להגדיר רפליקציה של OpenLDAP עם N-Way על ידי הרצת dos2unix עם קובצי ldif נוצר כדי לעדכן את ההגדרות האישיות. בדרך כלל קובץ ldif עם תווים שגויים יגרום הפעלת הפקודה ldapmodify תיכשל ולכן לא תהיה אפשרות להגדיר רפליקציה. הסרת ביקורות רעות תווים ולשמור את קובצי התצורה.
אם הבעיה נמשכת, צור קשר עם תמיכה ב-Apigee לסיוע בהגדרת רפליקציית N-Way OpenLDAP.
לא ניתן להפעיל את OpenLDAP
תיאור הבעיה
התכונה OpenLDAP לא מופעלת.
הודעות שגיאה
SLAPD Dead But Pid File Exists
סיבות אפשריות
הבעיה הזו נגרמת בדרך כלל מקובץ נעילה שנמצא מאחור במערכת הקבצים, ונדרש להסרה.
אבחון
כדי לאבחן את הבעיה, יש לפעול לפי השלבים הבאים:
- מחפשים אם יש קובץ pid או נעילה של תהליך יחיד ב-OpenLDAP במיקום הבא:
/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.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- אם מתחיל התהליך של OpenLDAP, דלגו על השלבים הבאים.
- אם התהליך של OpenLDAP לא מתחיל, אפשר לנסות להפעיל את הטבלה במצב ניפוי באגים ולחפש את
כל השגיאות:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- שגיאות יכולות להצביע על בעיות במשאבים. לבדוק את השימוש בזיכרון ובמעבד (CPU) במערכת.
- יש לבדוק את הגרסה של OpenLDAP ולשדרג אם היא ישנה. חיפוש הגרסאות הנתמכות של
פתיחת LDAP במסמך תוכנות נתמכות.
slapd -V
- שימוש ב-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. בעיית שחיתות:
- משחזרים את נתוני OpenLDAP מהגיבוי.
- מנקים את מסד הנתונים OpenLDAP.
פתרון מס' 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 באמצעות פקודת ההעברה:
mv ldap ldap_orig
- מעבר למשתמש ב-apigee:
su apigee
- יצירת קובץ OpenLDAP חדש מהספרייה
/opt/apigee/data/apigee-openldap
עם השם המקורי:mkdir ldap
- יוצרים את הגיבוי של ספריית המשנה ldap_orig/DB_CONFIG משלב 3, ומעתיקים אותו אל
ספריית openldap.
cp ldap_orig/DB_CONFIG ldap
- כדי לשחזר נתונים מהגיבוי שבוצעו באמצעות slapcat, משתמשים ב-slayeradd כדי לייבא את ה-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 באמצעות פקודת ההעברה:
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
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. - עוצרים את השרת
- 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: @@@
כאשר 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
- מוסיפים תפקידים בהתאמה אישית שהיו קיימים לפני הפגיעה באמצעות ממשק המשתמש או ה-Management API,
- מוסיפים את כל המשתמשים לתפקידי המשתמשים הרלוונטיים.
(אופציונלי) הפעלה מחדש של הגדרת אימות חיצוני בניהול.
צריך לשחזר את
/opt/apigee/customer/application/management-server.properties
אם התצורה לא השתנתה. מאחר שממשק המשתמש לא הותקן מחדש, הערך של/opt/apigee/customer/application/ui.properties
צריך להישאר ללא שינוי בהינתן פרטי הכניסה של מנהל המערכת שוחזרו עם ההתקנה החדשה של הניהול.(אופציונלי) מתקינים מחדש את Apigee mTLS בצומת ניהול.
אם Apigee mTLS הותקנה בעבר, יש לפעול לפי המדריך להתקנת Apigee mTLS כדי להתקין מחדש אותו בצומת של שרת הניהול.
לאחר ביצוע התהליך, תצטרכו לבצע באופן ידני:
אם הבעיה נמשכת, צריך לפנות אל Apigee תמיכה כדי לקבל עזרה נוספת.