1. Sự sẵn sàng nhận thức phụ thuộc (tích hợp sẵn)
Máy chủ hiển thị hai điểm cuối probe có công việc khác nhau một cách cố ý:| Điểm cuối | Probe | Kiểm tra | Xác thực |
|---|---|---|---|
GET /health | liveness | quá trình đang hoạt động (luôn là {"status":"ok"}) | không |
GET /ready | readiness | có thể thực sự phục vụ: Postgres + ClickHouse có thể tiếp cận | không |
/ready trả về 200 với "status":"ready" và mọi check "ok" khi cả hai phụ thuộc cứng có thể tiếp cận, và 503 với "status":"not_ready" khi một trong hai không thể tiếp cận. Cả hai phản hồi đều có phần nội dung nhỏ:
"ok" khi một bộ đệm được cấu hình và "not_configured" nếu ngược lại; nó không bao giờ là "down".
Trên các manifest Kubernetes được đóng gói, probe readiness trỏ tới /ready và liveness ở lại /health. Hiệu quả: một máy chủ đang chạy nhưng không thể tiếp cận cơ sở dữ liệu của nó bị loại khỏi Service và hiển thị dưới dạng NotReady, một trạng thái mà giám sát cụm của bạn (bên dưới) có thể cảnh báo, trong khi liveness vẫn rẻ nên một sự cố phụ thuộc thoáng qua không bao giờ kích hoạt khởi động lại pod. Probe sử dụng ngưỡng lỗi rộng rãi nên một sự cố thoáng qua không bao giờ làm dao động các bản sao ra khỏi rotation.
2. Cảnh báo lỗi Pod với Robusta (tùy chọn)
Robusta là một monitor tương thích Kubernetes theo dõi máy chủ API và gửi các lỗi pod (CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending/NotReady, Failed, evictions) tới Slack. Vì nó quan sát mặt phẳng điều khiển thay vì hỏi AgentEye, nó cảnh báo ngay cả khi AgentEye không thể phục vụ hoàn toàn.
Robusta được vận chuyển dưới dạng một add-on tùy chọn trong gói phát hành. Bật nó bằng biểu đồ Helm Robusta tiêu chuẩn và tệp giá trị nhỏ được hiển thị bên dưới:
-
Thêm kho biểu đồ và nhận bot token của Slack (
xoxb-…) cho kênh:Vì cấu hình bên dưới giữ mọi thứ trong cụm (disableCloudRouting: true), token đến từ một ứng dụng Slack được lưu trữ tự: tạo một ứng dụng tạihttps://api.slack.com/apps, thêm phạm vi botchat:write, cài đặt nó vào không gian làm việc của bạn, sao chép Bot User OAuth Token (xoxb-…), và mời bot tới kênh (/invite @your-app). -
Tạo
values.yamlvới nhãn cho mỗi triển khai (clusterName) và kênh Slack của bạn, được phạm vi vào không gian tênagenteye: -
Cài đặt, ghim
--versionvào một bản phát hành biểu đồ Robusta đã được kiểm tra (releases) để bạn không bao giờ cài đặt một biểu đồ chưa được kiểm tra:
Những gì nó báo cáo
- Trạng thái pod Kubernetes (pod AgentEye nào bị lỗi và tại sao) và tag hình ảnh của mỗi pod, tức là phiên bản thành phần đang chạy.
- Không có dữ liệu sự kiện AgentEye và không có dữ liệu khách hàng bao giờ rời khỏi cụm.
- Các giá trị được đóng gói hạn chế cảnh báo vào không gian tên
agenteye, vì vậy khối lượng công việc không liên quan trong cụm tương tự không được báo cáo.
Một nơi cho mỗi triển khai
Trỏ Robusta của mỗi triển khai tới một kênh Slack được chia sẻ duy nhất, mỗi kênh cóclusterName riêng của nó. Mỗi cảnh báo được gắn thẻ với nhãn đó, vì vậy một kênh duy nhất hiển thị sức khỏe của toàn bộ đội hình của bạn, và bạn có thể biết triển khai nào bị ảnh hưởng trong nháy mắt.
Các sự cố cụm toàn bộ
Một người theo dõi trong cụm không thể báo cáo một sự cố cụm toàn bộ hoặc mạng (nó bị sự cố cùng với cụm). Nếu bạn cần điều đó, bật Robusta UI sink tùy chọn: đặtdisableCloudRouting: false và thêm một robusta_sink (với mã token từ robusta gen-config) vào sinksConfig. Nó thêm một bảng điều khiển đa cụm tổng hợp và đánh dấu bất kỳ cụm nào ngừng kiểm tra.
Khắc phục sự cố
Xem phần Giám sát Sức khỏe của enterprise-docs/troubleshooting.md để xem “không có cảnh báo nào đến” và “máy chủ tiếp tục flapNotReady”.
