Mở đầu
Trong những bài viết trước, mình đã hướng dẫn chi tiết các bước để xây dựng Zabbix Server trên nền tảng RHEL/CentOS và thiết lập giám sát một số OS phổ biến như Linux, Windows; đi kèm với đó là nhiều service phổ biến như: MySQL, PostgreSQL, Tomcat, Docker,…
VMWare là một hạ tầng ảo hóa phổ biến và hầu như không thể thiếu trong bất kỳ một doanh nghiệp nào hiện nay. Do đó, quản lý và giám sát trạng thái của hạ tầng này là yêu cầu tiên quyết của đội ngũ vận hành hệ thống.
Tiếp tục trong chuỗi bài viết về Zabbix, hôm nay mình sẽ hướng dẫn thiết lập giám sát ESXi, vCenter, VMs (vSphere). Cùng mình quẩy thôi nào!!!
Yêu cầu hệ thống
- VMware vSphere: phiên bản 4.1 hoặc cao hơn
- ESXi: 6.0 hoặc cao hơn
- Zabbix server: 5.0 trở về sau
Tổng quan về kiến trúc WMware
Một cụm VMware bao gồm những thành phần chính sau:
- ESXi (hypervisor): lớp ảo hóa chạy trực tiếp trên server vật lý.
- vCenter Server: trung tâm cung cấp, cấu hình và quản lý hạ tầng. Chức năng chính của nó là cho phép bạn giám sát hiệu suất, thiết lập cảnh báo và kiểm soát quyền truy cập.
- vSphere client: công cụ để client truy cập vào vCenter.
Chắc hẳn các bạn đã là những “thánh” về ảo hóa VMware nên trong nội dung bài viết này, mình sẽ không tập trung phân tích sâu về kiến trúc của nó =]].
Zabbix làm được những gì?
Zabbix đã phát triển template dành riêng cho WMware, với khả năng thu thập được những data sau (để tránh hiểu sai nghĩa, mình xin phép trích nguyên văn nội dùng từ nguồn):
VMware Component | Metrics (items) |
---|---|
VMware Clusters | Status of cluster |
VMware Datastores | Datastore average read/write latency Datastore free space, Datastore total size |
VMware ESXi Hypervisors | Ballooned memory, Bios UUID, Cluster name, CPU cores, CPU frequency, CPU model, CPU threads, CPU usage, Datacenter name, Full name, Health state rollup, Model, Number of bytes received/transmitted, Number of guest VMs, Overall status, Total and Used memory, Uptime, Vendor, Version, Datastore average read/write latency, Datastore free space, Datastore total size, CPU ready time |
VMware Virtual Machines | Ballooned memory, Cluster name, Committed storage space, Compressed memory, CPU ready, CPU usage, Datacenter name, Guest memory usage, Host memory usage, ESXi Hypervisor name, Memory size, Number of virtual CPUs, Power state, Private memory, Shared memory, Swapped memory, Uncommitted storage space, Unshared storage space, Uptime |
Không lòng vòng nữa, giờ vào thẳng vấn đề monitor WMware trên Zabbix thôi nào.
Cấu hình monitor WMware
Bước 1: Các bước chuẩn bị trên Zabbix và vCenter
Tạo user trên VMware vCenter server
Zabbix sẽ giám sát WMware bởi API service (SDK), nên các bạn cần:
- Tạo một user trên vCenter
- Tạo role và thiết lập những quyề hạn cho user đó như bên dưới.
Chỉnh sửa file cấu hình của Zabbix server
Thêm mới (hoặc cập nhật) VMware parameters trong file cấu hình /etc/zabbix/zabbix_server.conf như sau:
StartVMwareCollectors=3 VMwareFrequency=60 VMwarePerfFrequency=60 VMwareCacheSize=32M VMwareTimeout=120
Lưu ý:
- Nếu không có biến “VMware collectors“, sẽ xuất hiện lỗi “no vmware collector processes started”.
- Giá trị “VMware collectors” được đề nghị theo công thức sau: StartVMwareCollectors: servicenum < StartVMwareCollectors < (servicenum * 2). Với servicenum là số lượng WMware services.
Restart Zabbix server:
systemctl restart zabbix-server
Bước 2: Discover VMware ESXi, Datastores, Clusters với Zabbix
Trong phần này, chúng ta sẽ tạo mới một host (vCenter) trên Zabbix.
Thiết lập VMware service API URL, username và password
Thêm mới vCenter host trên Zabbix sử dụng template Template VM VMware. Tiếp theo click và chuyển sang tab “Macros” để cấu hình những biến sau:
{$VMWARE.URL}
– VMware service SDK URL (https://server_dns_or_ip/sdk){$VMWARE.USERNAME}
– VMware service user name{$VMWARE.PASSWORD}
– VMware service user password
Zabbix sẽ sử dụng thông tin trên để xac thực và tập hợp metrics từ WMware bởi API (SOAP).
Kiểm tra lại trạng thái giám sát VMware đã làm việc
Sau khi mọi thành phần của WMware đã được khám phá (trong khoảng 1 đến 2 giờ), kiểm tra lại bằng công cụ “Latest data” như bên dưới:
Bước 3: Tìm hiểu tiến trình xử lý của WMware monitoring trên Zabbix
Lưu ý: vì Zabbix agent đã giám sát rất mạnh các VM ở cấp độ hệ điều hành nên thông thường chúng ta sẽ tắt tính năng “Discover VMware VMs” để tránh chồng chéo và tạo rác trên Zabbix server.
Lời kết
Như vậy là mình đã hoàn thành bài viết chi tiết các bước để thiết lập giám sát ESXi, vCenter, VMs (vSphere) trên Zabbix 5.0. Những chia sẻ trên đây chỉ là phần cơ bản nhất để Zabbix tập hợp được metrics từ VMware, ngoài ra các bạn có thể chủ động tìm hiểu và tạo thêm các item, trigger cho vCenter host để hoàn thiện hệ thống giám sát.
Nếu có bất kỳ thắc mắc hoặc góp ý về nội dung bài viết, các bạn có thể để lại phản hồi ngay bên dưới. Chúc các bạn thành công!
Nguồn:
Phần VMware service SDK URL (https://server_dns_or_ip/sdk) này, mình có chạy ra bên ngoài trình duyệt thì báo not found.
Hiện tại mình đang chạy vCenter bản 6.5 và các host chạy Esxi 6.0
Có thể giúp mình fix lỗi SDK này với !
https://server_dns_or_ip/sdk là SOAP API nên access trên Web Browser chắn chắn sẽ 404 nha bác. Zabbix sẽ gọi API này bằng user bác tạo và gán đúng quyền trên vCenter.
Về phần lỗi SDK, bác có thể mail chi tiết lỗi qua email [email protected] để mình xem thử nhé
Bác ơi, sau khi add vào Zabbix. Trên Zabbix, phần Info của 3 Items template VMWare nó trả về “Permission to perform this operation was denied”.
User em cấp quyền như ảnh bác chụp mà sao không được nhỉ ?
Đầu tiên bác thử dùng user admin của vCenter add vào Zabbix để test xem Zabbix có thu thập được metric từ VMWare không đã.
Nếu ok thì mới rà soát lại các quyền trên user mới khởi tạo, với lại bác đang thao tác trên VMware vSphere và ESXi phiên bản bao nhiêu vậy?
Thanks bác, e chạy được rồi.
E đang dùng VMware vSphere và ESXi bản 6.7
yup