Thường thì việc giám sát vCenter qua Prometheus đã có nhiều exporter hỗ trợ, nhưng này là nó tập trung vào việc tổ chức và gom nhóm dữ liệu theo từng Folder của máy ảo. Điều này cực kỳ tiện lợi khi bạn cần tính bill hoặc báo cáo tài nguyên cho từng phòng dự án dựa trên cấu trúc thư mục của vCenter.
Link github: https://github.com/Duci59/vsphere-exporter
Đây là một exporter được viết hoàn toàn bằng Python, sử dụng thư viện pyVmomi. Chức năng chính là quét thông tin inventory và tài nguyên (CPU, RAM, Disk) của các máy ảo (Virtual Machine), sau đó xuất ra /metrics theo chuẩn của Prometheus. Công cụ này cũng hỗ trợ kết nối và kéo dữ liệu từ nhiều vCenter cùng lúc.
Tool hỗ trợ sẵn các nhãn (labels) quan trọng như: folder, datacenter, vcenter, vm_name, và power_state.
Bước 2: Chuẩn bị file cấu hình config.yml
Bước 3: Tích hợp vào prometheus.yml
Kiểm tra xem thu được metrics chưa:
Kết nối đến prometheus để thu thập metric tập trung:
Thu thập metrics cho NOC tập trung ở Dashboard:
Link github: https://github.com/Duci59/vsphere-exporter
1. Giới thiệu chung
Đây là một exporter được viết hoàn toàn bằng Python, sử dụng thư viện pyVmomi. Chức năng chính là quét thông tin inventory và tài nguyên (CPU, RAM, Disk) của các máy ảo (Virtual Machine), sau đó xuất ra /metrics theo chuẩn của Prometheus. Công cụ này cũng hỗ trợ kết nối và kéo dữ liệu từ nhiều vCenter cùng lúc.
Các Metrics nổi bật
Tool hỗ trợ sẵn các nhãn (labels) quan trọng như: folder, datacenter, vcenter, vm_name, và power_state.
- Nhóm theo Folder:
- Tổng vCPU, Disk và RAM (cả đã cấp phát và đang sử dụng) theo từng folder.
- Tổng số lượng VM và số lượng VM đang bật (powered-on) trong folder.
- Nhóm theo máy ảo (VM):
- Chỉ số vCPU, RAM, Disk (cấp phát/sử dụng) cho từng VM chi tiết.
- CPU usage (MHz) thực tế của từng VM.
- Hệ thống:
- Trạng thái thu thập (Thành công = 1/Lỗi = 0) và thời gian phản hồi của từng vCenter.
Yêu cầu hệ thống chuẩn bị
- Môi trường: Python 3.8 trở lên kèm các thư viện: pyVmomi, prometheus-client, pyyaml.
- vCenter: Khuyến nghị dùng bản 7.0 trở lên.
- Tài khoản: Rất an toàn vì chỉ cần cấp quyền Read-only cho user để đọc VM inventory.
| sudo mkdir -p /opt/vsphere-exporter cd /opt/vsphere-exporter sudo apt update && sudo apt install python3-venv python3-pip -y sudo python3 -m venv venv sudo ./venv/bin/pip install pyVmomi prometheus-client pyyaml |
| exporter_port: 9105 collect_interval: 300 vcenters: - host: vcenter1.company.com username: monitor@vsphere.local password: "YourPassword1" ignore_ssl: true # Bật True nếu vCenter dùng Self-signed certificate |
| scrape_configs: - job_name: vsphere_inventory scrape_interval: 5m scrape_timeout: 60s static_configs: - targets: ['localhost:9105'] labels: source: vmware_inventory |
Kết nối đến prometheus để thu thập metric tập trung:
Thu thập metrics cho NOC tập trung ở Dashboard: