SIEM/Log Management vsphere-folder-exporter: Tool thu thập metrics vCenter cho Prometheus (hỗ trợ gom nhóm theo Folder)

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

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.
Bước 1: Tạo môi trường ảo (Virtual Env) & Cài thư viện
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
Bước 2: Chuẩn bị file cấu hình config.yml
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
Bước 3: Tích hợp vào prometheus.yml
scrape_configs:
- job_name: vsphere_inventory
scrape_interval: 5m
scrape_timeout: 60s
static_configs:
- targets: ['localhost:9105']
labels:
source: vmware_inventory
Kiểm tra xem thu được metrics chưa:
1781503653633.png

Kết nối đến prometheus để thu thập metric tập trung:
1781503707412.png

Thu thập metrics cho NOC tập trung ở Dashboard:
1781503823553.png
 
Back
Top