Nội dung cần theo dõi

Edge for Private Cloud v. 4.17.09

Nhìn chung, khi thiết lập chính thức, bạn cần bật cơ chế giám sát trong Apigee Edge để triển khai Đám mây riêng tư. Những kỹ thuật giám sát này sẽ cảnh báo cho quản trị viên (hoặc người vận hành) mạng về lỗi hoặc sự cố. Mọi lỗi tạo ra sẽ được báo cáo dưới dạng một cảnh báo trong Apigee Edge. Để biết thêm thông tin về cảnh báo, hãy xem phần Các phương pháp hay nhất về hoạt động giám sát.

Để dễ dàng, các thành phần của Apigee được phân loại chủ yếu thành 2 danh mục:

  • Dịch vụ máy chủ Java dành riêng cho Apigee – Bao gồm Máy chủ quản lý, Trình xử lý thông báo, Máy chủ Qpid và Máy chủ Postgres.
  • Dịch vụ bên thứ ba – Các dịch vụ này bao gồm Bộ định tuyến Nginx, Apache Cassandra, Apache ZooKeeper, OpenLDAP, cơ sở dữ liệu PostgreSQL và Qpid.

Trong quá trình triển khai Apigee Edge tại chỗ, bảng sau đây cung cấp thông tin nhanh về các thông số mà bạn có thể theo dõi:

Thành phần

Kiểm tra hệ thống

Thống kê cấp quy trình

Kiểm tra cấp độ API

Kiểm tra luồng thông báo

Cụ thể theo thành phần

Dịch vụ Java dành riêng cho Apigee

Máy chủ quản lý

?

?

?

Trình xử lý thông báo

?

?

?

?

Máy chủ Qpid

?

?

?

Máy chủ Postgres

?

?

?

Dịch vụ của bên thứ ba

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

Cơ sở dữ liệu PostgreSQL

?

?

Qpid

?

?

Bộ định tuyến Nginx

?

?

?

Nhìn chung, sau khi cài đặt Apigee Edge, bạn có thể thực hiện các nhiệm vụ giám sát sau đây để theo dõi hiệu suất của quá trình cài đặt Apigee Edge cho đám mây riêng.

Kiểm tra tình trạng hệ thống

Điều quan trọng là phải đo lường các thông số về tình trạng hệ thống như mức sử dụng CPU, mức sử dụng bộ nhớ và khả năng kết nối cổng ở cấp cao hơn. Bạn có thể theo dõi các tham số sau để biết thông tin cơ bản về tình trạng hệ thống.

  • Mức sử dụng CPU – Chỉ định số liệu thống kê cơ bản (Người dùng/Hệ thống/IO Chờ/Không hoạt động) về mức sử dụng CPU. Ví dụ: tổng CPU mà hệ thống sử dụng.
  • Free/Used Memory (Bộ nhớ trống/đã sử dụng) – Chỉ định mức sử dụng bộ nhớ hệ thống dưới dạng byte. Ví dụ: bộ nhớ thực mà hệ thống sử dụng.
  • Disk Usage Usage (Mức sử dụng dung lượng ổ đĩa) – Chỉ định thông tin hệ thống tệp dựa trên mức sử dụng ổ đĩa hiện tại. Ví dụ: dung lượng ổ đĩa cứng mà hệ thống sử dụng.
  • Tải trung bình – Chỉ định số lượng quy trình đang chờ để chạy.
  • Số liệu thống kê mạng – Các gói mạng và/hoặc byte được truyền và nhận, cùng với lỗi truyền tải về một thành phần được chỉ định.

Quy trình/Kiểm tra ứng dụng

Ở cấp quy trình, bạn có thể xem thông tin quan trọng về tất cả các quy trình đang chạy. Ví dụ: những số liệu này bao gồm số liệu thống kê về mức sử dụng bộ nhớ và CPU mà một quy trình hoặc ứng dụng sử dụng. Đối với các quy trình như qpidd, postgres postmaster, java, v.v., bạn có thể giám sát những thông tin sau:

  • Nhận dạng quy trình: Xác định một quy trình Apigee cụ thể. Ví dụ: bạn có thể theo dõi sự tồn tại của một quy trình java máy chủ Apigee.
  • Số liệu thống kê về luồng: Xem các mẫu tạo luồng cơ bản mà một quy trình sử dụng. Ví dụ: bạn có thể theo dõi số lượng luồng đỉnh, số lượng luồng cho tất cả các quy trình.
  • Mức sử dụng bộ nhớ: Xem mức sử dụng bộ nhớ cho tất cả các quy trình Apigee. Ví dụ: bạn có thể theo dõi các thông số như mức sử dụng bộ nhớ khối xếp, mức sử dụng bộ nhớ không phải khối xếp mà một quy trình sử dụng.

Kiểm tra cấp độ API

Ở cấp độ API, bạn có thể theo dõi xem máy chủ có đang hoạt động hay không đối với các lệnh gọi API thường dùng do Apigee làm proxy. Ví dụ: bạn có thể kiểm tra API trên Máy chủ quản lý, Trình định tuyến và Trình xử lý thông báo bằng cách gọi lệnh cURL sau:

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

Trong đó <host> là địa chỉ IP của thành phần Apigee Edge. Số <port> dành riêng cho từng thành phần Edge. Ví dụ:

Máy chủ quản lý: 8080

  • Bộ định tuyến: 8081
  • Trình xử lý thông báo: 8082
  • v.v.

Hãy xem các phần riêng lẻ bên dưới để biết thông tin về cách chạy lệnh này cho từng thành phần

Lệnh gọi này trả về "true" và "false". Để có kết quả tốt nhất, bạn cũng có thể đưa ra lệnh gọi API trực tiếp trên phần phụ trợ (mà phần mềm Apigee tương tác) để nhanh chóng xác định xem có lỗi trong môi trường phần mềm Apigee hay trên phần phụ trợ hay không.

Lưu ý: Để theo dõi các proxy API, bạn cũng có thể dùng API Health của Apigee. API Health thực hiện các lệnh gọi theo lịch đến proxy API và thông báo cho bạn khi các lệnh gọi đó không thành công và lý do. Khi lệnh gọi thành công, API Health sẽ cho bạn biết thời gian phản hồi và thậm chí có thể thông báo cho bạn khi độ trễ phản hồi cao. API Sức khoẻ có thể thực hiện lệnh gọi từ nhiều vị trí trên khắp thế giới để so sánh hành vi của API giữa các khu vực.

Kiểm tra luồng tin nhắn

Bạn có thể thu thập dữ liệu từ Trình định tuyến và Trình xử lý thông báo về mẫu/thống kê luồng thông báo. Điều này cho phép bạn giám sát các yếu tố sau:

  • Số lượng ứng dụng khách đang hoạt động
  • Số lượng phản hồi (10X, 20X, 30X, 40X và 50X)
  • Lỗi kết nối

Điều này giúp bạn cung cấp trang tổng quan cho luồng thông báo API. Để biết thêm thông tin, hãy xem:

Kiểm tra tình trạng của bộ định tuyến của Trình xử lý thông báo

Bộ định tuyến triển khai cơ chế kiểm tra tình trạng để xác định Bộ xử lý thông báo nào đang hoạt động như mong đợi. Nếu phát hiện Trình xử lý thông báo bị lỗi hoặc chậm, Trình định tuyến có thể tự động loại bỏ Trình xử lý thông báo khỏi chế độ xoay vòng. Nếu điều đó xảy ra, Trình định tuyến sẽ ghi thông báo "Mark Down" (Ghi chú) vào tệp nhật ký Trình định tuyến tại /opt/apigee/var/log/edge-router/logs/system.log.

Bạn có thể theo dõi tệp nhật ký của Trình định tuyến để biết những thông báo này. Ví dụ: nếu Trình định tuyến lấy một Trình xử lý thông báo ra khỏi chế độ xoay vòng, thì trình này sẽ ghi thông báo vào nhật ký ở dạng:

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = <MP_IP> at 1399409512159

2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /<MP_IP>:<PORT> Mark Down

trong đó /<MP_IP>:<PORT> là địa chỉ IP và số cổng của Bộ xử lý thông báo.

Nếu sau đó, Bộ định tuyến kiểm tra tình trạng và xác định rằng Trình xử lý thông báo đang hoạt động đúng cách, thì Bộ định tuyến sẽ tự động xoay Bộ xử lý thông báo trở lại. Trình định tuyến cũng ghi thông báo "Đánh dấu" vào nhật ký ở dạng:

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = <IP> at 1399410449054

2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from /<IP>:<PORT> Mark Up