Edge for Private Cloud phiên bản 4.18.05
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 cách triển khai Apigee Edge tại chỗ.
Tổng quan
Edge hỗ trợ một số cách để nhận 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 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:
Dịch vụ | JMX:* Mức sử dụng bộ nhớ |
Mgmt API: Kiểm tra dịch vụ |
API quản lý: Trạng thái của người dùng/tổ chức/ quá trình triển khai |
API Mgmt: axstatus |
Kiểm tra cơ sở dữ liệu | Trạng thái của apigee-service |
---|---|---|---|---|---|---|
Máy chủ quản lý | ||||||
Trình xử lý tin nhắn | ||||||
Postgres | ||||||
Qpid | ||||||
Bộ định tuyến | ||||||
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 | |
* Trước khi có thể sử dụng JMX, bạn phải bật JMX như mô tả trong bài viết Bật JMX. |
Cổng giám sát JMX và API quản lý
Mỗi thành phần hỗ trợ các lệnh gọi giám sát JMX và API quản lý trên các cổng khác nhau. 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ủ:
Thành phần | Cổng JMX | Cổng API quản lý |
---|---|---|
Máy chủ quản lý | 1099 | 8080 |
Bộ định tuyến | 1100 | 8081 |
Trình xử lý tin nhắn | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
Sử dụng JMX
Các quy trình giám sát cho Máy chủ quản lý, Trình xử lý thông báo, Qpid và Postgres đều sử dụng JMX. Tuy nhiên, theo mặc định, JMX chỉ được bật cho Cassandra và bị tắt cho tất cả các thành phần Edge khác. Do đó, bạn phải bật JMX riêng lẻ cho từng thành phần thì mới có thể giám sát các thành phần đó.
Tính năng xác thực JMX không được bật theo mặc định. Bạn có thể bật tính năng xác thực JMX cho tất cả các thành phần ngoại trừ Cassandra.
Bật JMX
Theo mặc định, JMX chỉ được bật cho Cassandra và bị tắt cho tất cả các thành phần Edge khác. Phần này mô tả cách bật JMX cho các thành phần Edge khác.
Cách bật JMX:
- Chỉnh sửa tệp cấu hình của thành phần. Tệp này nằm ở
opt/apigee/edge-component_name/bin/start
. Trong môi trường phát hành chính thức, các tệp cấu hình này sẽ nằm trên các máy khác nhau.Chọn trong số các vị trí tệp sau đây trên mỗi máy chủ:
- Máy chủ quản lý:
/opt/apigee/edge-management-server/bin/start
- Bộ xử lý thông báo:
/opt/apigee/edge-message-processor/bin/start
- Postgres:
/opt/apigee/edge-postgres-server/bin/start
- Qpid:
/opt/apigee/edge-qpid-server/bin/start
- Bộ định tuyến:
/opt/apigee/edge-router/bin/start
Ví dụ: tệp cấu hình của Máy chủ quản lý trên máy chủ của máy chủ này nằm ở
/opt/apigee/edge-management-server/bin/start
. - Máy chủ quản lý:
- Thêm các tuỳ chọn
com.sun.management.jmxremote
sau vào dòngexec
bắt đầu thành phần:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
Trong đó, port_number là cổng JMX cho dịch vụ. Để biết số cổng JMX của dịch vụ, hãy xem phần cổng giám sát JMX và API Quản lý.
Ví dụ: để bật JMX trên Máy chủ quản lý, hãy thêm đoạn mã sau vào tệp cấu hình của 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 \ -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 \ $* $debug_options com.apigee.kernel.MicroKernel
Ví dụ này chỉ định cổng 1099 cho Máy chủ quản lý. Như đã đề cập trước đó, mỗi dịch vụ đều có số cổng riêng.
Dòng đã chỉnh sửa trong tệp cấu hình sẽ có dạng như sau:
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 -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 $* $debug_options com.apigee.kernel.MicroKernel
- Lưu tệp cấu hình.
- Khởi động lại thành phần bằng lệnh
restart
.Ví dụ: để khởi động lại Máy chủ quản lý, hãy thực thi lệnh sau:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Tính năng xác thực cho JMX không được bật theo mặc định. Bạn có thể bật tính năng xác thực JMX cho tất cả các thành phần ngoại trừ Cassandra, như mô tả trong phần Bật tính năng xác thực JMX.
Bật tính năng xác thực JMX
Tính năng xác thực JMX không được bật theo mặc định. Bạn có thể bật tính năng xác thực JMX cho tất cả các thành phần ngoại trừ Cassandra.
Để bật tính năng xác thực JMX, hãy thực thi thao tác change_jmx_auth
sau trên tất cả các nút:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
Trong trường hợp:
- component là một trong những giá trị sau:
edge-management-server
edge-message-processor
edge-postgres-server
edge-qpid-server
edge-router
- options chỉ định những thông tin sau:
-u username
-p password
-e [y|n]
(bật hoặc tắt)
- config_file chỉ định vị trí của tệp cấu hình mà bạn xác định
những nội dung sau:
JMX_USERNAME=username
JMX_ENABLED=y|n
JMX_PASSWORD=password
(nếu không được đặt hoặc không được truyền vào bằng-p
, bạn sẽ được nhắc)
Bạn có thể sử dụng các tuỳ chọn dòng lệnh hoặc tệp cấu hình để xác định tên người dùng, mật khẩu và trạng thái bật/tắt. Bạn không chỉ định cả một nhóm tuỳ chọn và một tệp cấu hình.
Ví dụ sau đây bật tính năng xác thực JMX cho Máy chủ quản lý bằng cách sử dụng các tuỳ chọn dòng lệnh:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
Ví dụ sau đây sử dụng tệp cấu hình thay vì các tuỳ chọn dòng lệnh:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
Nếu bạn đang chạy Edge trên nhiều nút, hãy chạy lệnh 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 trên dòng lệnh, hãy sử dụng tuỳ chọn "-e n", như ví dụ sau:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
Theo dõi bằng JConsole
Sử dụng JConsole (một công cụ tuân thủ JMX) để quản lý và theo dõi tình trạng kiểm tra và thống kê quy trình. Với JConsole, bạn có thể sử dụng số liệu thống kê JMX do máy chủ hiển thị và hiển thị số liệu thống kê đó trong giao diện đồ hoạ. Để biết thêm thông tin, hãy xem bài viết Sử dụng JConsole.
JConsole sử dụng URL dịch vụ sau đây để theo dõi các thuộc tính JMX (MBean) đượ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_number là số cổng JMX của máy chủ bạn muốn giám sát.
Ví dụ: để theo dõi Máy chủ quản lý, hãy đưa ra 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, đây là cổng quản lý JMX của máy chủ quản lý. Đối với các cổng khác, hãy xem phần Cổng giám sát JMX và API quản lý.
Bảng sau đây cho thấy số liệu thống kê JMX chung:
MBean JMX | Thuộc tính JMX |
---|---|
Bộ nhớ |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
Cách sử dụng |
|
Giám sát bằng API Quản lý
Edge bao gồm một số API mà bạn có thể sử 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à các bản triển khai. Phần này mô tả các API này.
Thực hiện 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 đề 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. 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 dịch vụ): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self |
Trả về thông tin về dịch vụ, bao gồm:
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 khác nhau cho mỗi 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 các số cổng của API Quản lý có thể dùng, hãy xem bài viết Các cổng giám sát JMX và 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 sẽ lấy trạng thái của Trình đị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ề Trình xử lý thông báo 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 trạng thái triển khai, tổ chức và người dùng của proxy trên Máy chủ quản lý và Trình xử lý thông báo 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 đối với Máy chủ quản lý hoặc 8082 đối với Bộ xử lý thông báo.
Lệnh 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ủ sẽ trả về trạng thái "đã triển khai" cho tất cả lệnh gọi. Nếu các cách này không hiệu quả, hãy làm như sau:
- Hãy 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
- Bộ 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ới 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ủ 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 hợp sau:
- Máy chủ quản lý:
edge-management-server
- Trình xử lý tin nhắn:
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ụ không 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 lệnh
apigee-service status
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_number là cổng API Quản lý cho dịch vụ.
Ví dụ này giả định 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 API Quản lý, bạn phải chỉ định địa chỉ IP của máy chủ và đưa tên người dùng và 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ể sử dụng để kiểm tra trạng thái của nó. Các tiện ích này được mô tả trong các phần sau.
Kiểm tra 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 đưa ra 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 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ả 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 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:
- 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, 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 gói này bằng cách sử 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 v7, hãy cài đặt RPM
perl-Data-Dumper.x86_64
.
Đầu ra củacheck_postgres.pl
Đầu ra mặc định của các lệnh gọi API sử dụng check_postgres.pl
là tương thích với Nagios. Sau khi bạn cài đặt tập lệnh, hãy kiểm tra những điều 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 đư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 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 đó chạy:
\d analytics."org.env.fact"
Kiểm tra trạng thái của quy trình postgres
Bạn có thể 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 khởi động và chạy, 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 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
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 (MBean) đượ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.
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.
Số liệu thống kê JMX của Cassandra
MBean JMX | Thuộc tính JMX |
---|---|
ColumnFamilies/apprepo/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits Cột gia đình/Kiểm toán/kiểm soát_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
Sử dụngnodetool để quản lý các nút cụm
Tiện ích nodetool
là một giao diện dòng lệnh cho Cassandra giúp 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ụm Cassandra:
- Thông tin chung về vòng quay (cũng có thể áp dụng cho một nút Cassandra): Tìm trạng thái "Up" (Đang hoạt động) và "Normal" (Bình thường) cho tất cả các nút.
nodetool -h localhost ring
Kết quả của lệnh trên 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 (lệnh gọi trên mỗi nút)
nodetool -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ủ tiết kiệm (phân phát API ứng dụng)
nodetool -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: Quan sát lưu lượng truy cập cho các nút cassandra:
nodetool -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 nội dung Giới thiệu về tiện ích nodetool.
Giám sát Cassandra (giao diện người dùng)
Tham khảo URL của trung tâm hoạt động datastax: http://www.datastax.com/products/opscenter.
Tài nguyên Cassandra
Hãy tham khảo URL sau: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache ZooKeeper
Kiểm tra trạng thái ZooKeeper
- Đảm bảo quy trình ZooKeeper đang chạy. ZooKeeper ghi tệp PID vào
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Kiểm thử 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.
- Đả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. - Kiểm tra trạng thái:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
Sử dụng từ gồm 4 chữ cái của 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 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 khách đã kết nối.
Các lệnh sau đây có thể được phát hành tới cổng ZooKeeper:
- 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 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
- 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ề các ứ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
- 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 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 OpenLDAP để xem liệu 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 một cụm từ tìm kiếm cụ thể trả về kết quả chính xác.
- 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ả cá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 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
- Kiểm tra xem Máy chủ quản lý có còn kết nối với LDAP bằng lệnh sau 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ể theo dõi bộ nhớ đệm OpenLDAP để 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 rồi điều chỉnh kích thước bộ nhớ đệm trong máy chủ OpenLDAP có thể ảnh hưởng nặng 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.