Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Phần này cung cấp thông tin và hướng dẫn khắc phục sự cố OpenLDAP.
SMTP đã bị tắt và người dùng cần đặt lại mật khẩu
Triệu chứng
Khi SMTP không được thiết lập trên Giao diện người dùng của Edge, những người dùng mới được thêm vào Edge cần có cách đặt mật khẩu.
Thông báo lỗi
Unknown username and password combination.
Nguyên nhân có thể xảy ra
Người dùng mới không thể nhận email từ liên kết “Bạn quên mật khẩu?” đường liên kết để đặt mật khẩu vì SMTP chưa được thiết lập.
Độ phân giải
Bạn có thể giải quyết vấn đề này bằng một trong các cách sau:
Giải pháp số 1: Định cấu hình máy chủ SMTP
Định cấu hình Máy chủ SMTP để đặt mật khẩu mới cho người dùng theo hướng dẫn được cung cấp trong tài liệu này.
Giải pháp #2: Sử dụng LDAP
Nếu bạn không thể định cấu hình máy chủ SMTP thì hãy sử dụng các lệnh LDAP dưới đây để đặt mật khẩu mới cho người dùng:
- Quản trị viên tổ chức hiện tại cần thêm người dùng cụ thể đó thông qua giao diện người dùng của Edge như minh hoạ dưới đây:
- Sử dụng lệnh ldapsearch để tìm tên riêng của người dùng
(dn) và chuyển hướng đầu ra đến một tệp:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Dưới đây là ví dụ về mục nhập dn cho người dùng, cùng với các thuộc tính dành cho người dùng:
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
- Mở tệp ldap.txt rồi tìm dn của người dùng mới đã được thêm dựa trên thuộc tính email của người dùng mới.
- Thực thi lệnh ldappassword để thêm mật khẩu cho người dùng mới
bằng cách sử dụng dn. Trong ví dụ này, bạn đặt mật khẩu của người dùng thành 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"
- Đăng nhập vào giao diện người dùng Edge với tư cách là người dùng mới bằng mật khẩu được xác định trong bước trước. Chiến lược phát hành đĩa đơn người dùng có thể đặt mật khẩu mới sau khi đăng nhập vào giao diện người dùng.
Giao thức truy cập thư mục hạng nhẹ (LDAP) không sao chép
Triệu chứng
Nhiều bản cài đặt Edge có nhiều trung tâm dữ liệu, ví dụ như DC-1 và DC-2. Khi ghi nhật ký vào giao diện người dùng Edge trong DC-1 với tư cách là quản trị viên tổ chức, bạn có thể xem danh sách người dùng nhưng cùng một danh sách người dùng không xuất hiện trong giao diện người dùng Edge trong DC-2.
Thông báo lỗi
Không có lỗi nào xuất hiện, giao diện người dùng Edge chỉ không hiển thị danh sách người dùng đáng lẽ phải được sao chép trên tất cả các máy chủ OpenLDAP.
Nguyên nhân có thể xảy ra
Thông thường, nguyên nhân của vấn đề này là do cấu hình sao chép OpenLDAP bị định cấu hình sai, không phải quá trình cài đặt. Ngoài ra, quá trình sao chép có thể bị hỏng nếu mạng giữa các máy chủ OpenLDAP không cho phép lưu lượng truy cập trên cổng 10389.
Chẩn đoán
Hãy làm theo các bước sau để chẩn đoán sự cố:
- Kiểm tra xem ldapsearch có trả về dữ liệu từ mỗi máy chủ OpenLDAP hay không:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Kiểm tra xem bạn có thể kết nối với từng nút OpenLDAP từ các nút OpenLDAP khác trên cổng 10389 hay không.
Nếu bạn đã cài đặt telnet, hãy dùng lệnh sau:
telnet <OpenLDAP_Peer_IP> 10389
-
Nếu không có telnet, hãy sử dụng netcat để kiểm tra khả năng kết nối như sau:
nc -vz <OpenLDAP_Peer_IP> 10389
- Kiểm tra cấu hình nhân bản trong tệp sau:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Tệp phải chứa cấu hình như sau:
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
- Ngoài ra, hãy kiểm tra chính tệp đó để biết giá trị của thuộc tính olcMirrorMode. Phải
đặt thành giá trị TRUE:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Kiểm tra các quy tắc về trình bao bọc iptable và tcp. Hãy xoá mọi quy tắc không cho phép các máy chủ OpenLDAP ngang hàng để giao tiếp với nhau. Hãy làm việc với quản trị viên mạng của bạn để đặt ra quy tắc một cách phù hợp.
- Đảm bảo mật khẩu hệ thống OpenLDAP trên mỗi nút OpenLDAP là giống nhau.
- Kiểm tra các ký tự ẩn trong các tệp cấu hình ldif đang được sử dụng định cấu hình sao chép OpenLDAP N-Way bằng cách chạy dos2unix đối với các tệp ldif đã được tạo để cập nhật cấu hình. Thông thường, tệp ldif có các ký tự không hợp lệ sẽ gây ra khiến lệnh ldapmodify không chạy được nên có thể tính năng sao chép sẽ không được thiết lập. Xóa mọi nội dung không hợp lệ ký tự và lưu tệp cấu hình.
Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với Hỗ trợ Apigee để được trợ giúp thiết lập bản sao OpenLDAP N-Way.
Không thể khởi động OpenLDAP
Triệu chứng
OpenLDAP không khởi động.
Thông báo lỗi
SLAPD Dead But Pid File Exists
Nguyên nhân có thể xảy ra
Vấn đề này thường do một tệp khoá bị bỏ lại trong hệ thống tệp và cần cần xoá.
Chẩn đoán
Hãy làm theo các bước sau để chẩn đoán vấn đề này:
- Kiểm tra để tìm tệp khoá hoặc pid cho quy trình OpenLDAP slaPD ở vị trí sau:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Xoá tệp khoá và pid (nếu có) rồi thử khởi động lại openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Nếu quy trình phân đoạn OpenLDAP bắt đầu, hãy bỏ qua các bước dưới đây.
- Nếu quy trình phân đoạn OpenLDAP không bắt đầu, hãy thử chạy slaPD ở chế độ gỡ lỗi và tìm
bất kỳ lỗi nào:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Lỗi có thể cho thấy vấn đề về tài nguyên. Kiểm tra mức sử dụng bộ nhớ và CPU trên hệ thống.
- Kiểm tra phiên bản OpenLDAP và nâng cấp nếu phiên bản đã cũ. Kiểm tra các phiên bản được hỗ trợ của
OpenLDAP trong tài liệu về Phần mềm được hỗ trợ.
slapd -V
- Sử dụng strace để khắc phục sự cố quy trình slaPD và để cung cấp đầu ra strace cho
Nhóm hỗ trợ Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Lỗi dữ liệu OpenLDAP
Triệu chứng
Người dùng không thể chạy các lệnh gọi quản lý hoặc đăng nhập vào giao diện người dùng Edge nữa. Sử dụng ldapsearch để truy vấn người dùng có thể cho biết người dùng tồn tại trong kho dữ liệu LDAP hoặc có thể xác định có thể thiếu người dùng hoặc vai trò.
Thông báo lỗi
Unknown username and password combination.
Nguyên nhân có thể xảy ra
Thông thường, bạn có thể gặp phải vấn đề này do dữ liệu OpenLDAP bị hỏng. Thông thường, OpenLDAP sẽ không bị hỏng. Nhưng trong một số ít trường hợp, sự tham nhũng có thể là do lỗi đĩa hệ thống hoặc vấn đề về dung lượng ổ đĩa.
Chẩn đoán
- Kiểm tra dung lượng ổ đĩa trên hệ thống đã cài đặt OpenLDAP bằng lệnh bên dưới:
du -m /opt
- Nếu bạn thấy dung lượng ổ đĩa đã sử dụng gần đạt 100% thì đó là dấu hiệu cho biết nguyên nhân cho vấn đề này là hệ thống của bạn hết dung lượng ổ đĩa.
Độ phân giải
Nếu hệ thống của bạn đã hết dung lượng ổ đĩa hoặc sắp hết dung lượng ổ đĩa, hãy thêm dung lượng ổ đĩa lớn hơn để đảm bảo bạn có đủ dung lượng ổ đĩa.
Khi bạn có đủ dung lượng ổ đĩa, hãy sử dụng một trong các giải pháp dưới đây để xử lý dữ liệu LDAP vấn đề tham nhũng:
- Khôi phục dữ liệu OpenLDAP từ bản sao lưu.
- Dọn dẹp cơ sở dữ liệu OpenLDAP.
Giải pháp #1 Khôi phục Dữ liệu LDAP từ bản sao lưu
Trên nút OpenLDAP đang hoạt động, hãy tạo bản sao lưu. Bạn nên thường xuyên sao lưu. Xem Hướng dẫn về cách vận hành trên đám mây riêng tư của Apigee để biết các phương pháp hay nhất về sao lưu:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Bạn có thể dùng các bước sau để khôi phục dữ liệu OpenLDAP từ một bản sao lưu hợp lệ.
- Dừng nút OpenLDAP mà dữ liệu cần được khôi phục:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Thay đổi thư mục thành thư mục dữ liệu OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Sao lưu dữ liệu OpenLDAP hiện có bằng lệnh di chuyển:
mv ldap ldap_orig
- Chuyển sang người dùng api:
su apigee
- Trong thư mục
/opt/apigee/data/apigee-openldap
, hãy tạo một dữ liệu OpenLDAP mới thư mục có tên ban đầu:mkdir ldap
- Sao lưu thư mục con ldap_orig/DB_CONFIG ở bước 3 rồi sao chép thư mục đó vào
thư mục openldap.
cp ldap_orig/DB_CONFIG ldap
- Để khôi phục dữ liệu từ bản sao lưu được lấy bằng slapcat, hãy sử dụng slapadd để nhập ldif
chứa dữ liệu hợp lệ:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Bắt đầu quy trình OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Giải pháp số 2 Dọn dẹp Giao thức truy cập thư mục hạng nhẹ (LDAP) cơ sở dữ liệu
Các bước sau đây sẽ xoá sạch cơ sở dữ liệu OpenLDAP để khởi động lại từ đầu. Giải pháp này có thể được sử dụng nếu không có bản sao lưu dữ liệu của trạng thái mới nhất nơi dữ liệu OpenLDAP hoạt động.
- Dừng dịch vụ OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Thay đổi thư mục thành thư mục dữ liệu OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Sao lưu dữ liệu OpenLDAP hiện có bằng lệnh di chuyển:
mv ldap ldap_orig
- Chuyển sang người dùng api:
su apigee
- Tạo thư mục dữ liệu OpenLDAP mới có tên ban đầu:
mkdir ldap
- Lấy thư mục con ldap_orig/DB_CONFIG sao lưu ở bước 3 rồi sao chép thư mục đó vào openldap
thư mục:
cp ldap_orig/DB_CONFIG ldap
- Khởi động lại quy trình OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Khởi động lại Máy chủ quản lý để buộc làm mới kết nối với OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Giải pháp số 3 Đặt lại OpenLDAP về cài đặt cơ bản
Nếu Giải pháp số 2 không giải quyết được vấn đề, bạn có thể đặt lại OpenLDAP về cài đặt cơ bản, như được mô tả trong phần này.
Điều kiện tiên quyết
Để đặt lại OpenLDAP, bạn cần có các điều kiện tiên quyết sau:
- Có thể chạy quy trình thiết lập bằng thông tin đăng nhập LDAP gốc và thông tin quản trị viên hệ thống.
- Quyền sử dụng tiện ích
ldapadd
. - Tệp cấu hình im lặng ban đầu đã lưu cho nút quản lý/LDAP.
Để đặt lại OpenLDAP, hãy làm theo các bước sau:
- Cài đặt lại OpenLDAP và Máy chủ quản lý.
- Dừng máy chủ
openldap
:apigee-service apigee-openldap stop
- Xoá thư mục dữ liệu
openldap
bị hỏng:rm -rf /opt/apigee/data/apigee-openldap
- Gỡ cài đặt thành phần
openldap
:apigee-service apigee-openldap uninstall
- Cài đặt lại thành phần
openldap
bằng chính tệp cấu hình đã dùng cho lần cài đặt ban đầu:/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
trong đóconfigfile
là tên của tệp cấu hình. - Cài đặt lại Máy chủ quản lý bằng tệp cấu hình ban đầu:
/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. - Dừng máy chủ
- 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: @@@
trong đó orgname là tổ chức mà bạn đang muốn tạo lại.
- Thêm các thực thể LDAP bị thiếu bằng lệnh sau đây:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Các bước ở trên sẽ tạo các mục nhập còn thiếu cho một tổ chức hiện có và
orgadmin
quyền cho tổ chức đó. Lặp lại các bước cho từng tổ chức cần được tạo lại. Tại thời điểm này, bạn có thể thêmorgadmin
người dùng vào tổ chức, nhưng người dùng khác vai trò mặc định chưa tồn tại, do đó bạn cần thêm vai trò này trong bước tiếp theo. - Create an ldif file called
Thêm các vai trò và quyền mặc định còn thiếu vào một tổ chức hiện có.
Sử dụng cùng một tệp cấu hình đã dùng ban đầu để thiết lập bất kỳ tổ chức hiện có nào, chạy lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Thêm bất kỳ vai trò tuỳ chỉnh nào đã tồn tại trước khi xảy ra lỗi bằng cách sử dụng giao diện người dùng hoặc API quản lý,
- Thêm bất kỳ người dùng nào vào vai trò người dùng có liên quan.
(Không bắt buộc) Thiết lập lại cấu hình xác thực bên ngoài trên trang Quản lý.
Khôi phục
/opt/apigee/customer/application/management-server.properties
nếu cấu hình chưa thay đổi. Vì giao diện người dùng chưa được cài đặt lại, nên/opt/apigee/customer/application/ui.properties
phải không thay đổi vì thông tin đăng nhập cho quản trị viên hệ thống đã được khôi phục bằng bản cài đặt quản lý mới.(Không bắt buộc) Cài đặt lại Apigee mTLS trên Nút quản lý.
Nếu bạn từng cài đặt mTLS của Apigee, hãy làm theo Hướng dẫn cài đặt mTLS của Apigee để cài đặt lại mã đó trên nút máy chủ quản lý.
Sau khi làm theo quy trình này, bạn cần:
Nếu sự cố vẫn tiếp diễn, hãy liên hệ với Apigee Hỗ trợ để được trợ giúp thêm.