Thông tin cần theo dõi

Edge for Private Cloud phiên bản 4.18.05

Thông thường, trong một chế độ thiết lập chính thức, bạn cần bật cơ chế giám sát trong quá trình triển khai Apigee Edge cho đám mây riêng tư. Các kỹ thuật giám sát này cảnh báo cho quản trị viên mạng (hoặc nhà mạng) về lỗi hoặc sự cố. Mỗi lỗi được tạo 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 bài viết Các phương pháp hay nhất về giám sát.

Để dễ dàng, các thành phần Apigee chủ yếu được phân loại thành hai 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ý, Bộ xử lý thông báo, Máy chủ Qpid và Máy chủ Postgres.
  • Dịch vụ của bên thứ ba: 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 tổng quan nhanh về các tham số mà bạn có thể theo dõi:

Thành phần Kiểm tra hệ thống Số liệu thống kê ở cấp quy trình Kiểm tra cấp độ API Kiểm tra luồng tin nhắn Thành phần cụ thể

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

Máy chủ quản lý

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

Máy chủ Qpid

Máy chủ Postgres

Dịch vụ 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 một bản cài đặt Apigee Edge cho đám mây riêng tư.

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

Việc đ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 là rất quan trọng. Bạn có thể theo dõi các tham số sau để nắm được 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/Chờ IO/Chờ) về mức sử dụng CPU. Ví dụ: tổng mức sử dụng CPU của hệ thống.
  • Free/Used Memory (Bộ nhớ trống/đã dùng): Chỉ định mức sử dụng bộ nhớ hệ thống theo byte. Ví dụ: bộ nhớ vật lý mà hệ thống sử dụng.
  • 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.
  • 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 về một thành phần được chỉ định.

Kiểm tra quy trình/ứ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ụ: các số liệu này bao gồm số liệu thống kê về việ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:

  • Xác định quy trình: Xác định một quy trình cụ thể của Apigee. Ví dụ: bạn có thể theo dõi sự tồn tại của một quy trình java của máy chủ Apigee.
  • Thống kê luồng: Xem các mẫu luồng cơ bản mà một quy trình sử dụng. Ví dụ: bạn có thể theo dõi số luồng cao nhất, số 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 của Apigee. Ví dụ: bạn có thể theo dõi các tham 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 được Apigee uỷ quyền. Ví dụ: bạn có thể thực hiện kiểm tra API trên Máy chủ quản lý, Bộ định tuyến và Bộ 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
  • Bộ xử lý thông báo: 8082
  • v.v.

Hãy xem các phần riêng 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.

Kiểm tra luồng thư

Bạn có thể thu thập dữ liệu từ Bộ định tuyến và Bộ xử lý thông báo về mẫu/thống kê luồng thông báo. Nhờ vậy, bạn có thể theo dõi những thông tin sau:

  • Số lượng khách hàng đang hoạt động
  • Số lượng câu trả lờ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 bài viết Cách giám sát.

Kiểm tra tình trạng của Bộ định tuyến trong Bộ xử lý thư

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 thấy Bộ xử lý thông báo bị hỏng hoặc chậm, Bộ định tuyến có thể tự động đưa Bộ xử lý thông báo ra khỏi chế độ xoay vòng. Nếu điều đó xảy ra, Bộ định tuyến sẽ ghi thông báo "Mark Down" (Đánh dấu là không hoạt động) vào tệp nhật ký của Bộ đị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 Bộ định tuyến để biết các thông báo này. Ví dụ: nếu Bộ định tuyến đưa một Bộ xử lý thông báo ra khỏi vòng quay, thì Bộ định tuyến sẽ ghi thông báo vào nhật ký dưới 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 thực hiện quy trình kiểm tra tình trạng và xác định rằng Bộ xử lý thông báo đang hoạt động đúng cách, thì Bộ định tuyến sẽ tự động đưa Bộ xử lý thông báo trở lại quy trình xoay vòng. Bộ định tuyến cũng ghi thông báo "Mark Up" (Đánh dấu) vào nhật ký theo biểu mẫu:

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