Cách theo dõi

Edge for Private Cloud phiên bản 4.17.05

Tài liệu này mô tả các kỹ thuật giám sát của các thành phần được hỗ trợ bởi một triển khai Apigee Edge tại chỗ.

Bật JMX

JMX được bật theo mặc định cho Cassandra và bị tắt theo mặc định cho tất cả các thành phần Edge khác. Do đó, bạn phải bật JMX riêng cho từng thành phần.

Mỗi thành phần hỗ trợ JMX trên một cổng khác nhau. Bảng sau đây liệt kê cổng JMX và tệp mà bạn sửa đổi để bật JMX trên cổng đó:

Thành phần Cổng JMX Tệp
Máy chủ quản lý 1099 /opt/apigee/edge-management-server/bin/start
Bộ xử lý thông báo 1101 /opt/apigee/edge-mesage-processor/bin/start
Qpid 1102 /opt/apigee/edge-qpid-server/bin/start
Postgres 1103 /opt/apigee/edge-postgres-server/bin/start

Ví dụ: để bật JMX trên Máy chủ quản lý, hãy mở /opt/apigee/edge-management-server/bin/start trong trình chỉnh sửa. Bạn sẽ thấy dòng sau đây được dùng để khởi động Máy chủ quản lý:

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path 
-Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

Chỉnh sửa dòng này để thêm nội dung sau:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.local.only=false  
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 

Lưu ý rằng dòng này chỉ định số cổng JMX là 1099 cho Máy chủ quản lý. Đặt số cổng cho từng thành phần như được xác định trong bảng ở trên. Ví dụ:

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts 
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.local.only=false  
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 
-Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

Lưu tệp rồi khởi động lại thành phần. Ví dụ: để khởi động lại Máy chủ quản lý, hãy làm như sau:

> /opt/apigee/apigee-service/bin/ apigee-service edge-management-server restart

Bật tính năng xác thực JMX và đặt mật khẩu JMX

Quá trình giám sát cho Máy chủ quản lý, Bộ xử lý thông báo, Qpid và Postgres đều sử dụng JMX. Theo mặc định, quyền truy cập JMX từ xa không yêu cầu mật khẩu.

Để bật tính năng xác thực JMX, mỗi thành phần đều có một thao tác change_jmx_auth mà bạn sử dụng để bật/tắt tính năng xác thực và đặt thông tin xác thực JMX.

Để bật tính năng xác thực JMX, hãy dùng lệnh sau:

>  /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile

trong đó:

  • comp là edge-management-server, edge-message-processor, edge-qpid-server, hoặc edge-postgres-server.
  • Các lựa chọn bao gồm:
    • -u: tên người dùng
    • -p: mật khẩu
    • -e: y (bật) hoặc n (tắt)
  • Tệp cấu hình bao gồm:
    • JMX_USERNAME=username
    • JMX_ENABLED=y/n
    • JMX_PASSWORD=password (nếu không được đặt hoặc không được truyền bằng -p, bạn sẽ được nhắc)

Ví dụ: để sử dụng các tuỳ chọn trên dòng lệnh, hãy làm như sau:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y

Nếu bạn có tệp cấu hình:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile

Nếu bạn đang chạy Edge trên nhiều nút, hãy chạy lệnh này trên tất cả các nút, chỉ định cùng một tên người dùng và mật khẩu.

Để tắt tính năng xác thực JMX sau này, hãy dùng lệnh:

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n

Máy chủ quản lý

Sử dụng JConsole để theo dõi quy trình kiểm tra tình trạng hệ thống và xử lý thông tin

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à quy trình kiểm tra tình trạng. Bằng cách sử dụng JConsole, bạn có thể sử dụng số liệu thống kê JMX do Máy chủ quản lý (hoặc bất kỳ máy chủ nào) cung cấp và hiển thị các số liệu đó trong giao diện đồ hoạ. Để biết thêm thông tin về cách sử dụng JConsole, hãy xem http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html.

Sử dụng JConsole và URL dịch vụ sau đây để theo dõi các thuộc tính JMX (MBean) được cung cấp qua JMX.

service:jmx:rmi:///jndi/rmi://<ip address>:<port>/jmxrmi

trong đó <ip address> là địa chỉ IP của Máy chủ quản lý (hoặc máy chủ tương ứng). Theo mặc định, cổng là 1099 cho Máy chủ quản lý.

Bảng sau đây cho thấy số liệu thống kê chung về JMX:

JMX MBeans

Thuộc tính JMX

Bộ nhớ

HeapMemoryUsage

NonHeapMemoryUsage

Cách sử dụng

Lưu ý: Giá trị thuộc tính sẽ được hiển thị theo 4 giá trị: committed, init, max và used.

Sử dụng các bước kiểm tra API của Edge Application

Bạn có thể kiểm tra API trên Máy chủ quản lý (hoặc bất kỳ máy chủ nào) bằng cách gọi lệnh CURL sau:

curl http://<host>:8080/v1/servers/self/up 

Trong đó, <host> là địa chỉ IP của Máy chủ quản lý.

Lệnh gọi này trả về "true" và "false". Nếu đúng, tức là nút đang hoạt động và dịch vụ Java đang chạy.

Nếu bạn không nhận được phản hồi HTTP 200 (OK), thì Edge không thể phản hồi các yêu cầu cổng 8080.

Khắc phục sự cố

  1. Đăng nhập vào máy chủ và chạy lệnh sau:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. Nếu dịch vụ không chạy, hãy khởi động dịch vụ:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server start

Sử dụng Edge Ứng dụng – Kiểm tra người dùng, tổ chức và hoạt động triển khai

Máy chủ quản lý đóng vai trò quan trọng trong việc kết hợp tất cả các gói khác trong mỗi lượt cài đặt tại cơ sở. Bạn có thể kiểm tra trạng thái của người dùng, tổ chức và hoạt động triển khai trên máy chủ quản lý bằng cách đưa ra các lệnh sau:

curl -u userEmail:password http://localhost:8080/v1/users
curl -u userEmail:password http://localhost:8080/v1/organizations
curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments

Hệ thống sẽ hiển thị trạng thái "đã triển khai" cho tất cả các cuộc gọi. Nếu các cách này không hiệu quả, hãy làm như sau:

  1. Kiểm tra nhật ký Máy chủ quản lý (tại <inst_root>/apigee/var/log/edge-management-server) để xem có lỗi nào không.
  2. Thực hiện lệnh gọi đến Máy chủ quản lý để kiểm tra xem máy chủ có hoạt động đúng cách hay không.
  3. Xoá máy chủ khỏi ELB rồi khởi động lại Máy chủ quản lý.
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart

Bộ định tuyến

Bạn có thể kiểm tra API trên Bộ định tuyến (hoặc bất kỳ máy chủ nào) bằng cách gọi lệnh CURL sau:

curl http://<host>:8081/v1/servers/self/up

Trong đó, máy chủ lưu trữ là địa chỉ IP của Bộ định tuyến.

Lệnh gọi này trả về "true" và "false". Nếu đúng, tức là nút đang hoạt động và dịch vụ Bộ định tuyến đang chạy.

Nếu bạn không nhận được phản hồi HTTP 200 (OK), thì Edge sẽ không thể phản hồi các yêu cầu về cổng 8081.

Khắc phục sự cố

  1. Đăng nhập vào máy chủ và chạy các lệnh sau:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status
  2. Nếu dịch vụ không chạy, hãy khởi động dịch vụ
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start
  3. Sau khi khởi động lại, hãy kiểm tra để đảm bảo rằng thành phần đó đang hoạt động
    curl -v http://localhost:port/v1/servers/self/up

    Trong đó, port là 8081 cho Bộ định tuyến và 8082 cho Trình xử lý thông báo.

Bộ xử lý thông báo

Sử dụng JConsole để theo dõi quy trình kiểm tra tình trạng hệ thống và xử lý thông tin

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng 1101.

Sử dụng các bước kiểm tra API của Edge Application

Làm theo các bước tương tự như mô tả ở trên cho Bộ định tuyến.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 8082.

Sử dụng quy trình kiểm tra luồng thông báo JMX

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng 1101.

Máy chủ Qpid

Sử dụng JConsole để theo dõi quy trình kiểm tra tình trạng hệ thống và xử lý thông tin

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 1102.

Sử dụng quy trình kiểm tra API ứng dụng Edge

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 8083. Lệnh CURL sau đây cũng được hỗ trợ cho Máy chủ Qpid:

curl http://<qpid_IP>:8083/v1/servers/self

Máy chủ Postgres

Sử dụng JConsole để theo dõi quy trình kiểm tra tình trạng hệ thống và xử lý thông tin

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 1103.

Sử dụng quy trình kiểm tra API ứng dụng Edge

Làm theo các bước tương tự như mô tả ở trên cho Máy chủ quản lý.

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 8084. Lệnh CURL sau đây cũng được hỗ trợ cho Máy chủ Postgres:

curl http://<postgres_IP>:8084/v1/servers/self

Sử dụng Edge Kiểm tra môi trường và tổ chức ứng dụng

Bạn có thể kiểm tra tên tổ chức và môi trường được triển khai trên Máy chủ Postgres bằng cách đưa ra các lệnh CURL sau:

curl http:// <postgres_IP>:8084/v1/servers/self/organizations

Lưu ý: Đảm bảo rằng bạn sử dụng cổng – 8084.

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

Sử dụng tính năng kiểm tra axstatus của ứng dụng Edge

Bạn có thể xác minh trạng thái của máy chủ phân tích bằng cách đưa ra lệnh CURL sau.

curl -u userEmail:password http://<host>:<port>/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ả máy chủ phân tích. Kết quả của lệnh CURL ở trên được trình bày bên dưới:

{
  "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

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 tập lệnh giám sát tiêu chuẩn check_postgres.pl có tại http://bucardo.org/wiki/Check_postgres.

Lưu ý: Bạn cần cài đặt tập lệnh check_postgres.pl trong mỗi nút Postgres.

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

  1. Đảm bảo rằng bạn đã cài đặt perl-Time-HiRes.x86_64, một mô-đun Perl triển khai báo thức có độ phân giải cao, chế độ ngủ, gettimeofday và bộ đếm khoảng thời gian. Ví dụ: bạn có thể cài đặt bằng lệnh sau:
    yum install perl-Time-HiRes.x86_64

Kết quả mặc định của các lệnh gọi API sử dụng tập lệnh check_postgres.pl tương thích với Nagios. Sau khi bạn cài đặt tập lệnh, hãy thực hiện các bước kiểm tra sau:

  1. Kích thước cơ sở dữ liệu – 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. Kết nối đến cơ sở dữ liệu – 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
  3. Phạm vi cung cấp và hiệu suất của cơ sở dữ liệu – 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. Dung lượng ổ đĩa – 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. Tổ chức/môi trường đã tham gia – kiểm tra số lượng tổ chức và môi trường đã tham gia 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

Lưu ý: Vui lòng tham khảo http://bucardo.org/check_postgres/check_postgres.pl.html trong trường hợp bạn cần trợ giúp về cách sử dụng các lệnh trên.

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:

psql  -h /opt/apigee/var/run/apigee-postgresql/  -U apigee -d apigee

rồi 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 kiểm tra API trên máy postgres bằng cách gọi lệnh CURL sau:

http://<postgres_IP>:8084/v1/servers/self/health/

Lưu ý: Đảm bảo rằng bạn sử dụng cổng 8084.

Hàm 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" (KHÔNG HOẠT ĐỘNG).

Tài nguyên Postgres

Apache Cassandra

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 (MBean) được cung cấp qua JMX.

service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi

trong đó <địa chỉ IP> là địa chỉ IP của máy chủ 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.

Cách bật tính năng xác thực JMX để thêm mật khẩu:

  1. Chỉnh sửa /<inst_root>/apigee/customer/application/cassandra.properties. Nếu tệp không tồn tại, hãy tạo tệp.
  2. Thêm nội dung sau vào tệp:
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. Lưu tệp.
  4. Sao chép các tệp sau từ thư mục $JAVA_HOME vào /<inst_root>/apigee/data/apigee-cassandra/:
    cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password

    cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
  5. Chỉnh sửa jmxremote.password và thêm tên người dùng và mật khẩu vào tệp:
    cassandra password

    trong đó password là mật khẩu JMX.
  6. Chỉnh sửa jmxremote.access và thêm vai trò sau:
    cassandra readwrite
  7. Đảm bảo các tệp thuộc sở hữu của "apigee" và chế độ tệp là 400:
    > chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
  8. Chạy lệnh configure trên Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  9. Khởi động lại Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Cách tắt tính năng xác thực sau này:

  1. Chỉnh sửa /<inst_root>/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:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. Khởi động lại Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

Số liệu thống kê về Cassandra JMX

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 tiện ích nodetool để quản lý các nút cụm

Tiện ích nodetool (giao diện dòng lệnh cho Cassandra) được 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 <inst_root>/apigee/apigee-cassandra/bin.

Để biết thêm thông tin về tiện ích nodetool, hãy xem http://www.datastax.com/docs/1.0/references/nodetool.

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ụm Cassandra:

  1. Thông tin chung về vòng (cũng có thể áp dụng cho một nút Cassandra): Tìm "Up" (Lên) và "Normal" (Bình thường) cho tất cả các nút.
    [host]# nodetool -h localhost ring

    Kết quả của lệnh trên sẽ có dạng như sau:
    Address DC Rack Status State Load Owns Token
    192.168.124.201 dc1 ra1 Up Normal 1.67 MB 33,33% 0
    192.168.124.202 dc1 ra1 Up Normal 1.68 MB 33,33% 56713727820156410577229101238628035242
    192.168.124.203 dc1 ra1 Up Normal 1.67 MB 33,33% 113427455640312821154458202477256070484
  2. Thông tin chung về các nút (gọi cho mỗi nút)
    nodetool -h localhost info

    Kết quả của lệnh trên sẽ có dạng như sau:
    Token : 0
    Gossip active : true
    Load : 1.67 MB
    Generation No : 1361968765
    Thời gian hoạt động (seconds) : 78108
    Bộ nhớ Heap (MB) : 46,80 / 772,00
    Trung tâm dữ liệu : dc1
    Rack : ra1
    Ngoại lệ : 0
  3. Trạng thái của máy chủ thrift (phục vụ API ứng dụng)
    host]# nodetool -h localhost statusthrift

    Kết quả của lệnh trên cho thấy trạng thái là "running" (đang chạy).
  4. Trạng thái của các hoạt động truyền dữ liệu trực tuyến: Quan sát lưu lượng truy cập cho các nút cassandra
    nodetool -h localhost netstats 192.168.124.203

    Kết quả của lệnh trên sẽ có dạng như sau:
    Mode: NORMAL
    Nothing streaming to /192.168.124.203
    Nothing streaming from /192.168.124.203
    Pool Name Active Pending Completed
    Commands n/a 0 1688
    Responses n/a 0 292277

Giám sát Cassandra (Giao diện người dùng)

Tham khảo URL của datastax opscenter: http://www.datastax.com/products/opscenter.

Tài nguyên Cassandra

Tham khảo URL sau: http://www.datastax.com/docs/1.0/operations/monitoring.

Apache ZooKeeper

Đang kiểm tra trạng thái ZooKeeper

  1. Đảm bảo quy trình ZooKeeper đang chạy. ZooKeeper ghi tệp PID vào <inst_root>/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 /<inst_root>/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:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

Sử dụng ZooKeeper Four Letter Words

Bạn có thể giám sát ZooKeeper thông qua một nhóm nhỏ các lệnh (từ có bốn 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: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

Ví dụ:

  • srvr: Liệt kê thông tin chi tiết đầy đủ về máy chủ.
  • stat: Liệt kê thông tin chi tiết ngắn gọn cho máy chủ và ứng dụng đã kết nối.

Bạn có thể phát các lệnh sau đến 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 có 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 stat gồm bốn chữ cái để liệt kê hiệu suất của máy chủ và số liệu thống kê về máy 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

    Lưu ý: Đôi khi, bạn cần xem ZooKeeper có đang ở Chế độ: leader, follower hay observer hay không.
  3. Nếu không có netcat (nc), 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

OpenLDAP

Bài kiểm tra cấp độ LDAP

Bạn có thể theo dõi OpenLDAP để xem các yêu cầu cụ thể có được phân phát đúng cách hay không. Nói cách khác, hãy kiểm tra xem một cụm từ tìm kiếm cụ thể có trả về kết quả phù hợp hay không.

  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 được 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 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 phản hồ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
  2. Kiểm tra xem Máy chủ quản lý có còn kết nối với vấn đề về LDAP hay không:
    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 OpenLDAP để 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à sau đó điều chỉnh kích thước 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ý (<inst_root>/apigee/var/log) để lấy thông tin về bộ nhớ đệm.