คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ส่วนนี้ให้ข้อมูลและคำแนะนำในการแก้ปัญหาของ OpenLDAP
SMTP ปิดใช้อยู่และผู้ใช้ต้องรีเซ็ต รหัสผ่าน
ลักษณะปัญหา
เมื่อไม่มีการตั้งค่า SMTP ใน Edge UI ผู้ใช้ใหม่ที่เพิ่มลงใน Edge จะต้องระบุวิธีตั้งค่า รหัสผ่าน
ข้อความแสดงข้อผิดพลาด
Unknown username and password combination.
สาเหตุที่เป็นไปได้
ผู้ใช้ใหม่จะไม่ได้รับอีเมลจากอีเมล "ลืมรหัสผ่าน" ไม่ได้ ลิงก์สำหรับตั้งค่า รหัสผ่านเนื่องจากไม่ได้ตั้งค่า SMTP
ความละเอียด
คุณแก้ไขปัญหานี้ได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
โซลูชันที่ 1: กำหนดค่าเซิร์ฟเวอร์ SMTP
กำหนดค่าเซิร์ฟเวอร์ SMTP เพื่อตั้งรหัสผ่านใหม่ให้กับผู้ใช้ โดยทำตามคำแนะนำที่มีให้ ในเอกสารประกอบ
โซลูชัน #2: การใช้ LDAP
หากไม่สามารถกำหนดค่าเซิร์ฟเวอร์ SMTP ให้ใช้คำสั่ง LDAP ด้านล่างนี้เพื่อตั้งค่า รหัสผ่านใหม่สำหรับผู้ใช้:
- ผู้ดูแลระบบองค์กรในปัจจุบันจะต้องเพิ่มผู้ใช้ที่ต้องการผ่าน Edge UI ตามที่แสดงด้านล่าง
- ใช้คำสั่ง 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 เพื่อเพิ่มรหัสผ่านสำหรับผู้ใช้ใหม่
โดยใช้ 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 UI ในฐานะผู้ใช้ใหม่ด้วยรหัสผ่านที่กำหนดไว้ในขั้นตอนก่อนหน้า ผู้ใช้จะตั้งรหัสผ่านใหม่ได้เมื่อเข้าสู่ระบบ UI
LDAP ไม่สามารถทำซ้ำ
ลักษณะปัญหา
การติดตั้ง Edge จำนวนมากมีศูนย์ข้อมูลหลายแห่ง เช่น DC-1 และ DC-2 เมื่อบันทึก ใน Edge UI ใน DC-1 ในฐานะผู้ดูแลระบบองค์กร คุณสามารถดูรายชื่อผู้ใช้ แต่รายชื่อผู้ใช้เดียวกัน จะไม่ปรากฏใน Edge UI ใน DC-2
ข้อความแสดงข้อผิดพลาด
ไม่พบข้อผิดพลาดใดๆ Edge UI จะไม่แสดงรายชื่อผู้ใช้ที่ควรจะได้รับ มีการจำลองข้อมูลในเซิร์ฟเวอร์ 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 โปรดลบกฎที่ไม่อนุญาต เซิร์ฟเวอร์ Peer OpenLDAP เพื่อสื่อสารกันได้ ประสานงานกับผู้ดูแลเครือข่ายของคุณ เพื่อตั้งกฎที่เหมาะสม
- ตรวจสอบว่ารหัสผ่านระบบ OpenLDAP ตรงกับในโหนด OpenLDAP แต่ละโหนด
- ตรวจหาอักขระที่ซ่อนอยู่ในไฟล์การกำหนดค่า ldif ที่ใช้เพื่อ กำหนดค่าการจำลอง OpenLDAP แบบ N-Way โดยเรียกใช้ dos2unix กับไฟล์ ldif ที่ ที่สร้างขึ้นเพื่ออัปเดตการกำหนดค่า โดยปกติแล้วไฟล์ ldif ที่มีอักขระไม่ถูกต้องจะทำให้ เรียกใช้คำสั่ง LDAPmodify ไม่สำเร็จ จึงอาจไม่ได้ตั้งค่าการจำลอง นำรายการที่ไม่ถูกต้องออก แล้วบันทึกไฟล์การกำหนดค่า
หากยังคงพบปัญหา ให้ติดต่อ ทีมสนับสนุนของ Apigee เพื่อขอความช่วยเหลือในการตั้งค่าการจำลอง OpenLDAP แบบ N-Way
ไม่สามารถเริ่ม OpenLDAP ได้
ลักษณะปัญหา
OpenLDAP ไม่เริ่มทำงาน
ข้อความแสดงข้อผิดพลาด
SLAPD Dead But Pid File Exists
สาเหตุที่เป็นไปได้
ปัญหานี้มักเกิดจากไฟล์ล็อกที่ค้างอยู่ในระบบไฟล์และความต้องการ ออก
การวินิจฉัย
ใช้ขั้นตอนต่อไปนี้เพื่อวิเคราะห์ปัญหานี้
- ตรวจหาการล็อกกระบวนการ OpenLDAP หรือไฟล์ 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.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 และอัปเกรดหากเป็นเวอร์ชันเก่า ตรวจหาเวอร์ชันที่รองรับของ
OpenLDAP ในเอกสารซอฟต์แวร์ที่รองรับของเรา
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 UI ไม่ได้อีกต่อไป การใช้ LDAPsearch ในการค้นหาผู้ใช้อาจระบุว่ามีผู้ใช้อยู่ในที่เก็บข้อมูล LDAP หรืออาจระบุ ผู้ใช้หรือบทบาทที่อาจหายไป
ข้อความแสดงข้อผิดพลาด
Unknown username and password combination.
สาเหตุที่เป็นไปได้
โดยปกติแล้ว ปัญหานี้อาจเกิดขึ้นเนื่องจากข้อมูล OpenLDAP เสียหาย โดยทั่วไป OpenLDAP ไม่เสียหาย แต่ในบางกรณีที่พบไม่บ่อยนัก การทุจริตนั้นอาจเกิดจาก ดิสก์ของระบบล้มเหลวหรือปัญหาพื้นที่ในดิสก์
การวินิจฉัย
- ตรวจสอบพื้นที่ดิสก์ในระบบที่ติดตั้ง OpenLDAP โดยใช้คำสั่งต่อไปนี้
du -m /opt
- หากคุณเห็นพื้นที่ในดิสก์ที่ใช้เกือบถึง 100% นั่นอาจเป็นสาเหตุของปัญหา ปัญหานี้ก็คือ ระบบของคุณมีพื้นที่ดิสก์เหลือน้อย
ความละเอียด
หากระบบของคุณไม่มีพื้นที่ดิสก์หรือเกือบใกล้ที่จะหมดพื้นที่ในดิสก์ ให้เพิ่ม พื้นที่เก็บข้อมูลดิสก์ที่เพิ่มขึ้นเพื่อให้มีพื้นที่ว่างในดิสก์เพียงพอ
เมื่อคุณมีพื้นที่ในดิสก์เพียงพอแล้ว ให้ใช้โซลูชันใดโซลูชันหนึ่งต่อไปนี้เพื่อจัดการกับข้อมูล LDAP ปัญหาการเสียหาย:
- กู้คืนข้อมูล OpenLDAP จากข้อมูลสำรอง
- ล้างฐานข้อมูล OpenLDAP
โซลูชัน #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
- สร้างข้อมูล OpenLDAP ใหม่จากไดเรกทอรี
/opt/apigee/data/apigee-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
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
- เพิ่มบทบาทที่กำหนดเองที่มีอยู่ก่อนเกิดความเสียหายโดยใช้ UI หรือ API การจัดการ
- เพิ่มผู้ใช้ในบทบาทของผู้ใช้ที่เกี่ยวข้อง
(ไม่บังคับ) สร้างการกำหนดค่าการตรวจสอบสิทธิ์ภายนอกอีกครั้งในการจัดการ
คืนค่า
/opt/apigee/customer/application/management-server.properties
หาก การกำหนดค่าไม่เปลี่ยนแปลง เนื่องจากยังไม่มีการติดตั้ง UI อีกครั้ง/opt/apigee/customer/application/ui.properties
ควรเหมือนเดิมเนื่องจาก ข้อมูลเข้าสู่ระบบสำหรับผู้ดูแลระบบ ได้รับการคืนค่าด้วยการติดตั้งการจัดการใหม่(ไม่บังคับ) ติดตั้ง Apigee mTLS อีกครั้งในโหนดการจัดการ
หากติดตั้ง Apigee mTLS ไว้ก่อนหน้า ให้ทำตามคู่มือการติดตั้ง Apigee mTLS เพื่อติดตั้งอีกครั้ง ในโหนดเซิร์ฟเวอร์การจัดการ
หลังจากทำตามขั้นตอนนี้ คุณจะต้องทำดังนี้
หากยังคงพบปัญหาอยู่ ให้ติดต่อ Apigee การสนับสนุนเพื่อรับความช่วยเหลือเพิ่มเติม