Cách theo dõi

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ợ trong hoạt động triển khai Apigee Edge cho đám mây riêng tư.

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 các dịch vụ đó. Bảng sau đây liệt kê các hình thức kiểm tra mà bạn có thể thực hiện đối với từng dịch vụ đủ điều kiện:

API Mgmt
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ư
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 tính năng này, như mô tả trong phần Bật JMX.

** Dịch vụ apigee-monit sẽ kiểm tra xem một thành phần có hoạt động hay không và sẽ tìm cách khởi động lại nếu thành phần đó chưa hoạt động. Để biết thêm thông tin, hãy xem bài viết Tự khắc phục bằng apigee-monit.

Giám sát cổng và tệp cấu hình

Mỗi thành phần đều hỗ trợ các lệnh gọi theo dõi Tiện ích quản lý Java (JMX) và API quản lý trên nhiều cổng. Bảng sau đây liệt kê các cổng JMX và API Quản lý cho từng loại máy chủ và 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ư 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 để giám sát các thành phần của 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 dưới đây. Lưu ý: Trong các hệ thống phát hành chính thức, bạn phải bật cả tính năng xác thực đã mã hoá và SSL để đảm bảo an toàn.

  1. Chỉnh sửa tệp cấu hình phù 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ó.
    conf_system_jmxremote_enable=true
  2. Lưu tệp cấu hình và đảm bảo tệp này thuộc sở hữu của apigee:apigee.
  3. 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 đó thành false. Sau đó, khởi động lại thành phần Edge thích hợp.

Xác thực trong JMX

Edge for Private Cloud hỗ trợ tính năng xác thực dựa trên mật khẩu bằng thông tin được lưu trữ trong 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.

  1. Để 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 phù 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ó:
    conf_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
    Lưu tệp cấu hình và đảm bảo tệp đó thuộc sở hữu của apigee:apigee.
  2. Tạo hàm băm SHA256 của mật khẩu:
    echo -n '' | openssl dgst -sha256
  3. Tạo tệp jmxremote.password bằng thông tin đăng nhập của người dùng JMX:
    1. Sao chép các tệp sau 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
    2. Chỉnh sửa tệp rồi thêm tên người dùng và mật khẩu JMX bằng cú pháp sau:
      USERNAME <HASH-PASSWORD>
    3. Đảm bảo tệp này 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
  4. Tạo một tệp jmxremote.access có quyền của người dùng JMX:
    1. Sao chép các tệp sau 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
    2. Chỉnh sửa tệp và thêm tên người dùng JMX của bạn, theo sau là một quyền (READONLY/READWRITE)
      USERNAME READONLY
    3. Đảm bảo tệp này 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
  5. 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

Để bật JMX dựa trên SSL trong thành phần Edge-*:

  1. Chỉnh sửa tệp cấu hình phù 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ó:
    conf_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>
    Lưu tệp cấu hình và đảm bảo tệp đó thuộc sở hữu của apigee:apigee.
  2. Chuẩn bị một kho khoá chứa khoá máy chủ và đặt khoá đó tại đường dẫn được cung cấp trong cấu hình conf_system_javax_net_ssl_keystore ở trên. Đảm bảo apigee:apigee có thể đọc được tệp kho khoá.
  3. 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 qua Jconsole

Hướng dẫn giám sát qua jconsole vẫn giữ nguyên như mô tả tại https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole.

Có thể thêm một dòng rằng "jconsole sẽ cần được khởi động bằng mật khẩu Truststore và Truststore nếu SSL được bật cho JMX". Tài liệu tham khảo: https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html

Giám sát bằng JConsole

Sử dụng JConsole (một công cụ tương thích với JMX) để quản lý và giám sát quy trình kiểm tra tình trạng và xử lý số liệu thống kê. Với JConsole, bạn có thể sử dụng số liệu thống kê JMX do máy chủ của bạn hiển thị và hiển thị số liệu đó ở giao diện đồ hoạ. Để biết thêm thông tin, hãy xem phần Sử dụng JConsole.

Bạn cần khởi động JConsole bằng mật khẩu kho tin cậy và kho lưu trữ tin cậy 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 để giám sát 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ủ bạn muốn giám sát.
  • port_numbersố cổng JMX của máy chủ bạn muốn giám sát.

Ví dụ: để giám sát Máy chủ quản lý, hãy phát 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

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 phần JMX và cổng giám sát API Quản lý.

Bảng sau đây trình bày số liệu thống kê JMX chung:

Tiếng JMX MBeans Thuộc tính JMX

Bộ nhớ

HeapMemoryUsage

NonHeapMemoryUsage

Cách sử dụng

Tài liệu tham khảo về tệp cấu hình

Các phần sau đây mô tả những thay đổi bạn có thể cần thực hiện đối với 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 phần Giám sát cổng và tệp cấu hình để biết thêm thông tin.

Cấu hình JMX sẽ đượ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 cạnh. False theo mặc định.
    conf_system_jmxremote_enable=true

Cấu hình để xác thực dựa trên mật khẩu

  • Bật tính năng xác thực dựa trên mật khẩu. False theo mặc định.
    conf_system_jmxremote_authenticate=true
  • Đường dẫn để truy cập tệp. Chỉ nên thuộc sở hữu và đọc được của người dùng Apigee.
    conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
  • Đường dẫn đến tệp mật khẩu. Chỉ nên thuộc sở hữu và đọc được của người dùng Apigee.
    conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
  • Cho phép lưu trữ mật khẩu ở định dạng mã hoá. False theo mặc định.
    conf_system_jmxremote_encrypted_auth=true

Cấu hình cho JMX dựa trên SSL

  • Bật SSL để giao tiếp JMX. False theo mặc định.
    conf_system_jmxremote_ssl=true
  • Đường dẫn đến kho khoá. Chỉ nên thuộc sở hữu và đọc được của người dùng Apigee.
    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. 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ủ cho các mã giả lập từ xa. Địa chỉ IP mặc định của localhost.
    conf_system_java_rmi_server_hostname=
  • Bảo vệ hệ thống đăng ký JMX bằng SSL. Mặc định là false. Chỉ áp dụng nếu SSL được bật.
    conf_system_jmxremote_registry_ssl=false

Giám sát bằng API Quản lý

Edge bao gồm một số API mà bạn có thể dùng để 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ả về các API này.

Kiểm tra dịch vụ

API Quản lý cung cấp một số điểm cuối để theo dõi và chẩn đoán các vấn đề xảy ra với các dịch vụ của bạn. Các điểm cuối này bao gồm:

Điểm cuối Nội dung mô tả
/servers/self/up

Kiểm tra xem dịch vụ có đang chạy hay không. Lệnh gọi API này không yêu cầu bạn xác thực.

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:

  • Thuộc tính cấu hình
  • Thời gian bắt đầu và thời gian thiết lập
  • Thông tin về bản dựng, RPM và mã nhận dạng duy nhất (UUID)
  • Tên máy chủ và địa chỉ IP nội bộ và bên ngoài
  • Khu vực và nhóm
  • Thuộc tính <isUp>, cho biết dịch vụ có đang chạy hay không

Lệnh gọi API này yêu cầu bạn xác thực bằng thông tin đăng nhập của quản trị viên Apigee.

Để 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 API quản lý cho máy chủ mà bạn muốn kiểm tra. Đây là một cổng riêng cho từng loại thành phần. Ví dụ: cổng API quản lý của Máy chủ quản lý là 8080. Để biết danh sách số cổng API Quản lý sẽ sử dụng, hãy xem phần JMX và cổng giám sát API Quản lý

Để 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 minh hoạ trạng thái của Bộ định tuyến trên localhost (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ề Trình xử lý tin nhắn 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"

Giám sát người dùng, tổ chức và trạng thái triển khai

Bạn có thể sử dụng API Quản lý để theo dõi người dùng, tổ chức và trạng thái triển khai proxy của mình trên Máy chủ quản lý và Bộ xử lý thông báo bằng cách ra các lệnh sau:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl 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 đối với Máy chủ quản lý hoặc 8082 đối với Bộ 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 của mình.

Máy chủ sẽ trả về trạng thái "đã triển khai" cho tất cả lệnh gọi. Nếu những tính năng này không thành công, hãy làm như sau:

  1. Hãy kiểm tra nhật ký máy chủ để xem có bất kỳ lỗi nào không. Nhật ký được đặt tại:
    • Máy chủ quản lý: opt/apigee/var/log/edge-management-server
    • Bộ xử lý thư: opt/apigee/var/log/edge-message-processor
  2. Hãy gọi đến máy chủ để kiểm tra xem máy chủ có đang hoạt động đúng cách hay không.
  3. Hãy 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ố cho 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:

  1. Đăng nhập vào máy chủ và chạy lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    Trong đó service_name là một trong những trạng thái sau:

    • Máy chủ quản lý: edge-management-server
    • Bộ xử lý thư: edge-message-processor
    • Áp phích: 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
  2. Nếu dịch vụ không chạy, hãy khởi động dịch vụ:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. 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 API Quản lý được mô tả trong phần Giám sát bằng API Quản lý.

    Ví dụ:

    curl -v http://localhost:port_number/v1/servers/self/up

    Trong đó port_numbercổng API quản lý dành cho dịch vụ.

    Ví dụ này giả định bạn đã đăng nhập vào máy chủ và có thể dùng "localhost" làm tên máy chủ. Để kiểm tra trạng thái từ xa bằng API Quản lý, bạn phải chỉ định địa chỉ IP của máy chủ và bao gồm tên người dùng và mật khẩu của quản trị viên hệ thống trong 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 ứng dụng. Những 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 đưa vào Máy chủ Postgres bằng cách phát lệnh curl sau:

curl -v http://postgres_IP:8084/v1/servers/self/organizations

Hệ thống phải hiển thị tên tổ chức và môi trường.

Xác minh trạng thái 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 phát 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 đối với tất 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ể dùng riêng để theo dõi cơ sở dữ liệu Postgres.

Sử dụng tập lệnh check_postgres.pl

Để theo dõi cơ sở dữ liệu PostgreSQL, bạn có thể sử dụng 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 http://bucardo.org/wiki/Check_postgres.

Trước khi bạn chạy tập lệnh:

  1. Bạn phải cài đặt tập lệnh check_postgres.pl trên mỗi nút Postgres.
  2. Đảm bảo rằng bạn đã cài đặt perl-Time-HiRes.x86_64, một mô-đun Perl giúp triển khai tính năng hẹn giờ báo thức, ngủ, giờ nghỉ và giờ nghỉ có độ phân giải cao. Ví dụ: bạn có thể cài đặt tệp này bằng cách dùng lệnh sau:
    yum install perl-Time-HiRes.x86_64
  3. 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 check_postgres.pl

Đầu ra mặc định của các lệnh gọi API sử dụng check_postgres.pl là kết quả 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:

  1. 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'
  2. Kiểm tra số lượng kết nối đến với 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
  3. 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
  4. 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%'
  5. Kiểm tra số lượng tổ chức và môi trường được đưa vào 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 quá trình kiểm tra cơ sở dữ liệu

Bạn có thể xác minh rằng các bảng phù 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 đó, chạy:

\d analytics."org.env.fact"

Kiểm tra tình trạng của quy trình Postgres

Bạn có thể thực hiện quy trình 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 không thiết lập và chạy quy trình Postgres, 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 theo dõi dịch vụ Postgres, hãy xem những nội dung sau:

Apache Cassandra

Theo mặc định, JMX được bật 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 tính năng 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ẽ được yêu cầu 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 nốt công cụ.

Cách bật tính năng xác thực JMX cho Cassandra:

  1. Tạo và chỉnh sửa tệp cassandra.properties:
    1. Chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Hãy tạo tệp nếu chưa có.
    2. Thêm phần 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
    3. Lưu tệp cassandra.properties.
    4. 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 các 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.

  2. Tạo và chỉnh sửa jmx_auth.sh:
    1. Tạo một tệp tại vị trí sau đây nếu tệp đó chưa tồn tại:
      /opt/apigee/customer/application/jmx_auth.sh
    2. 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
    3. Lưu tệp jmx_auth.sh.
    4. Nguồn của tệp:
      source /opt/apigee/customer/application/jmx_auth.sh
  3. Sao chép và chỉnh sửa tệp jmxremote.password:
    1. Sao chép tệp sau từ thư mục $JAVA_HOME vào /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
    2. Chỉnh sửa tệp jmxremote.password rồi thêm tên người dùng và mật khẩu JMX của bạn bằng cú pháp sau:
      JMX_USERNAME JMX_PASSWORD

      Trong đó JMX_USERNAMEJMX_PASSWORD là tên người dùng và mật khẩu JMX mà bạn đã đặt trước đó.

    3. Đảm bảo tệp này 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
  4. Sao chép và chỉnh sửa tệp jmxremote.access:
    1. Sao chép tệp sau từ thư mục $JAVA_HOME vào /opt/apigee/customer/application/apigee-cassandra/:
      cp ${JAVA_HOME}/lib/management/jmxremote.access
      $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
    2. Chỉnh sửa tệp jmxremote.access rồi thêm vai trò sau:
      JMX_USERNAME readwrite
    3. Đảm bảo tệp này 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
  5. Chạy configure trên Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Khởi động lại Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Lặp lại quá 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:

  1. Mở tệp source/conf/casssandra-env.sh.
  2. Tạo và chỉnh sửa tệp cassandra.properties:
    1. Chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Hãy tạo tệp nếu chưa có.
    2. Thêm phần sau vào tệp:
      conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
    3. Lưu tệp cassandra.properties.
    4. 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
  3. 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
  4. Đặt(các) mật khẩu dựa trên tên người dùng trong $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password (đã tạo ở phần trước).
  5. Chạy cấu hình trên Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  6. Khởi động lại Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  7. Lặp lại quá trình này trên tất cả các nút Cassandra khác.

Bật JMX với SSL cho Cassandra

Việc bật JMX bằng SSL giúp tăng cường tính bảo mật và lớp 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 khoá và 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ó bật SSL hỗ trợ cả mật khẩu JMX dạng văn bản thuần tuý và mật khẩu JMX đã mã hoá.

Để bật JMX bằng SSL cho Cassandra, hãy sử dụng quy trình sau:

  1. Bật JMX. Bật tính năng mã hoá mật khẩu nếu cần.
  2. Bật tính năng xác thực JMX cho Cassandra. như được mô tả ở trên. Đảm bảo rằngnodetool đang 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
  3. Chuẩn bị kho khoá và kho lưu trữ 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 kho khoá chứa nhiều cặp khoá, Cassandra sẽ sử dụng cặp khoá đầu tiên để bật SSL.

      Xin 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ỉ được chứa chứng chỉ và được các ứng dụng khách (các lệnh hoặc công cụ nút dựa trên dịch vụ apigee-service) sử dụng để kết nối qua JMX.

    Sau khi xác minh các yêu cầu trên:

    1. Đặt tệp kho khoá vào /opt/apigee/customer/application/apigee-cassandra/.
    2. Đảm bảo chỉ người dùng Apigee mới có thể đọc đượ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
  4. Định cấu hình Cassandra cho JMX bằng SSL bằng cách thực hiện các bước sau:
    1. Dừng nút Cassandra bằng cách nhập
      apigee-service apigee-cassandra stop
    2. 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
    3. 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
    4. Chạy cấu hình trên Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
    5. Khởi động lại Cassandra:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
    6. Lặp lại quá trình này trên tất cả các nút Cassandra khác.
    7. Bắt đầu nút Cassandra bằng cách nhập
      apigee-service apigee-cassandra start
  5. Định cấu hình các lệnh Cassandra apigee-service. Bạn cần đặt một số biến môi trường trong khi chạy các lệnh apigee-service, bao gồm các biến bên dưới:
    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 phương thức xác thực JMX và SSL. Hãy chọn một tùy chọn dựa trên khả năng hữu dụng và các biện pháp bảo mật của bạn.

    Tùy 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

    Đảm bảo rằng người dùng Apigee có thể đọc được tệp trustore.

    Chạy lệnh apigee-service sau. Nếu tệp này chạy mà không gặp lỗi nào thì cấu hình của bạn là chính xác.

    apigee-service apigee-cassandra ring

    Cách 2 (Đố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>

    Chạy lệnh apigee-service sau. Nếu tệp này chạy mà không gặp lỗi nào thì cấu hình của bạn là chính xác.

    apigee-service apigee-cassandra ring

    Tùy chọn 3 (Đối số SSL được chuyển trực tiếp đến apigee-service)

    Chạy một lệnh apigee-service bất kỳ như lệnh bên dưới. Bạn không cần phải đị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> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
  6. Thiết lập công cụ nút. Nodetool yêu cầu các tham số JMX phải được truyền tới. Có 2 cách bạn có thể định cấu hình nốt (nodetool) để chạy với JMX có hỗ trợ SSL, như mô tả trong các lựa chọn cấu hình dưới đây:

    Các lựa chọn này khác nhau về cách truyền các cấu hình liên quan đến SSL đến công cụ nút. Trong cả hai trường hợp, người dùng chạy công cụ nút nguồn phải có quyền READ trên tệp kho lưu trữ tin cậy. Hãy chọn một phương án phù hợp dựa trên khả năng hữu dụng và biện pháp bảo mật của bạn.

    Để tìm hiểu thêm về các tham số nút, hãy xem tài liệu về DataStax.

    Tùy chọn cấu hình 1

    Tạo một tệp trong thư mục gốc của công cụ tạo nút người dùng đang chạy.

    $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

    Bất kỳ người dùng nào đang chạy công cụ nút (nodetool) đều truy cập được vào đường dẫn kho tin cậy được chỉ định ở trên.

    Chạy nodetool bằng tuỳ 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 -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring

Huỷ bỏ 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:

  1. Dừng apigee-cassandra bằng cách đi vào
    apigee-service apigee-cassandra stop
  2. Xoá dòng conf_cassandra-env_com.sun.management.jmxremote.ssl=true khỏi tệp /opt/apigee/customer/application/cassandra.properties.
  3. Đánh dấu vào những 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”
  4. Bắt đầu apigee-cassandra bằng cách nhập
  5. apigee-service apigee-cassandra start
  6. Xoá biến môi trường CASS_JMX_SSL nếu bạn đã đặt biến này.

    unset CASS_JMX_SSL
  7. Kiểm tra để đảm bảo rằng các lệnh dựa trên apigee-service như ring, stop, backup, v.v. đang hoạt động.
  8. Ngừng sử dụng nút chuyển --ssl bằng công cụ nút

Tắt tính năng xác thực JMX cho Cassandra

Cách tắt tính năng xác thực JMX cho Cassandra:

  1. Chỉnh sửa /opt/apigee/customer/application/cassandra.properties.
  2. Xoá dòng sau trong tệp:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. Chạy cấu hình trên Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. Khởi động lại Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  5. Lặp lại quá 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 để giám sát các thuộc tính JMX (MBeans) do JMX cung cấp:

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ê về Cassandra JMX

Tiếng JMX MBeans Thuộc tính JMX

Gia đình cột/ứng dụng/môi trường

Gia đình/ứng dụng/tổ chức cột

Cột Family/apprepo/apiproxy_revisions

Gia đình cột/ứng dụng/APIproxies

Cột gia đình/kiểm tra/kiểm tra

Cột gia đình/kiểm tra/kiểm tra_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

Sử dụng công cụ nút để quản lý các nút cụm

Tiện ích nốt công cụ là giao diện dòng lệnh dành cho Cassandra 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.

Có thể thực hiện các lệnh gọi sau trên tất cả nút cụm Cassandra:

  1. Thông tin về vòng chung (cũng có thể áp dụng cho một nút Cassandra): Tìm giá trị "Up" (Lên) 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 của mình 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

  2. Thông tin chung về nút (lệnh gọi cho 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
  3. Trạng thái của máy chủ tiết kiệm (API ứng dụng phân phát)
    nodetool [-u username -pw password] -h localhost statusthrift

    Kết quả của lệnh trên sẽ có dạng như sau:

    running

  4. Trạng thái của hoạt động truyền trực tuyến dữ liệu: Quan sát lưu lượng truy cập đối với 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 bài viết Giới thiệu về tiện ích nốt công cụ.

Tài nguyên Cassandra

Hãy 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ể giám sát 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ý 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 mặc định của bảng điều khiển quản lý là 8090. Để truy cập vào bảng điều khiển trên cổng mặc định này, hãy trỏ 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 thiết lập hoặc thông tin đăng nhập đã đặ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.

Giám sát hàng đợi và thông báo

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 chi tiết về hàng đợi đó trong phần chính trên giao diện người dùng. Trong chế độ xem chi tiết, bạn có thể thấy các Thuộc tính và số liệu thống kê trong hàng đợi, bao gồm cả thông tin về các thư đã gửi, đã đưa vào hàng đợi, tốc độ thư, 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 > Environmentalloggers > logfile. Trong khung hiển thị chính về thông tin giao diện người dùng, bạn có thể xem thông tin chi tiết về tệp nhật ký và tải các tệp nhật ký xuống.

Sử dụng API quản lý Qpid

Bạn có thể sử dụng API Apache Qpid Broker-J REST để tự động hoá các công việc quản lý và giám sát nhà môi giới. Để 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ể dùng các công cụ dòng lệnh để giám sát trình môi giới. Ví dụ:

curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"

Vườn thú Apache

Kiểm tra trạng thái của ZooKeeper

  1. Đảm bảo quá trình ZooKeeper đang chạy. ZooKeeper ghi một tệp PID vào opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. 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 với các cổng 2181 và 3888 trên mọi máy chủ ZooKeeper.
  3. Đảm bảo rằng 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.
  4. Kiểm tra trạng thái:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

Sử dụng từ gồm bốn chữ cái trong ZooKeeper

Bạn có thể giám sát ZooKeeper thông qua một tập hợp nhỏ các lệnh (từ gồm 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 trong Apache ZooKeeper.

Ví dụ:

  • srvr: Liệt kê toàn bộ 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à ứng dụng được kết nối.

Các lệnh sau có thể được phát tới cổng ZooKeeper:

  1. Chạy lệnh ruok gồm bốn chữ cái để kiểm tra xem máy chủ có đang chạy ở trạng thái không phải lỗi hay không. Phản hồi thành công sẽ trả về "imok".
    echo ruok | nc host 2181

    Trả về:

    imok
  2. Chạy lệnh gồm bốn chữ cái, stat, để liệt kê hiệu suất của máy chủ và số liệu thống kê về ứng dụng được 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
  3. Nếu không có netcat (nc), thì bạn có thể sử dụng python thay thế. Tạo một tệp có tên 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 Open LDAP để xem các yêu cầu cụ thể có được phân phối đúng cách hay không. Nói cách khác, kiểm tra một nội dung tìm kiếm cụ thể trả về kết quả phù hợp.

  1. Sử dụng ldapsearch (yum install openldap-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ả lệnh gọi API.
    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 đượ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 trong biểu mẫu:

    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
  2. Kiểm tra xem Máy chủ quản lý 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ể theo dõi bộ nhớ đệm OpenLDAP, từ đó giúp giảm số lần truy cập vào ổ đĩa, từ đó cải thiện hiệu suất của hệ thống. Việc theo dõi và điều chỉnh dung lượng bộ nhớ đệm trong máy chủ OpenLDAP có thể ảnh hưởng nghiêm trọng đế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.