คุณกำลังดูเอกสารประกอบของ 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 เพื่อค้นหา Distinguished Name (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 และค้นหา dn ของผู้ใช้ใหม่ที่เพิ่มเข้าไปตามแอตทริบิวต์อีเมลของผู้ใช้ใหม่
- ใช้คำสั่ง 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
- ตรวจสอบกฎ iptable และ tcp Wrapper โปรดนำกฎที่ไม่อนุญาตให้เซิร์ฟเวอร์เพียร์ OpenLDAP สื่อสารกันได้ โปรดติดต่อผู้ดูแลเครือข่ายเพื่อตั้งค่ากฎอย่างเหมาะสม
- ตรวจสอบว่ารหัสผ่านระบบ OpenLDAP เหมือนกันในโหนด OpenLDAP แต่ละโหนด
- ตรวจสอบอักขระที่ซ่อนอยู่ในไฟล์การกำหนดค่า ldif ที่ใช้เพื่อกำหนดค่าการจำลอง OpenLDAP แบบ N-Way โดยการเรียกใช้ dos2unix กับไฟล์ ldif ที่สร้างขึ้นเพื่ออัปเดตการกำหนดค่า โดยปกติแล้วไฟล์ ldif ที่มีอักขระไม่ถูกต้องจะทำให้เรียกใช้คำสั่ง ldapmodify ไม่สำเร็จ ดังนั้นจึงอาจไม่มีการตั้งค่าการจำลอง นำอักขระที่ไม่ถูกต้องออกและบันทึกไฟล์การกำหนดค่า
หากปัญหายังคงอยู่ โปรดติดต่อ ทีมสนับสนุนของ Apigee เพื่อขอความช่วยเหลือในการตั้งค่าการจำลอง OpenLDAP ของ N-Way
ไม่สามารถเริ่มต้น 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 และอัปเกรดหากเป็นเวอร์ชันเก่า ตรวจสอบเวอร์ชันที่รองรับของ OpenLDAP ในเอกสารซอฟต์แวร์ที่รองรับ
slapd -V
- ใช้ Strace เพื่อแก้ปัญหากระบวนการที่ทับซ้อนและจัดเตรียมเอาต์พุตของ 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 ที่ทำงานอยู่ คุณควรดำเนินการสำรองข้อมูลเป็นประจำ ดูแนวทางปฏิบัติแนะนำสำหรับการสำรองข้อมูลได้ในคู่มือการดำเนินการบน Private Cloud ของ 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
- จากไดเรกทอรี
/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 ที่มีอยู่โดยใช้คำสั่งย้าย ดังนี้
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 เพื่อขอความช่วยเหลือเพิ่มเติม