[Prometheus từ A đến Z] Phần 02. Giám sát Windows Server với Prometheus
Bài viết chỉ mang tính chất tham khảo và chia sẻ, các trong quá trình làm chắc chắn sẽ có bạn gặp bug. Nếu gặp bug thì vào telegram group ITFORVN để nhờ support từ cộng đồng. Hoặc các bạn thể có truy cập vào nguồn tham khảo để làm theo hướng dẫn chính thống. Ngoài ra bạn có thể tham gia Forum Google [prometheus-users] của nước ngoài để hỏi đáp.
Thân chào 500 anh em đã ủng hộ mình và ITFORVN trong suốt thời gian qua. Để tiếp nối cho cao trào giám sát hệ thống CNTT với Prometheus và Grafana đình đám trong thời gian qua. Mình sẽ cố gắng đi hết seri bài viết này trong tháng 05 này.
Hôm nay mình xin chia sẽ lại anh em cách để giảm sát tài nguyên và các dịch vụ trên Windows Server bằng Promethues và Grafana. Bên dưới mình có đính kèm các dashboard mình đã edit sẵn, nếu anh em thích cứ lấy về dùng nhé
Để giảm sát được các server Windows, chúng ta cần phải cài đặt wmi_exporter (Agent collectors) để Promethues có thể thu thập được metric từ các server Windows này.
Hình 01: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Nếu các bạn chỉ đơn thuần download các agent này cài đặt vào máy chủ Windows thì bạn chỉ có thể thu thập metric ở mức cơ bản, như hình ở bên trên. Dưới dây là hướng dẫn bạn thu thập metric của những services nâng cao cho service Windows. Ví dụ như: AD, DNS, SQL, IIS, …
Bước 1: Download wmi_exporter (bản mới nhất thì nó sẽ được đổi tên thành windows_exporter). Anh em chú ý để edit trong file dashboard nha.
Link download Agent: https://github.com/martinlindhe/wmi_exporter/releases
Có 2 phiên bản Agent:
wmi_exporter.exe (click to run, dành cho các bạn nào chỉ cần các metric được enable sẵn).
wmi_exporter.msi (dùng để cài đặt thông qua CMD, enable các tính năng thu thập metric nâng cao).
Khi cài agent qua CMD sẽ giúp các bạn chọn lọc thu thập những loại metric nào cần thu thập, giảm các loại metric không cần thiết, có thể thu thập nhiều loại metric hơn mặc định.
Mở port 9182 trên server linux, và windows server.
Bước 2: Mở CMD với quyền Administrator.
Bước 3: Chạy comment msiexec với cú pháp như sau:
msiexec /i C:\wmi_exporter-0.9.0-amd64.msi ENABLED_COLLECTORS="ad,cpu,cs,logon,memory,logical_disk,os,service,system,process,tcp,net,textfile,thermalzone"
Trong đó C:\wmi_exporter-0.9.0-amd64.msi là đường dẫn chứa file wmi_exporter.msi.
ENABLED_COLLECTORS=”các loại metric cần thu thập, tên của loại metric trong hình bên trên”
Tùy theo từng loại windows server mà lựa chọn metric cho phù hợp.
Bước 4: Kết quả sau khi cài đặt xong:
Hình 02: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Bước 5: Kiểm tra metric bạn truy cập như sau: http://ipserver:9182
Hình 03: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Bước 6: Tạo job trong prometheus để giám sát Windows Server này với nội dung sau:
nano /usr/local/prometheus/prometheus.yml
Nội như sau:
- job_name: 'windows'
static_configs:
- targets: ['10.10.10.8:9182']
labels:
hostname: DC01
type: windows
company: XYZDG
Tại đây mình thêm trường labels vào để dễ dàng filter metric.
Tương tự nếu bạn muốn add nhiều server windows trên cùng 1 job, bạn chỉ cần copy đoạn target và edit lại thông tin.
Hình 04: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Bước 7: Restart serivce prometheus
systemctl restart prometheus
systemctl status prometheus
Bước 8: Kiểm tra lại host được thêm vào prometheus thành công hay không.
Truy cập vào Prometheus sau đó chọn Status, target để kiểm tra.
Hình 05: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Bước 9: Tạo Dashboard monitor Windows server trên Grafana.
Truy cập vào Grafana, sau đó chọn Manage Dashboards như hình:
Hình 06: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Tại đây bạn có thể chọn New Dashboard để tạo mới (làm họa sĩ vẽ dashboard) hoặc Import (sử dụng những dashboard có sẳn rồi edit lại cho phù hợp). Tại đây chúng ta chọn Import.
Hình 07: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Tiếp tục chọn vào Upload .json file để import dashboard
Hình 08: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Sau khi chọn file cần import bạn cần chú ý các tham số sau:
Name : tên của dashboard.
Folder : thư mục chứa dashboard.
UID : số định danh của dashboard, nếu số này trùng thì khi bạn import dashboard củ sẽ bị ghi đè.
Hình 09: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Đây là kết quả sau khi bạn import dashboard thành công.
Hình 10: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Như vậy chúng ta có thể ứng dụng hướng dẫn này để giám sát dịch vụ AD, DNS, SQL, IIS, …
Bonus cho các bạn 2 dashboard của mình về AD, DNS và SQL
Hình 11: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Servera
Hình 12: [Prometheus từ A đến Z] Phần 02. Giám sát tài nguyên và dịch vụ trên Windows Server
Các bạn có thể sử dụng dashboard đã edit của mình https://drive.google.com/drive/folders/1cChzXeqjfCdiUyABYExb0ZYdk6buyfef.
Hoặc download các dashboard tùy ý thích tại đây https://grafana.com/grafana/dashboards?dataSource=prometheus&direction=asc&orderBy=name&search=wmi.
Links tham khảo:
https://github.com/martinlindhe/wmi_exporter
Tác giả: Nguyễn Hiếu – ITFORVN.COM
To you support to access: Nhóm Facebook ITFORVN
Tất cả bài viết về prometheus tại đây.
Giới thiệu về giải pháp giám sát hệ thống Prometheus và Grafana
Phần 01 – Cài đặt Prometheus và Grafana trên CentOS 07
Phần 02 – Giám sát Windows Server với Prometheus
Phần 03 – Giám sát firewall Fortigate với Prometheus
Phần 04 – Giám sát thiết bị mạng Cisco với Prometheus
Phần 05 – Giám sát firewall pfSense® và Linux Server với Prometheus
Phần 06 – Giám sát VMWARE với Prometheus
Phần 07 – Cấu hình alert trong Prometheus và gửi tin nhắn qua telegram