Nhìn chung, khi thiết lập quá trình sản xuất, bạn nê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 cảnh báo mạng quản trị viên (hoặc toán tử) của lỗi hoặc lỗi. Mỗi lỗi phát sinh đều được báo cáo dưới dạng cảnh báo trên 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 giám sát hay nhất.
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: Các dịch vụ này bao gồm dịch vụ Quản lý Máy chủ, 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: Các dịch vụ này bao gồm Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, cơ sở dữ liệu PostgreSQL và Qpid.
Trong quá trình triển khai tại cơ sở của Apigee Edge, 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 | Số liệu thống kê ở cấp quy trình | Kiểm tra cấp độ API | Kiểm tra luồng thông báo | Thành phần cụ thể | |
---|---|---|---|---|---|---|
Các dịch vụ Java dành riêng cho Apigee |
Máy chủ quản lý |
|||||
Trình xử lý tin nhắn |
||||||
Máy chủ Qpid |
||||||
Máy chủ Postgres |
||||||
Dịch vụ bên thứ ba |
Apache Cassandra |
|||||
Người giữ vườn thú Apache |
||||||
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 bước giám sát như sau để theo dõi hiệu suất của Apigee Edge dùng để cài đặt Đá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ố tình trạng hệ thống như mức sử dụng CPU, bộ nhớ là rất quan trọng hoạt động tối đa và kết nối cổng ở mức cao hơn. Bạn có thể theo dõi các tham số sau để nhận 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.
- Bộ nhớ còn trống/đã 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 Space 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: Gói mạng và/hoặc byte được truyền và nhận được, 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 dữ liệu này bao gồm số liệu thống kê 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ư Qpid, Postgres Postmaster, Java, v.v., bạn có thể giám sát 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 quy trình Java của máy chủ Apigee hay không.
- 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 cao nhất, 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ớ của tất cả các quy trình Apigee. Ví dụ: bạn có thể theo dõi các tham số như mức sử dụng bộ nhớ vùng nhớ khối xếp, mức sử dụng bộ nhớ không thuộc vùng nhớ khối xếp đã sử dụng theo một quy trình.
Kiểm tra cấp API
Ở cấp độ API, bạn có thể giám sát xem một máy chủ có đang hoạt động cho API được sử dụng thường xuyên hay không
các cuộc gọi do Apigee cung cấp. 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à Trình xử lý thư 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. port số cụ thể 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ý tin nhắn: 8082
- v.v.
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 mỗi thành phần
Lệnh gọi này trả về giá trị "true" và "false". Để có kết quả tốt nhất, bạn cũng có thể thực hiện lệnh gọi API trực tiếp trên phần phụ trợ (dùng với phần mềm Apigee) để nhanh chóng xác định lỗi có xảy ra trong môi trường phần mềm Apigee hoặc trên phần phụ trợ hay không.
Kiểm tra luồng tin nhắn
Bạn có thể thu thập dữ liệu từ Bộ định tuyến và Trình xử lý thông báo về luồng thông báo mẫu/số liệu thống kê. Điều này cho phép bạn giám sát các yếu tố sau:
- Số lượng khách hàng đang hoạt động
- Số lượng phản hồi (10X, 20X, 30X, 40X và 50X)
- Lỗi kết nối
Việc 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 Cách giám sát.
Kiểm tra tình trạng bộ định tuyến của Bộ xử lý tin nhắn
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 hay không. Nếu phát hiện thấy Bộ xử lý thư bị chậm hoặc chậm, Bộ định tuyến có thể
sẽ tự động tắt Trình xử lý thư. Nếu điều đó xảy ra, Bộ định tuyến sẽ ghi một
"Đánh dấu là" thông báo đến tệp nhật ký 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ý Bộ định tuyến cho những thông báo này. Ví dụ: nếu Bộ định tuyến lấy một Trình xử lý thư không xoay được, nên 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 thực hiện kiểm tra tình trạng và xác định rằng Bộ xử lý thông báo hoạt động chính xác, Bộ định tuyến sẽ tự động đặt Trình xử lý thư về lại chế độ xoay. Chiến lược phát hành đĩa đơn Bộ định tuyến cũng ghi "Đánh dấu" thông báo cho 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