Tài liệu này mô tả các kỹ thuật giám sát các thành phần được hỗ trợ bằng việc triển khai tại chỗ Apigee Edge cho Private Cloud.
Tổng quan
Edge hỗ trợ một số cách để lấy thông tin chi tiết về các dịch vụ cũng như kiểm tra trạng thái của chúng. Bảng sau đây liệt kê các loại quy trình kiểm tra mà bạn có thể thực hiện trên từng dịch vụ đủ điều kiện:
Mgmt API | |||||||
Thành phần | Mức sử dụng bộ nhớ [JMX*] | Kiểm tra dịch vụ | Trạng thái người dùng/tổ chức/ triển khai | axstatus | Kiểm tra cơ sở dữ liệu | Trạng thái của apigee-service |
apigee-monit ** |
Máy chủ quản lý | |||||||
Trình xử lý thông báo | |||||||
Bộ định tuyến | |||||||
Qpid | |||||||
Postgres | |||||||
Thông tin khác | Thông tin khác | Thông tin khác | Thông tin khác | Thông tin khác | Thông tin khác | Thông tin khác | |
* Để có thể sử dụng JMX, bạn phải bật JMX như mô tả trong phần Bật JMX. ** Dịch vụ |
Giám sát các cổng và tệp cấu hình
Mỗi thành phần hỗ trợ các lệnh gọi giám sát Java Management Extensions (JMX) và Management API trên các cổng khác nhau. Bảng sau đây liệt kê các cổng JMX và Management API cho từng loại máy chủ, cũng như vị trí của tệp cấu hình:
Thành phần | Cổng JMX | Cổng API quản lý | Vị trí tệp cấu hình |
---|---|---|---|
Máy chủ quản lý | 1099 | 8080 | $APIGEE_ROOT/customer/application/management-server.properties |
Trình xử lý thông báo | 1101 | 8082 | $APIGEE_ROOT/customer/application/message-processor.properties |
Bộ định tuyến | 1100 | 8081 | $APIGEE_ROOT/customer/application/router.properties |
Qpid | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
Postgres | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
Sử dụng JMX để giám sát các thành phần
Các phần sau đây giải thích cách sử dụng JMX để theo dõi các thành phần Edge.
Bật JMX
Để bật JMX mà không cần xác thực hoặc giao tiếp dựa trên SSL, hãy thực hiện các bước bên dưới. Lưu ý: Trong các hệ thống sản xuất, bạn nên bật cả tính năng xác thực được mã hoá và SSL để đảm bảo an toàn.
- Chỉnh sửa tệp cấu hình thích hợp (xem phần
Tài liệu tham khảo về tệp cấu hình). Tạo tệp cấu hình nếu chưa có.
conf_system_jmxremote_enable=true
- Lưu tệp cấu hình và đảm bảo rằng tệp đó thuộc sở hữu của
apigee:apigee
. - Khởi động lại thành phần Edge thích hợp
apigee-service edge-management-server restart
Để tắt JMX, hãy xoá thuộc tính conf_system_jmxremote_enable
hoặc thay đổi giá trị của thuộc tính này thành false
. Sau đó, hãy khởi động lại thành phần Edge thích hợp.
Xác thực trong JMX
Edge cho Đám mây riêng hỗ trợ xác thực dựa trên mật khẩu bằng cách sử dụng thông tin chi tiết được lưu trữ trong các tệp. Bạn có thể lưu trữ mật khẩu dưới dạng hàm băm để tăng cường bảo mật.
- Để bật tính năng xác thực JMX trong thành phần edge-*, hãy chỉnh sửa tệp cấu hình thích hợp (xem
Tài liệu tham khảo về tệp cấu hình). Tạo tệp cấu hình nếu chưa có:
Lưu tệp cấu hình và đảm bảo rằng tệp đó thuộc sở hữu củaconf_system_jmxremote_enable=true conf_system_jmxremote_authenticate=true conf_system_jmxremote_encrypted_auth=true conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
apigee:apigee
. - Tạo hàm băm SHA256 của mật khẩu:
echo -n '
' | openssl dgst -sha256 - Tạo tệp
jmxremote.password
bằng thông tin đăng nhập người dùng JMX:- Sao chép các tệp sau đây từ thư mục
$JAVA_HOME
vào thư mục/opt/apigee/customer/application/<component>/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- Chỉnh sửa tệp và thêm tên người dùng và mật khẩu JMX bằng cú pháp sau:
USERNAME <HASH-PASSWORD>
- Đảm bảo tệp thuộc sở hữu của
apigee
và chế độ tệp là 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- Sao chép các tệp sau đây từ thư mục
- Tạo tệp
jmxremote.access
có quyền của người dùng JMX:- Sao chép các tệp sau đây từ thư mục $JAVA_HOME vào thư mục
/opt/apigee/customer/application/<component>/
cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
- Chỉnh sửa tệp và thêm tên người dùng JMX, sau đó thêm quyền (READONLY/READWRITE)
USERNAME READONLY
- Đảm bảo tệp thuộc sở hữu của
apigee
và chế độ tệp là 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- Sao chép các tệp sau đây từ thư mục $JAVA_HOME vào thư mục
- Khởi động lại thành phần Edge thích hợp:
apigee-service edge-management-server restart
Để tắt tính năng xác thực JMX, hãy xoá thuộc tính conf_system_jmxremote_authenticate
hoặc thay đổi giá trị thành false
rồi khởi động lại thành phần Edge thích hợp.
SSL trong JMX
Cách bật JMX dựa trên SSL trong thành phần edge-* :
- Chỉnh sửa tệp cấu hình thích hợp (xem phần
Tài liệu tham khảo về tệp cấu hình). Tạo tệp cấu hình nếu chưa có:
Lưu tệp cấu hình và đảm bảo rằng tệp đó thuộc sở hữu củaconf_system_jmxremote_enable=true conf_system_jmxremote_ssl=true conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore conf_system_javax_net_ssl_keystorepassword=<keystore-password>
apigee:apigee
. - Chuẩn bị một kho khoá chứa khoá máy chủ và đặt khoá đó vào đường dẫn được cung cấp trong cấu hình
conf_system_javax_net_ssl_keystore
ở trên. Đảm bảoapigee:apigee
có thể đọc tệp kho khoá. - Khởi động lại thành phần Edge thích hợp:
apigee-service edge-management-server restart
Để tắt JMX dựa trên SSL, hãy xoá thuộc tính conf_system_jmxremote_ssl
hoặc thay đổi giá trị thành false
. Khởi động lại thành phần Edge thích hợp.
Giám sát thông qua Jconsole
Hướng dẫn giám sát thông qua jconsole vẫn giữ nguyên như mô tả trong https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole.
Bạn có thể thêm một dòng "jconsole sẽ cần được khởi động bằng truststore và mật khẩu truststore nếu SSL được bật cho JMX". Tham khảo: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlGiám sát bằng JConsole
Sử dụng JConsole (một công cụ tuân thủ JMX) để quản lý và giám sát số liệu thống kê về quy trình và kiểm tra tình trạng. Với JConsole, bạn có thể sử dụng số liệu thống kê JMX do các máy chủ của bạn hiển thị và hiển thị chúng trong giao diện đồ hoạ. Để biết thêm thông tin, hãy xem bài viết Sử dụng JConsole.
Bạn cần khởi động JConsole bằng truststore và mật khẩu truststore nếu SSL được bật cho JMX. Xem phần Sử dụng JConsole.
JConsole sử dụng URL dịch vụ sau đây để theo dõi các thuộc tính JMX (MBeans) được cung cấp thông qua JMX:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
Trong trường hợp:
- IP_address là địa chỉ IP của máy chủ mà bạn muốn giám sát.
- port_number là số cổng JMX của máy chủ mà bạn muốn giám sát.
Ví dụ: để giám sát Máy chủ quản lý, hãy đưa ra một lệnh như sau (giả sử địa chỉ IP của máy chủ là 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
Xin lưu ý rằng ví dụ này chỉ định cổng 1099, là cổng JMX của Máy chủ quản lý. Đối với các cổng khác, hãy xem Cổng giám sát JMX và Management API.
Bảng sau đây cho thấy số liệu thống kê JMX chung:
JMX MBeans | Thuộc tính JMX |
---|---|
Bộ nhớ |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Cách sử dụng |
|
Thông tin tham khảo về tệp cấu hình
Các phần sau đây mô tả những thay đổi mà bạn có thể cần thực hiện đối với các tệp cấu hình thành phần Edge cho các cấu hình liên quan đến JMX. Hãy xem bài viết Giám sát các cổng và tệp cấu hình để biết thêm thông tin.
Cấu hình JMX cần được thêm vào tệp cấu hình của thành phần thích hợp
- Bật tác nhân JMX trên thành phần biên. Theo mặc định là False.
conf_system_jmxremote_enable=true
Cấu hình cho quy trình xác thực dựa trên mật khẩu
- Bật chế độ xác thực dựa trên mật khẩu. Theo mặc định là False.
conf_system_jmxremote_authenticate=true
- Đường dẫn để truy cập vào tệp. Chỉ người dùng Apigee mới có quyền sở hữu và đọc.
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- Đường dẫn đến tệp mật khẩu. Chỉ người dùng Apigee mới có quyền sở hữu và đọc.
conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
- Bật tính năng lưu trữ mật khẩu ở định dạng mã hoá. Theo mặc định là False.
conf_system_jmxremote_encrypted_auth=true
Cấu hình cho JMX dựa trên SSL
- Bật SSL cho giao tiếp JMX. Theo mặc định là False.
conf_system_jmxremote_ssl=true
- Đường dẫn đến kho khoá. Chỉ người dùng Apigee mới có quyền sở hữu và đọc.
conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
- Mật khẩu kho khoá:
conf_system_javax_net_ssl_keystorepassword=changeme
Cấu hình JMX không bắt buộc
Các giá trị được liệt kê là giá trị mặc định và có thể thay đổi.
- Cổng JMX. Các giá trị mặc định được liệt kê trong bảng bên dưới.
conf_system_jmxremote_port=
- Cổng JMX RMI. Theo mặc định, quy trình Java sẽ chọn một cổng ngẫu nhiên.
conf_system_jmxremote_rmi_port=
- Tên máy chủ lưu trữ cho các phần giữ chỗ từ xa. Địa chỉ IP mặc định của localhost.
conf_system_java_rmi_server_hostname=
- Bảo vệ sổ đăng ký JMX bằng SSL. Mặc định là false. Chỉ áp dụng nếu bạn bật SSL.
conf_system_jmxremote_registry_ssl=false
Giám sát bằng API Quản lý
Edge có một số API mà bạn có thể dùng để thực hiện các quy trình kiểm tra dịch vụ trên máy chủ, cũng như kiểm tra người dùng, tổ chức và hoạt động triển khai. Phần này mô tả những API này.
Thực hiện kiểm tra dịch vụ
Management API cung cấp một số điểm cuối để theo dõi và chẩn đoán các vấn đề với dịch vụ của bạn. Các điểm cuối này bao gồm:
Điểm cuối | Mô tả |
---|---|
/servers/self/up |
Kiểm tra xem một dịch vụ có đang chạy hay không. Bạn không cần xác thực khi gọi API này. Nếu dịch vụ đang chạy, điểm cuối này sẽ trả về phản hồi sau: <ServerField> <Up>true</Up> </ServerField> Nếu dịch vụ không chạy, bạn sẽ nhận được phản hồi tương tự như sau (tuỳ thuộc vào dịch vụ và cách bạn kiểm tra): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
Trả về thông tin về dịch vụ, bao gồm:
Bạn phải xác thực bằng thông tin đăng nhập quản trị viên Apigee để thực hiện lệnh gọi API này. |
Để sử dụng các điểm cuối này, hãy gọi một tiện ích như curl
bằng các lệnh sử dụng cú pháp sau:
curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"
Trong trường hợp:
- host là địa chỉ IP của máy chủ mà bạn muốn kiểm tra. Nếu đã đăng nhập vào máy chủ, bạn có thể sử dụng "localhost"; nếu không, hãy chỉ định địa chỉ IP của máy chủ cũng như tên người dùng và mật khẩu.
- port_number là cổng Management API cho máy chủ mà bạn muốn kiểm tra. Đây là một cổng khác cho từng loại thành phần. Ví dụ: cổng Management API của Management Server là 8080. Để biết danh sách số cổng Management API cần sử dụng, hãy xem Các cổng giám sát JMX và Management API
Để thay đổi định dạng của phản hồi, bạn có thể chỉ định tiêu đề Accept
là "application/json" hoặc "application/xml".
Ví dụ sau đây lấy trạng thái của Bộ định tuyến trên máy chủ cục bộ (cổng 8081):
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
Ví dụ sau đây lấy thông tin về Message Processor tại 216.3.128.12 (cổng 8082):
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
Theo dõi trạng thái người dùng, tổ chức và việc triển khai
Bạn có thể sử dụng Management API để theo dõi trạng thái người dùng, tổ chức và việc triển khai của các proxy trên Management Server và Message Processor bằng cách đưa ra các lệnh sau:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
Trong đó port_number là 8080 cho Máy chủ quản lý hoặc 8082 cho Trình xử lý thông báo.
Cuộc gọi này yêu cầu bạn xác thực bằng tên người dùng và mật khẩu quản trị hệ thống.
Máy chủ phải trả về trạng thái "đã triển khai" cho tất cả các lệnh gọi. Nếu các bước này không hiệu quả, hãy làm như sau:
- Kiểm tra nhật ký máy chủ để xem có lỗi nào không. Nhật ký nằm ở:
- Máy chủ quản lý:
opt/apigee/var/log/edge-management-server
- Trình xử lý thông báo:
opt/apigee/var/log/edge-message-processor
- Máy chủ quản lý:
- Gọi đến máy chủ để kiểm tra xem máy chủ có hoạt động đúng cách hay không.
- Xoá máy chủ khỏi ELB rồi khởi động lại:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
Trong đó, service_name là:
edge-management-server
edge-message-processor
Kiểm tra trạng thái bằng lệnh apigee-service
Bạn có thể khắc phục sự cố về các dịch vụ Edge bằng cách sử dụng lệnh apigee-service
khi đăng nhập vào máy chủ đang chạy dịch vụ.
Cách kiểm tra trạng thái của một dịch vụ bằng apigee-service
:
- Đăng nhập vào máy chủ rồi chạy lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service service_name status
Trong đó, service_name là một trong những giá trị sau:
- Máy chủ quản lý:
edge-management-server
- Trình xử lý thông báo:
edge-message-processor
- Postgres:
edge-postgres-server
- Qpid:
edge-qpid-server
- Bộ định tuyến:
edge-router
Ví dụ:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- Máy chủ quản lý:
- Nếu dịch vụ chưa chạy, hãy khởi động dịch vụ:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- Sau khi khởi động lại dịch vụ, hãy kiểm tra để đảm bảo dịch vụ đang hoạt động, bằng cách sử dụng lệnh
apigee-service status
mà bạn đã dùng trước đó hoặc bằng cách sử dụng Management API như mô tả trong phần Giám sát bằng Management API.Ví dụ:
curl -v http://localhost:port_number/v1/servers/self/up
Trong đó, port_number là cổng Management API cho dịch vụ.
Ví dụ này giả định rằng bạn đã đăng nhập vào máy chủ và có thể sử dụng "localhost" làm tên máy chủ. Để kiểm tra trạng thái từ xa bằng Management API, bạn phải chỉ định địa chỉ IP của máy chủ và đưa tên người dùng cũng như mật khẩu của quản trị viên hệ thống vào lệnh gọi API.
Giám sát Postgres
Postgres hỗ trợ một số tiện ích mà bạn có thể dùng để kiểm tra trạng thái của tiện ích đó. Các tiện ích này được mô tả trong các phần tiếp theo.
Kiểm tra các tổ chức và môi trường trên Postgres
Bạn có thể kiểm tra tên tổ chức và môi trường được tích hợp trên Máy chủ Postgres bằng cách phát hành lệnh curl
sau:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Hệ thống sẽ hiển thị tên tổ chức và môi trường.
Xác minh trạng thái của số liệu phân tích
Bạn có thể xác minh trạng thái của máy chủ phân tích Postgres và Qpid bằng cách đưa ra lệnh curl
sau:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
Hệ thống sẽ hiển thị trạng thái thành công cho tất cả các máy chủ phân tích, như trong ví dụ sau:
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
Cơ sở dữ liệu PostgreSQL
Phần này mô tả các kỹ thuật mà bạn có thể sử dụng riêng để theo dõi cơ sở dữ liệu Postgres.
Sử dụng tập lệnh check_postgres.pl
Để giám sát cơ sở dữ liệu PostgreSQL, bạn có thể sử dụng một tập lệnh giám sát tiêu chuẩn, check_postgres.pl
. Để biết thêm thông tin, hãy xem tại http://bucardo.org/wiki/Check_postgres.
Trước khi chạy tập lệnh:
- Bạn phải cài đặt tập lệnh check_postgres.pl trên mỗi nút Postgres.
- Đảm bảo bạn đã cài đặt
perl-Time-HiRes.x86_64
, một mô-đun Perl triển khai chuông báo, chế độ ngủ, gettimeofday và bộ hẹn giờ khoảng thời gian có độ phân giải cao. Ví dụ: bạn có thể cài đặt bằng cách dùng lệnh sau:
yum install perl-Time-HiRes.x86_64
- CentOS 7: Trước khi sử dụng check_postgres.pl trên CentOS phiên bản 7, hãy cài đặt RPM
perl-Data-Dumper.x86_64
.
Đầu ra của check_postgres.pl
Đầu ra mặc định của các lệnh gọi API bằng check_postgres.pl
tương thích với Nagios. Sau khi cài đặt tập lệnh, hãy thực hiện các bước kiểm tra sau:
- Kiểm tra kích thước cơ sở dữ liệu:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
- Kiểm tra số lượng kết nối đến cơ sở dữ liệu và so sánh với số lượng kết nối tối đa được phép:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- Kiểm tra xem cơ sở dữ liệu có đang chạy và có sẵn hay không:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- Kiểm tra dung lượng ổ đĩa:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Kiểm tra số lượng tổ chức và môi trường được tích hợp trong một nút Postgres:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
Chạy quy trình kiểm tra cơ sở dữ liệu
Bạn có thể xác minh rằng các bảng thích hợp đã được tạo trong cơ sở dữ liệu PostgreSQL. Đăng nhập vào cơ sở dữ liệu PostgreSQL bằng lệnh sau:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
Sau đó, hãy chạy:
\d analytics."org.env.fact"
Kiểm tra trạng thái hoạt động của quy trình postgres
Bạn có thể thực hiện các bước kiểm tra API trên máy Postgres bằng cách gọi lệnh curl
sau:
curl -v http://postgres_IP:8084/v1/servers/self/health
Lệnh này trả về trạng thái ACTIVE
khi quy trình postgres đang hoạt động. Nếu quy trình Postgres không hoạt động, thì quy trình này sẽ trả về trạng thái INACTIVE
.
Tài nguyên Postgres
Để biết thêm thông tin về cách giám sát dịch vụ Postgres, hãy xem các nội dung sau:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Apache Cassandra
JMX được bật theo mặc định cho Cassandra và quyền truy cập JMX từ xa vào Cassandra không yêu cầu mật khẩu.
Bật chế độ xác thực JMX cho Cassandra
Bạn có thể bật tính năng xác thực JMX cho Cassandra. Sau khi thực hiện việc này, bạn sẽ phải truyền tên người dùng và mật khẩu cho tất cả các lệnh gọi đến tiện ích nodetool.
Cách bật tính năng xác thực JMX cho Cassandra:
- Tạo và chỉnh sửa tệp
cassandra.properties
:- Chỉnh sửa tệp
/opt/apigee/customer/application/cassandra.properties
. Nếu tệp này không tồn tại, hãy tạo tệp. - Thêm nội dung sau vào tệp:
conf_cassandra_env_com.sun.management.jmxremote.authenticate=true conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
- Lưu tệp
cassandra.properties
. - Thay đổi chủ sở hữu của tệp thành
apigee:apigee
, như trong ví dụ sau:chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
Để biết thêm thông tin về cách sử dụng tệp thuộc tính để đặt mã thông báo, hãy xem phần Cách định cấu hình Edge.
- Chỉnh sửa tệp
- Tạo và chỉnh sửa
jmx_auth.sh
:- Tạo một tệp tại vị trí sau nếu tệp đó chưa tồn tại:
/opt/apigee/customer/application/jmx_auth.sh
- Thêm các thuộc tính sau vào tệp:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- Lưu tệp
jmx_auth.sh
. - Nguồn tệp:
source /opt/apigee/customer/application/jmx_auth.sh
- Tạo một tệp tại vị trí sau nếu tệp đó chưa tồn tại:
- Sao chép và chỉnh sửa tệp
jmxremote.password
:- Sao chép tệp sau đây từ thư mục
$JAVA_HOME
sang/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
- Chỉnh sửa tệp
jmxremote.password
rồi thêm tên người dùng và mật khẩu JMX bằng cú pháp sau:JMX_USERNAME JMX_PASSWORD
Trong đó, JMX_USERNAME và JMX_PASSWORD là tên người dùng và mật khẩu JMX mà bạn đã đặt trước đó.
- Đảm bảo tệp thuộc sở hữu của "apigee" và chế độ tệp là 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
- Sao chép tệp sau đây từ thư mục
- Sao chép và chỉnh sửa tệp
jmxremote.access
:- Sao chép tệp sau đây từ thư mục
$JAVA_HOME
sang/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
- Chỉnh sửa tệp
jmxremote.access
và thêm vai trò sau:JMX_USERNAME readwrite
- Đảm bảo tệp thuộc sở hữu của "apigee" và chế độ tệp là 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
- Sao chép tệp sau đây từ thư mục
- Chạy
configure
trên Cassandra:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Khởi động lại Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Lặp lại quy trình này trên tất cả các nút Cassandra khác.
Bật tính năng mã hoá mật khẩu JMX
Để bật tính năng mã hoá mật khẩu JMX, hãy làm theo các bước sau:
- Mở tệp
source/conf/casssandra-env.sh
. - Tạo và chỉnh sửa tệp
cassandra.properties
:- Chỉnh sửa tệp
/opt/apigee/customer/application/cassandra.properties
. Nếu tệp không tồn tại, hãy tạo tệp. - Thêm nội dung sau vào tệp:
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- Lưu tệp cassandra.properties.
- Thay đổi chủ sở hữu của tệp thành apigee:apigee, như trong ví dụ sau:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Chỉnh sửa tệp
- Trên dòng lệnh, hãy tạo(các) hàm băm SHA1 của(các) mật khẩu mong muốn bằng cách nhập
echo -n 'Secret' | openssl dgst -sha1
- Đặt(các) mật khẩu theo tên người dùng trong
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
(được tạo trong ở phần trước). - Chạy cấu hình trên Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Khởi động lại Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Lặp lại quy trình này trên tất cả các nút Cassandra khác.
Bật JMX bằng SSL cho Cassandra
Việc bật JMX bằng SSL giúp tăng cường tính bảo mật và mã hoá cho hoạt động giao tiếp dựa trên JMX với Cassandra. Để bật JMX bằng SSL, bạn cần cung cấp một khoá và một chứng chỉ cho Cassandra để chấp nhận các kết nối JMX dựa trên SSL. Bạn cũng cần định cấu hình nodetool (và mọi công cụ khác giao tiếp với Cassandra qua JMX) cho SSL.
JMX có hỗ trợ SSL hỗ trợ cả mật khẩu JMX ở dạng văn bản thô và mật khẩu JMX đã mã hoá.
Để bật JMX bằng SSL cho Cassandra, hãy làm theo quy trình sau:
- Bật JMX. Bật tính năng mã hoá mật khẩu nếu cần.
- Bật tính năng xác thực JMX cho Cassandra.
như mô tả ở trên. Đảm bảo nodetool hoạt động với tên người dùng và mật khẩu đã định cấu hình.
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
Chuẩn bị kho khoá và kho khoá tin cậy.
Kho khoá phải chứa một khoá và chứng chỉ, đồng thời được dùng để định cấu hình máy chủ Cassandra. Nếu keystore chứa nhiều cặp khoá, Cassandra sẽ dùng cặp khoá đầu tiên để bật SSL.
Lưu ý rằng mật khẩu cho kho khoá và khoá phải giống nhau (mặc định khi bạn tạo khoá bằng keytool).
- Truststore chỉ chứa chứng chỉ và được các ứng dụng (các lệnh dựa trên apigee-service hoặc nodetool) dùng để kết nối qua JMX.
Sau khi xác minh các yêu cầu nêu trên:
- Đặt tệp kho khoá vào
/opt/apigee/customer/application/apigee-cassandra/
. - Đảm bảo chỉ người dùng Apigee mới có thể đọc tệp kho khoá bằng cách nhập
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- Định cấu hình Cassandra cho JMX bằng SSL bằng cách thực hiện các bước sau:
- Dừng nút Cassandra bằng cách nhập
apigee-service apigee-cassandra stop
- Bật SSL trong Cassandra bằng cách mở tệp
/opt/apigee/customer/application/cassandra.properties
và thêm các dòng sau:conf_cassandra_env_com.sun.management.jmxremote.ssl=true conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1 conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password ## On FIPS enabled systems, when you are using non standard keystore, set the following: ## These can be skipped otherwise ## Possible values are JKS, PKCS12, BCFKS conf_cassandra_env_javax.net.ssl.keyStoreType=PKCS12 conf_cassandra_env_javax.net.ssl.keyStoreAlias=cassjmx-tls-alias
- Thay đổi chủ sở hữu của tệp thành apigee:apigee, như trong ví dụ sau:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Chạy cấu hình trên Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Khởi động lại Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Lặp lại quy trình này trên tất cả các nút Cassandra khác.
- Khởi động nút Cassandra bằng cách nhập
apigee-service apigee-cassandra start
- Dừng nút Cassandra bằng cách nhập
- Định cấu hình các lệnh
apigee-service
Cassandra. Bạn cần thiết lập một số biến môi trường trong khi chạy các lệnhapigee-service
, bao gồm cả các biến dưới đây:apigee-service apigee-cassandra stop apigee-service apigee-cassandra wait_for_ready apigee-service apigee-cassandra ring apigee-service apigee-cassandra backup
Có một số lựa chọn để định cấu hình
apigee-service
cho xác thực JMX và SSL. Chọn một phương án dựa trên khả năng sử dụng và các biện pháp bảo mật của bạn.- Lựa chọn 1 (Đối số SSL được lưu trữ trong tệp)
- Cách 2 (các đối số SSL được lưu trữ trong biến môi trường)
- Cách 3 (Đối số SSL được truyền trực tiếp đến
apigee-service
)
Lựa chọn 1 (Đối số SSL được lưu trữ trong tệp)
Thiết lập các biến môi trường sau:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y
Tạo một tệp trong thư mục gốc của người dùng Apigee (
/opt/apigee
).$HOME/.cassandra/nodetool-ssl.properties
Chỉnh sửa tệp và thêm các dòng sau:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
Đảm bảo người dùng Apigee có thể đọc tệp trustore.
Chạy lệnh
apigee-service
sau đây. Nếu chạy không có lỗi, tức là cấu hình của bạn chính xác.apigee-service apigee-cassandra ring
Cách 2 (Các đối số SSL được lưu trữ trong biến môi trường)
Thiết lập các biến môi trường sau:
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y # Ensure the truststore file is accessible by Apigee user. export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password> # If you are using a non standard truststore type, export truststore type as well # Possible values are JKS, PKCS12, BCFKS export CASS_JMX_TRUSTSTORE_TYPE=PKCS12
Chạy lệnh
apigee-service
sau đây. Nếu chạy không có lỗi, tức là cấu hình của bạn chính xác.apigee-service apigee-cassandra ring
Lựa chọn 3 (Đối số SSL được truyền trực tiếp đến
apigee-service
)Chạy bất kỳ lệnh
apigee-service
nào như lệnh bên dưới. Bạn không cần định cấu hình bất kỳ biến môi trường nào.CASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> CASS_JMX_TRUSTSTORE_TYPE=PKCS12 /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
Thiết lập nodetool. Nodetool yêu cầu phải truyền các tham số JMX vào. Có hai cách để định cấu hình nodetool chạy với JMX có hỗ trợ SSL, như mô tả trong các lựa chọn cấu hình bên dưới:
Các lựa chọn này khác nhau về cách truyền cấu hình liên quan đến SSL đến nodetool. Trong cả hai trường hợp, người dùng chạy nodetool phải có quyền ĐỌC đối với tệp truststore. Chọn một lựa chọn phù hợp dựa trên khả năng sử dụng và các biện pháp bảo mật của bạn.
Để tìm hiểu thêm về các tham số nodetool, hãy xem tài liệu của DataStax.
Lựa chọn cấu hình 1
Tạo một tệp trong thư mục gốc của người dùng đang chạy nodetool.
$HOME/.cassandra/nodetool-ssl.properties
Thêm các dòng sau vào tệp:
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true ## If you are using a non standard truststore, set below, otherwise skip ## Possible values are JKS, PKCS12, BCFKS -Djavax.net.ssl.trustStoreType=PKCS12
Mọi người dùng chạy nodetool đều có thể truy cập vào đường dẫn truststore được chỉ định ở trên.
Chạy
nodetool
bằng lựa chọn--ssl
./opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
Lựa chọn cấu hình 2
Chạy
nodetool
dưới dạng một lệnh duy nhất với các tham số bổ sung được liệt kê bên dưới./opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Djavax.net.ssl.trustStoreType=PKCS12 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
Huỷ bỏ các cấu hình SSL
Nếu bạn cần khôi phục các cấu hình SSL được mô tả trong quy trình ở trên, hãy làm theo các bước sau:
- Ngừng
apigee-cassandra
bằng cách nhậpapigee-service apigee-cassandra stop
- Xoá dòng
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
khỏi tệp/opt/apigee/customer/application/cassandra.properties
. - Thêm chú thích vào các dòng sau trong
/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0" # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass" # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
- Bắt đầu
apigee-cassandra
bằng cách nhập - Xoá biến môi trường
CASS_JMX_SSL
nếu bạn đã đặt biến này.unset CASS_JMX_SSL
- Kiểm tra để đảm bảo các lệnh dựa trên
apigee-service
nhưring
,stop
,backup
, v.v. đang hoạt động. - Ngừng sử dụng công tắc
--ssl
với nodetool
apigee-service apigee-cassandra start
Tắt chế độ xác thực JMX cho Cassandra
Cách tắt xác thực JMX cho Cassandra:
- Chỉnh sửa
/opt/apigee/customer/application/cassandra.properties
. - Xoá dòng sau trong tệp:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Chạy cấu hình trên Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Khởi động lại Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Lặp lại quy trình này trên tất cả các nút Cassandra khác.
Sử dụng JConsole: Theo dõi số liệu thống kê về tác vụ
Sử dụng JConsole và URL dịch vụ sau đây để theo dõi các thuộc tính JMX (MBeans) được cung cấp thông qua JMX:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
Trong đó, IP_address là IP của máy chủ Cassandra.
Số liệu thống kê JMX của Cassandra
JMX MBeans | Thuộc tính JMX |
---|---|
ColumnFamilies/apprepo/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
Sử dụng nodetool để quản lý các nút trong cụm
Tiện ích nodetool là một giao diện dòng lệnh cho Cassandra, dùng để quản lý các nút cụm. Bạn có thể tìm thấy tiện ích này tại /opt/apigee/apigee-cassandra/bin
.
Bạn có thể thực hiện các lệnh gọi sau trên tất cả các nút của cụm Cassandra:
- Thông tin chung về vòng (cũng có thể dùng cho một nút Cassandra): Tìm "Up" (Đang hoạt động) và "Normal" (Bình thường) cho tất cả các nút.
nodetool [-u username -pw password] -h localhost ring
Bạn chỉ cần truyền tên người dùng và mật khẩu nếu đã bật tính năng xác thực JMX cho Cassandra.
Kết quả của lệnh trên sẽ có dạng như sau:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- Thông tin chung về các nút (cuộc gọi trên mỗi nút)
nodetool [-u username -pw password] -h localhost info
Kết quả của lệnh trên sẽ có dạng như sau:
ID : e2e42793-4242-4e82-bcf0-oicu812 Gossip active : true Thrift active : true Native Transport active: true Load : 273.71 KB Generation No : 1234567890 Uptime (seconds) : 687194 Heap Memory (MB) : 314.62 / 3680.00 Off Heap Memory (MB) : 0.14 Data Center : dc-1 Rack : ra-1 Exceptions : 0 Key Cache : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds Counter Cache : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds Token : 0
- Trạng thái của máy chủ thrift (phục vụ API ứng dụng)
nodetool [-u username -pw password] -h localhost statusthrift
Kết quả của lệnh trên sẽ có dạng như sau:
running
- Trạng thái của các hoạt động truyền trực tuyến dữ liệu: Theo dõi lưu lượng truy cập cho các nút cassandra:
nodetool [-u username -pw password] -h localhost netstats
Kết quả của lệnh trên sẽ có dạng như sau:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
Để biết thêm thông tin về nodetool, hãy xem phần Giới thiệu về tiện ích nodetool.
Tài nguyên Cassandra
Tham khảo URL sau: http://www.datastax.com/docs/1.0/operations/monitoring.
Giám sát Apache Qpid Broker-J
Bạn có thể theo dõi Qpid Broker-J từ bảng điều khiển quản lý Qpid. Phần này giải thích cách truy cập vào bảng điều khiển và sử dụng bảng điều khiển để thực hiện các chức năng giám sát cơ bản. Để biết thêm thông tin chi tiết về cách sử dụng bảng điều khiển quản lý, hãy xem phần Bảng điều khiển quản lý trên web trong tài liệu về Apache Qpid.
Truy cập vào bảng điều khiển quản lý
Cổng bảng điều khiển quản lý mặc định là 8090. Để truy cập vào bảng điều khiển trên cổng mặc định này, hãy chuyển trình duyệt web của bạn đến:
http://QPID_NODE_IP:8090
Để đăng nhập vào bảng điều khiển, hãy sử dụng thông tin đăng nhập mặc định do Apigee đặt hoặc thông tin đăng nhập được đặt trong tệp cấu hình Edge. Để biết thông tin chi tiết, hãy xem Tài liệu tham khảo về tệp cấu hình Edge.
Theo dõi hàng đợi và tin nhắn
Trong bảng điều hướng bên trái, hãy chuyển đến Java-Broker > virtualhosts > queues. Chọn một hàng đợi để xem thông tin chi tiết về hàng đợi đó trong phần chính của giao diện người dùng. Trong chế độ xem chi tiết, bạn có thể xem Thuộc tính và số liệu thống kê của hàng đợi, bao gồm cả thông tin về số lượng tin nhắn đã gửi, đã xếp hàng, tốc độ gửi tin nhắn, v.v.
Xem và tải tệp nhật ký xuống
Trong bảng điều hướng bên trái, hãy chuyển đến Java-Broker > brokerloggers > logfile. Trong chế độ xem chi tiết của giao diện người dùng chính, bạn có thể xem thông tin chi tiết về tệp nhật ký và tải tệp nhật ký xuống.
Sử dụng API quản lý Qpid
Bạn có thể sử dụng Apache Qpid Broker-J REST API để tự động hoá các tác vụ quản lý và giám sát broker. Để biết thông tin chi tiết, hãy xem Tài liệu về API REST của Apache Qpid Broker.
Bạn cũng có thể sử dụng các công cụ dòng lệnh để giám sát môi giới. Ví dụ:
curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"
Bật tính năng giám sát bằng SSL cho Qpid
Để tăng cường bảo mật cho hoạt động giám sát và quản lý, hãy bật SSL trên Cổng quản lý của Qpid và API quản lý của Qpid. Hãy làm theo các nguyên tắc bên dưới để cung cấp khoá và chứng chỉ.
Qpid cung cấp một lựa chọn cho Kho khoá tệp, được bật trong Apigee. Loại này chấp nhận định dạng kho khoá JKS tiêu chuẩn mà Java và các công cụ Java hiểu được, chẳng hạn như keytool. Bạn cũng có thể chấp nhận một kho khoá PKCS12. Kho khoá này có thể được tạo bằng các công cụ như OpenSSL.
Chuẩn bị kho khoá
Để tạo kho khoá, hãy xem Tài liệu về Keytool của Java.
Để tạo kho khoá PKCS12, hãy xem Tài liệu OpenSSL.
Sau khi xác minh các yêu cầu
- Đặt tệp kho khoá vào
/opt/apigee/customer/application/apigee-qpidd
. - Đảm bảo chỉ người dùng Apigee mới có thể đọc tệp kho khoá:
chown apigee:apigee /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore chmod 400 /opt/apigee/customer/application/apigee-qpidd/qpidd.keystore
Bật SSL trong Qpid
Thực hiện các bước bên dưới trên từng nút Qpid:
Mở tệp /opt/apigee/customer/application/qpidd.properties
và thêm các dòng sau:
conf_qpidd_qpid_management.https.enabled=true conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/qpidd.keystore conf_qpidd_qpid.keystore.password=keystore-password conf_qpidd_qpid.keystore.certificateAlias=certificate-alias ## If you are using a PKCS12 keystore, specify the keystore type conf_qpidd_qpid.keystore.keyStoreType=PKCS12
- Thay đổi chủ sở hữu của tệp thành apigee:apigee:
chown apigee:apigee /opt/apigee/customer/application/qpidd.properties
- Định cấu hình Qpidd:
apigee-service apigee-qpidd configure
- Khởi động lại Qpidd:
apigee-service apigee-qpidd restart
- Kiểm tra trạng thái bằng wait_for_ready:
apigee-service apigee-qpidd wait_for_ready
Huỷ bỏ cấu hình SSL
Xoá hoặc đánh dấu ghi chú cho các thuộc tính khỏi tệp /opt/apigee/customer/application/qpidd.properties
:
conf_qpidd_qpid_management.https.enabled=true conf_qpidd_qpid.keystore.storeUrl=/opt/apigee/customer/application/apigee-qpidd/keystore
- Định cấu hình Qpidd:
apigee-service apigee-qpidd configure
- Khởi động lại Qpidd:
apigee-service apigee-qpidd restart
- Kiểm tra trạng thái bằng wait_for_ready:
apigee-service apigee-qpidd wait_for_ready
Apache ZooKeeper
Kiểm tra trạng thái ZooKeeper
- Đảm bảo quy trình ZooKeeper đang chạy. ZooKeeper ghi một tệp PID vào
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Kiểm tra các cổng ZooKeeper để đảm bảo rằng bạn có thể thiết lập kết nối TCP đến các cổng 2181 và 3888 trên mọi máy chủ ZooKeeper.
- Đảm bảo bạn có thể đọc các giá trị từ cơ sở dữ liệu ZooKeeper. Kết nối bằng thư viện ứng dụng ZooKeeper (hoặc
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) và đọc một giá trị từ cơ sở dữ liệu. - Kiểm tra trạng thái:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
Sử dụng các từ có 4 chữ cái trong ZooKeeper
Bạn có thể giám sát ZooKeeper thông qua một nhóm nhỏ các lệnh (từ có 4 chữ cái) được gửi đến cổng 2181 bằng netcat (nc) hoặc telnet.
Để biết thêm thông tin về các lệnh ZooKeeper, hãy xem: Tài liệu tham khảo về lệnh Apache ZooKeeper.
Ví dụ:
srvr
: Liệt kê đầy đủ thông tin chi tiết về máy chủ.stat
: Liệt kê thông tin chi tiết ngắn gọn về máy chủ và các ứng dụng đã kết nối.
Bạn có thể phát các lệnh sau đây cho cổng ZooKeeper:
- Chạy lệnh gồm 4 chữ cái ruok để kiểm tra xem máy chủ có đang chạy ở trạng thái không có lỗi hay không. Một phản hồi thành công sẽ trả về "imok".
echo ruok | nc host 2181
Trả về:
imok
- Chạy lệnh gồm 4 chữ cái,
stat
, để liệt kê hiệu suất của máy chủ và số liệu thống kê về các ứng dụng khách đã kết nối:echo stat | nc host 2181
Trả về:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- Nếu không có netcat (nc), bạn có thể dùng python để thay thế. Tạo một tệp có tên là
zookeeper.py
chứa nội dung sau:import time, socket, sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) c.connect((sys.argv[1], 2181)) c.send(sys.argv[2]) time.sleep(0.1) print c.recv(512)
Bây giờ, hãy chạy các dòng python sau:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
Kiểm tra cấp độ LDAP
Bạn có thể theo dõi SymasLDAP để xem các yêu cầu cụ thể có được xử lý đúng cách hay không. Nói cách khác, hãy kiểm tra một cụm từ tìm kiếm cụ thể để đảm bảo kết quả trả về là chính xác.
- Sử dụng
ldapsearch
(yum install symasldap-clients
) để truy vấn mục nhập của quản trị viên hệ thống. Mục này dùng để xác thực tất cả các lệnh gọi API./opt/symas/bin/ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
Sau đó, bạn sẽ được nhắc nhập mật khẩu quản trị viên LDAP:
Enter LDAP Password:
Sau khi nhập mật khẩu, bạn sẽ thấy một phản hồi dưới dạng:
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top uid: admin cn: admin sn: admin userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ= = mail: opdk@google.com
- Kiểm tra xem Management Server có còn kết nối với LDAP hay không bằng lệnh sau:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Trả về:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Bạn cũng có thể giám sát bộ nhớ đệm SymasLDAP. Bộ nhớ đệm này giúp giảm số lần truy cập vào đĩa và do đó cải thiện hiệu suất của hệ thống. Việc giám sát rồi điều chỉnh kích thước bộ nhớ đệm trong máy chủ SymasLDAP có thể ảnh hưởng lớn đến hiệu suất của máy chủ thư mục. Bạn có thể xem các tệp nhật ký (opt/apigee/var/log
) để lấy thông tin về bộ nhớ đệm.