Tích hợp Prometheus & Grafana
Triển khai vergeos-exporter để thu thập số liệu vSAN, cụm và node theo định dạng Prometheus, cấu hình dashboard Grafana và tích hợp với AlertManager để giám sát chủ động.
Tại sao các chỉ số bên ngoài quan trọng
Bảng điều khiển VergeOS cung cấp tình trạng và phân tích theo thời gian thực, nhưng các chiến lược giám sát doanh nghiệp thường yêu cầu một kho lưu trữ tập trung, theo chuỗi thời gian, có thể tổng hợp số liệu trên nhiều hệ thống, lưu giữ dữ liệu vượt quá cửa sổ 45 ngày trong giao diện, và kích hoạt các quy tắc cảnh báo tinh vi. Trình vergeos-exporter lấp đầy khoảng trống này bằng cách hiển thị các chỉ số VergeOS ở định dạng Prometheus -- tiêu chuẩn thực tế cho giám sát cloud-native.
Khi exporter chạy, bạn có được phân tích xu hướng dài hạn, tương quan giữa các hệ thống, và tích hợp với các pipeline cảnh báo hiện có -- tất cả mà không cần sửa đổi chính hệ thống VergeOS.
Trình xuất vergeos-exporter
Tính năng vergeos-exporter là một công cụ mã nguồn mở do Verge duy trì trong verge-io/vergeos-exporter kho lưu trữ GitHub. Nó kết nối với VergeOS REST API, thu thập các chỉ số hạ tầng, và hiển thị chúng trên một điểm cuối HTTP mà Prometheus quét theo khoảng thời gian có thể cấu hình.
Các chỉ số được hiển thị
Exporter thu thập ba nhóm chỉ số:
Chỉ số lớp vSAN
Dung lượng, mức sử dụng, và phân bổ theo từng lớp. Số lượng giao dịch và sửa chữa. Giám sát trạng thái ổ đĩa (online, offline, repairing, initializing, verifying, noredundant, outofspace). Dữ liệu nhiệt độ và tình trạng ổ đĩa. Các thao tác đọc/ghi và IOPS.
Chỉ số cụm
Số nút trên mỗi cụm. Mức sử dụng RAM, CPU, và đĩa. Trạng thái đồng bộ và tình trạng.
Chỉ số nút
Mức sử dụng CPU và bộ nhớ theo từng nút. Thông lượng mạng và độ trễ. Trạng thái dịch vụ trên mỗi nút.
Một tài liệu tham chiếu đầy đủ về các chỉ số có sẵn trong metrics.md trong kho lưu trữ của exporter.
Kiến trúc: Quét dựa trên pull
vergeos-exporter tuân theo mô hình pull tiêu chuẩn của Prometheus. Prometheus khởi tạo kết nối bằng cách quét /metrics điểm cuối trên exporter theo một khoảng thời gian đã cấu hình (thường là 15–60 giây). Cách tiếp cận này có nghĩa là:
Không cần quy tắc tường lửa inbound được yêu cầu trên chính hệ thống VergeOS
Exporter có thể chạy trên bất kỳ máy chủ nào có quyền truy cập mạng vào API VergeOS
Nhiều phiên bản Prometheus có thể quét cùng một exporter để HA
Exporter tương thích với AlertManager -- các quy tắc cảnh báo của Prometheus hoạt động nguyên bản với các chỉ số được hiển thị
Cấu hình tài khoản dịch vụ
Trước khi triển khai exporter, hãy tạo một tài khoản dịch vụ chuyên dụng trong VergeOS với đặc quyền tối thiểu.
Từng bước: Tạo tài khoản dịch vụ cho exporter
Đi tới Hệ thống → Người dùng trong giao diện VergeOS
Nhấp Mới để tạo người dùng mới
Điền vào Người dùng mới biểu mẫu:
Tên người dùng:
prometheus-exporter(hoặc tên mô tả tương tự)Loại:
APIMật khẩu: một giá trị mạnh, được tạo ngẫu nhiên
Xác thực hai yếu tố: để bỏ chọn -- exporter xác thực qua tên người dùng/mật khẩu API
Nhấp Gửi để lưu
Người dùng Normal/API mới mặc định sẽ nhận list/read trên mọi thứ theo mặc định, đúng chính xác những gì exporter cần. Để thu hẹp phạm vi hơn nữa, hãy thu gọn các quyền cấp dưới Hệ thống → Quyền sau khi người dùng được tạo.
Thực hành tốt nhất về bảo mật
Không bao giờ dùng tài khoản quản trị cho exporter. Tài khoản dịch vụ chỉ cần quyền list và read để truy vấn chỉ số, vì vậy hãy giữ các mặc định hoặc thu hẹp chúng dưới Hệ thống → Quyền -- và bù đắp cho thông tin xác thực máy-máy bằng cách dùng mật khẩu mạnh, tạo ngẫu nhiên và hạn chế quyền truy cập mạng tới máy chủ exporter.
Các tùy chọn triển khai
vergeos-exporter hỗ trợ nhiều mô hình triển khai. Hãy chọn mô hình phù hợp nhất với hạ tầng giám sát của bạn.
Tùy chọn 1: Nhị phân độc lập
Các tệp nhị phân dựng sẵn có sẵn cho Linux, Windows và macOS (amd64 và arm64) từ trang GitHub Releases trang.
Exporter lắng nghe trên cổng 9888 theo mặc định. Ghi đè bằng cờ -web.listen-address nếu cần.
Tùy chọn 2: Dịch vụ systemd trên Linux
Đối với triển khai Linux trong môi trường production, hãy chạy exporter như một dịch vụ systemd được quản lý:
Tùy chọn 3: Dịch vụ Windows (NSSM)
Trên các máy chủ giám sát Windows, hãy dùng NSSM (Non-Sucking Service Manager) để chạy exporter như một dịch vụ Windows:
Tải NSSM và đặt
nssm.exeở một vị trí cố định (ví dụ,C:\Program Files\nssm\)Đăng ký dịch vụ:
Tùy chọn 4: Docker Compose
Kho lưu trữ bao gồm một ví dụ Docker Compose sẵn có tại examples/docker-compose/ gói exporter, Prometheus và Grafana vào một stack duy nhất -- lý tưởng cho việc đánh giá nhanh hoặc môi trường lab.
Ví dụ Docker Compose tự động lấy tệp nhị phân đúng theo nền tảng cho kiến trúc của bạn.
Cấu hình Prometheus
Thêm exporter làm mục tiêu quét trong tệp prometheus.yml:
Để giám sát nhiều môi trường VergeOS, hãy triển khai một exporter cho mỗi môi trường và thêm từng môi trường như một mục tiêu riêng (hoặc dùng relabeling của Prometheus để khám phá động).
Bảng điều khiển Grafana
vergeos-exporter đi kèm một dashboard Grafana được cấu hình sẵn (examples/grafana-dashboard.json) bao phủ ngay lập tức các chỉ số vSAN, cụm và nút.
Các bảng điều khiển của dashboard bao gồm
Hiệu suất vSAN
Đồng hồ đo dung lượng và mức sử dụng theo lớp, biểu đồ IOPS, thông lượng đọc/ghi
Tình trạng cụm
Số nút, trạng thái đồng bộ, mức sử dụng CPU và RAM tổng hợp
Chi tiết nút
CPU, bộ nhớ, thông lượng mạng và nhiệt độ theo từng nút
Tình trạng lưu trữ
Trạng thái ổ đĩa, trạng thái sửa chữa, bộ đếm lỗi
Nhập dashboard
Mở Grafana và điều hướng tới Bảng điều khiển → Nhập
Nhấp Tải lên tệp JSON và chọn
grafana-dashboard.jsontừ kho lưu trữ exporterChọn nguồn dữ liệu Prometheus từ menu thả xuống
Nhấp Nhập
Dashboard sẽ hoạt động ngay khi Prometheus nhận được số liệu từ exporter.
Xác minh
Sau khi triển khai, xác minh rằng exporter đang thu thập chỉ số:
Nếu điểm cuối trả về các chỉ số, Prometheus sẽ tự động quét chúng ở lần chu kỳ tiếp theo. Kiểm tra trang Mục tiêu của Prometheus (http://prometheus:9090/targets) để xác nhận vergeos job hiển thị trạng thái UP.
Danh sách kiểm tra khắc phục sự cố
Không trả về chỉ số
Xác minh URL, tên người dùng và mật khẩu VergeOS là chính xác
Kết nối bị từ chối
Xác nhận tiến trình exporter đang chạy và lắng nghe trên cổng 9888
Lỗi xác thực
Xác nhận tài khoản dịch vụ là Type = API với Xác thực hai yếu tố bỏ chọn
Chỉ số một phần
Xác minh tài khoản dịch vụ có list và read quyền
Mục tiêu Prometheus DOWN
Kiểm tra kết nối mạng giữa Prometheus và máy chủ exporter
Thời gian chờ quét
Tăng -scrape.timeout (mặc định 30 giây) cho các môi trường lớn
Tích hợp với AlertManager
Vì exporter hiển thị các chỉ số tiêu chuẩn của Prometheus, bạn có thể viết các quy tắc cảnh báo sẽ kích hoạt khi vượt ngưỡng:
AlertManager có thể định tuyến các cảnh báo này tới email, Slack, PagerDuty, OpsGenie, hoặc bất kỳ điểm cuối webhook nào -- tích hợp giám sát VergeOS vào quy trình quản lý sự cố hiện có của bạn.
Phương án thay thế: Tích hợp trực tiếp API với Zabbix
Nếu tổ chức của bạn dùng Zabbix thay vì Prometheus, bạn có thể truy vấn trực tiếp VergeOS REST API bằng các mục Zabbix HTTP Agent:
Tạo mã token API qua Hệ thống → Tài liệu API (Swagger UI)
Dùng các mục Zabbix HTTP Agent để thăm dò các điểm cuối như
/api/v4/vms,/api/v4/nodes,/api/v4/vnetsXác thực bằng cách POST tới
/api/sys/tokensvà truyền session token trong headerx-yottabyte-tokenheader
Exporter Prometheus vẫn là phương án được khuyến nghị cho hầu hết môi trường nhờ bộ chỉ số phong phú hơn và dashboard dựng sẵn.
Điểm chính
Tính năng vergeos-exporter hiển thị các chỉ số vSAN, cụm và nút trên cổng 9888 ở định dạng Prometheus tiêu chuẩn
Tạo một tài khoản dịch vụ chuyên dụng kiểu API -- list/read trên mọi thứ là mặc định đối với người dùng Normal/API mới
Triển khai dưới dạng nhị phân độc lập, dịch vụ systemd, dịch vụ Windows (NSSM), hoặc stack Docker Compose
Dashboard Grafana đi kèm Grafana cung cấp khả năng hiển thị ngay lập tức về tình trạng lưu trữ, cụm và nút
Prometheus AlertManager tích hợp cho phép cảnh báo chủ động về dung lượng, tình trạng ổ đĩa, và ngưỡng hiệu năng
Exporter sử dụng quét dựa trên pull -- không cần thay đổi tường lửa inbound trên hệ thống VergeOS
Cập nhật lần cuối
Nội dung này có hữu ích không?