Tổng quan về Access Hub Agent
Bối cảnh
Access Hub quản lý kiểm kê hạ tầng, truy cập đặc quyền, IaC và phê duyệt cho nhiều công ty, mỗi công ty có thể có hàng nghìn máy chủ. Hiện chưa có dữ liệu sống về tình trạng của các máy. Access Hub Agent (gọi tắt Agent) là phần chạy trên từng máy để cung cấp dữ liệu đó, phối hợp với Access Hub Collector (gọi tắt Collector, data plane) và Access Hub (control plane).
Mục tiêu
- Cho biết máy chủ còn sống hay không, và tài nguyên (CPU, RAM, đĩa, mạng) đang thế nào.
- Chạy nhẹ, an toàn, không làm ảnh hưởng máy sản xuất.
- Cài đặt hàng loạt dễ dàng trên hàng nghìn máy Linux và Windows.
- Không mất dữ liệu khi mất mạng ngắn hạn.
- Không mở cổng vào máy chủ, không giữ thông tin đăng nhập vào máy.
- Cập nhật, thu hồi và xoay thông tin đăng nhập được từ trung tâm.
Phạm vi (GĐ 1 đến 3)
| Trong phạm vi | Giai đoạn |
|---|---|
| Thu thập CPU, tải, RAM, swap, đĩa, mạng, uptime (Linux) | 1 |
| Enroll bằng token, lưu thông tin đăng nhập an toàn, gửi số liệu, đệm đĩa, backoff | 1 |
Dịch vụ systemd, gói .deb, .rpm, script cài | 1 |
| Thu thập tương đương trên Windows, dịch vụ Windows, MSI | 2 |
| Kiểm tra port, TCP, HTTP, hạn chứng chỉ, trạng thái dịch vụ (cấu hình từ trung tâm) | 2 |
| Kiểm kê phần cứng và hệ điều hành | 2 |
| Xoay token, cấu hình từ xa có ETag, công cụ chẩn đoán | 2 |
| Cập nhật tự động có chữ ký, triển khai theo đợt, quay lui, mTLS tùy chọn | 3 |
Ngoài phạm vi
- Thực thi lệnh hoặc script từ xa (ADR 0005).
- Thu log, thu dấu vết ứng dụng (APM), giám sát tiến trình chi tiết theo dòng lệnh.
- Giám sát trong container hoặc Kubernetes (chỉ node vật lý và VM).
- macOS, BSD, AIX, Solaris.
- Windows Server 2012 R2 trở xuống, Windows 7 và 8 (trừ khi có quyết định hỗ trợ riêng).
- Đóng vai trò máy chủ nhận kết nối vào (agent không lắng nghe cổng nào).
Thuật ngữ
| Thuật ngữ | Nghĩa |
|---|---|
| Agent | Access Hub Agent, chương trình này, chạy dưới dạng dịch vụ trên máy chủ |
| Collector | Access Hub Collector, dịch vụ trung gian nhận dữ liệu từ agent |
| Access Hub | Ứng dụng Laravel quản lý, nơi người dùng thao tác |
| Enroll | Đăng ký một agent mới bằng License để nhận token riêng |
| License | Mã dùng một lần (hoặc ít lần), có hạn, tạo trong Access Hub |
| Agent token | Thông tin đăng nhập riêng của một agent sau khi enroll |
| Interval | Chu kỳ thu thập và gửi (mặc định 30 giây) |
| Series | Một chuỗi thời gian xác định bởi tên chỉ số và nhãn |
| WAL | Bộ đệm ghi trước trên đĩa, giữ số liệu chưa gửi |
| Check | Kiểm tra chủ động (port, http, cert, service) cấu hình từ trung tâm |
| Proto | Phiên bản giao thức agent-collector |
Nguyên tắc thiết kế
- Nhẹ và dự đoán được: ngân sách tài nguyên cố định (CPU trung bình 1% một lõi, RSS dưới 50 MB, binary dưới 20 MB), có giới hạn cứng.
- Chỉ đi ra: không lắng nghe cổng nào. Mọi giao tiếp do agent khởi tạo.
- Không mất dữ liệu vì mạng: đệm đĩa có giới hạn, gửi bù theo thứ tự thời gian.
- Không tin ngược: agent chỉ chấp nhận cấu hình theo lược đồ đã biết, không nhận mã hay lệnh.
- Một binary tĩnh: không phụ thuộc runtime hay thư viện hệ thống (không CGO), cùng mã nguồn cho mọi bản phân phối Linux.
- Thất bại êm: lỗi của một bộ thu không làm sập agent, mỗi bộ thu có thời gian chờ và cách ly lỗi.
- Danh tính lấy từ trung tâm: agent không tự khai
company_idhayserver_id, chỉ gửi số liệu cùng token. - Dễ chẩn đoán: lệnh
diagvàstatus, log rõ ràng, metric tự thân (agent_*). - Bảo mật mặc định: xác minh TLS bắt buộc, thông tin đăng nhập quyền tối thiểu, chạy không đặc quyền khi có thể.