VPS

Zabbix: giám sát nhiều server, khi nào hơn Prometheus?

Thanh Nguyễn Đăng 11 phút đọc 1 khối lệnh

Zabbix: giám sát nhiều server, khi nào hơn Prometheus?
Mục lục bài viết
  1. Zabbix hoạt động thế nào, khác Prometheus ở gốc rễ
  2. Ba việc Zabbix làm được mà Prometheus phải chắp vá
  3. Dựng thử Zabbix nhanh bằng Docker
  4. Cái giá phải trả: cơ sở dữ liệu và ổ đĩa
  5. Bảng chọn nhanh: bạn thuộc nhóm nào
  6. Chọn bộ giám sát theo quy mô đội
  7. Cơ sở dữ liệu giám sát phình nhanh hơn bạn tưởng
  8. Ba việc quan trọng hơn việc chọn công cụ
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: Zabbix là hệ giám sát trọn gói kiểu doanh nghiệp: có server, cơ sở dữ liệu, giao diện web quản trị, và agent cài trên từng máy. Nó hơn Prometheus ở ba điểm, giám sát thiết bị mạng qua SNMP, quản trị hoàn toàn bằng giao diện (không cần viết file cấu hình hay học ngôn ngữ truy vấn), và phân quyền nhiều người dùng. Đổi lại nó nặng hơn, cần cơ sở dữ liệu riêng và ăn đọc ghi ổ đĩa nhiều hơn hẳn.

Khi số máy vượt qua ngưỡng đếm trên đầu ngón tay, hoặc khi hệ thống của bạn có cả switch, router, tủ đĩa chứ không chỉ VPS Linux, thì cách tiếp cận nhẹ nhàng của Prometheus bắt đầu lộ giới hạn. Zabbix sinh ra cho đúng bối cảnh đó và đã phục vụ các phòng vận hành suốt hai thập kỷ. Bài này không tôn vinh bên nào, nó chỉ vẽ rõ ranh giới để bạn chọn đúng công cụ cho quy mô của mình.

Zabbix hoạt động thế nào, khác Prometheus ở gốc rễ

Zabbix theo mô hình cổ điển và trọn gói: Zabbix Server là bộ não, cơ sở dữ liệu (MySQL hoặc PostgreSQL) lưu toàn bộ lịch sử, frontend là giao diện web để cấu hình và xem, và Zabbix Agent cài trên máy cần giám sát. Khác biệt gốc rễ so với Prometheus nằm ở hai chỗ: dữ liệu lưu trong cơ sở dữ liệu quan hệ thay vì kho chuỗi thời gian chuyên dụng, và mọi cấu hình đều làm qua giao diện web rồi lưu vào cơ sở dữ liệu, thay vì viết file YAML.

Chi tiết thứ hai quyết định nhiều hơn bạn tưởng. Nó khiến Zabbix thân thiện với đội vận hành không thạo dòng lệnh và dễ phân quyền cho nhiều người; nhưng cũng khiến cấu hình khó đưa vào Git để soát lịch sử thay đổi, điều mà giới DevOps hiện đại rất coi trọng. Đây chính là lằn ranh chia hai trường phái, chứ không phải chuyện công cụ nào tân tiến hơn.

Ba việc Zabbix làm được mà Prometheus phải chắp vá

1. Thiết bị mạng qua SNMP. Switch, router, firewall phần cứng, UPS, tủ đĩa, những thứ không cài được agent, đều nói chuyện bằng SNMP, và Zabbix hỗ trợ sẵn từ trong lõi. Prometheus làm được nhưng phải dựng thêm cầu nối và cấu hình khá cực. Nếu hạ tầng của bạn có phòng máy thật, đây thường là lý do quyết định.

2. Tự động phát hiện. Zabbix quét dải mạng để tìm máy mới, tự gắn template phù hợp và bắt đầu giám sát mà không cần ai thêm cấu hình. Với môi trường hàng trăm máy hay thay đổi, tính năng này tiết kiệm rất nhiều công.

3. Phân quyền và quy trình. Nhiều nhóm người dùng, mỗi nhóm thấy phần hạ tầng của mình; lịch trực, leo thang cảnh báo theo cấp, ghi nhận ai đã tiếp nhận sự cố. Đây là những thứ một phòng vận hành có ca kíp cần, còn cá nhân quản vài VPS thì chẳng bao giờ đụng tới.

Ngược lại, Prometheus vượt trội ở môi trường container và hạ tầng thay đổi liên tục: nó tự khám phá container và dịch vụ mới qua tích hợp sẵn với Docker và Kubernetes, còn Zabbix ở mảng này chậm chân hơn.

Dựng thử Zabbix nhanh bằng Docker

Cách nhẹ nhàng nhất để nếm thử trước khi cam kết là chạy bằng Docker Compose, Zabbix phát hành sẵn image cho từng thành phần. Bộ tối thiểu gồm ba container: cơ sở dữ liệu, zabbix-server, và zabbix-web (frontend Nginx), cộng thêm zabbix-agent nếu muốn giám sát luôn chính máy đó. Sau khi chạy, mở giao diện web ở cổng 8080, đăng nhập bằng tài khoản mặc định Admin với mật khẩu zabbix: và đổi mật khẩu ngay lập tức, đây là một trong những cặp tài khoản mặc định bị dò nhiều nhất trên internet.

Quy trình cấu hình đầu tiên: Data collection → Hosts → Create host, đặt tên, khai địa chỉ IP của máy cần giám sát, rồi gắn template "Linux by Zabbix agent". Chỉ một thao tác gắn template đó là bạn có ngay hàng chục chỉ số cùng bộ ngưỡng cảnh báo mặc định do cộng đồng đúc kết, đây là điểm mạnh dễ chịu nhất của Zabbix so với việc tự viết từng luật.

Trên máy được giám sát, cài gói agent từ kho chính thức và trỏ tham số Server về địa chỉ Zabbix Server. Nhớ mở đúng cổng agent trong tường lửa và chỉ cho phép địa chỉ của server, đừng mở cho cả internet.

Cái giá phải trả: cơ sở dữ liệu và ổ đĩa

Đây là phần các hướng dẫn hay giấu. Zabbix ghi mọi giá trị thu thập được vào cơ sở dữ liệu, và với vài chục máy nhân vài chục chỉ số nhân chu kỳ vài chục giây, lượng ghi tích lũy rất nhanh. Hai cơ chế bạn phải hiểu và chỉnh ngay từ đầu: History (giữ giá trị thô, mặc định vài chục ngày) và Trends (giữ giá trị đã tổng hợp theo giờ, giữ lâu hơn nhiều). Rút ngắn History xuống mức thật sự cần và giữ Trends dài để vẫn xem được xu hướng năm, đó là cách giữ cơ sở dữ liệu không phình mất kiểm soát.

Về phần cứng: cơ sở dữ liệu của Zabbix là tải ghi ngẫu nhiên liên tục, đúng kịch bản mà ổ cứng quay chậm chạp hẳn và ổ NVMe tạo khác biệt lớn nhất. Nhiều đội chuyển từ ổ thường sang NVMe cho máy Zabbix và thấy độ trễ giao diện giảm rõ rệt mà không phải nâng CPU hay RAM. Nếu bạn định giám sát nhiều máy, hãy tính dung lượng và tốc độ ổ đĩa ngay từ khi chọn máy, và đọc thêm bài backup database vì mất cơ sở dữ liệu Zabbix là mất toàn bộ cấu hình lẫn lịch sử.

Bảng chọn nhanh: bạn thuộc nhóm nào

Tình huống của bạnNên chọn
Vài VPS Linux, chạy Docker, một mình quảnPrometheus + Grafana
Có switch, router, UPS, thiết bị SNMPZabbix
Hạ tầng Kubernetes, container sinh diệt liên tụcPrometheus
Nhiều người vận hành, cần phân quyền và lịch trựcZabbix
Muốn cấu hình lưu trong Git, làm theo lối hạ tầng như mãPrometheus
Đội vận hành quen giao diện, ngại dòng lệnhZabbix
Chỉ cần biết máy sống hay chết và cảnh báo cơ bảnUptime Kuma hoặc Netdata

Không ít nơi dùng cả hai mà vẫn hợp lý: Zabbix cho hạ tầng vật lý và mạng, Prometheus cho tầng ứng dụng và container, Grafana làm mặt tiền chung vẽ số liệu từ cả hai nguồn. Nếu chỉ có vài VPS và muốn thứ nhẹ nhất, bài giám sát VPS miễn phí mới là điểm khởi đầu đúng cho bạn.

Chọn bộ giám sát theo quy mô đội

Tình huốngNên chọnVì sao
Dưới 10 máy chủ, đội quen dòng lệnhBộ đôi nhẹ theo mô hình kéoDựng nhanh, ít thứ phải vận hành
Nhiều máy chủ, có cả thiết bị mạng và máy inHệ thống giám sát tổng hợpNó giám sát được thiết bị không cài được phần mềm thu thập
Cần giao diện cấu hình thay vì sửa tệpHệ thống giám sát tổng hợpÍt phải sửa tệp cấu hình hơn
Chủ yếu giám sát container và ứng dụng hiện đạiBộ đôi nhẹHệ sinh thái phong phú hơn ở mảng này
Chưa có ai vận hànhDịch vụ giám sát bên ngoàiTự dựng là thêm một thứ có thể chết

Cơ sở dữ liệu giám sát phình nhanh hơn bạn tưởng

TerminalCơ sở dữ liệu giám sát phình nhanh hơn bạn tưởngbash
# He thong giam sat tong hop dung mot co so du lieu quan he,# va no phinh nhanh hon nhieu nguoi tuong # Theo doi kich thuoc co so du lieumysql -e "SELECT table_schema, ROUND(SUM(data_length+index_length)/1024/1024/1024,2) gb  FROM information_schema.tables GROUP BY table_schema;" # Ba viec giam tai, lam ngay tu dau:# 1. Giam tan suat lay du lieu voi cac chi so it doi# 2. Dat thoi gian giu lich su ngan lai# 3. Bat co che gom du lieu cu thanh so trung binh thay vi giu tung diem # Neu bo qua ba viec nay: sau mot nam co so du lieu vai chuc gigabyte# va he thong giam sat tro thanh thu nang nhat tren may

Nghịch lý đáng biết: hệ thống giám sát dựng để cảnh báo khi ổ đĩa đầy, nhưng nếu không cấu hình thời gian giữ dữ liệu thì chính nó là thứ làm đầy ổ đầu tiên.

Ba việc quan trọng hơn việc chọn công cụ

  1. Đặt hệ thống giám sát trên máy khác với máy được giám sát. Cùng máy thì máy chết là cảnh báo cũng chết.
  2. Thử hệ thống cảnh báo thật một lần: tắt một dịch vụ, xem có nhận được cảnh báo không. Hệ thống chưa từng được thử là hệ thống chưa chắc hoạt động.
  3. Giới hạn số cảnh báo. Cảnh báo nào không dẫn tới hành động thì tắt, nếu không mọi người sẽ học cách bỏ qua tất cả.

Với đội nhỏ chỉ có vài máy, cân nhắc bắt đầu bằng công cụ nhẹ trước. Xem bài về giám sát miễn phí.

Câu hỏi thường gặp

Zabbix có miễn phí hoàn toàn không?

Phần mềm là nguồn mở và miễn phí không giới hạn số máy giám sát. Công ty phát triển bán dịch vụ hỗ trợ kỹ thuật, đào tạo và triển khai, nhưng bạn không bắt buộc mua gì để dùng đầy đủ tính năng.

Zabbix cần VPS cấu hình bao nhiêu?

Thử nghiệm với vài máy thì 2 vCPU và 4GB RAM là đủ. Giám sát vài chục máy nên có 4 vCPU, 8GB RAM và quan trọng nhất là ổ đĩa nhanh cho cơ sở dữ liệu. Dung lượng thì tính theo số chỉ số nhân chu kỳ nhân thời gian lưu, nên chốt chính sách lưu trữ trước khi chọn gói máy.

Đang dùng Prometheus, có nên chuyển sang Zabbix?

Chỉ chuyển khi bạn gặp đúng giới hạn của Prometheus: cần SNMP, cần phân quyền nhiều người, hoặc đội vận hành không làm việc được với file cấu hình. Còn nếu mọi thứ đang chạy tốt thì việc chuyển đổi tốn công mà không đổi lại giá trị tương xứng.

Zabbix giám sát được website và chứng chỉ SSL không?

Được, có sẵn kiểu kiểm tra web theo kịch bản nhiều bước và theo dõi hạn chứng chỉ, cùng bộ template dựng sẵn. Nếu chỉ cần đúng hai việc đó thì một công cụ nhẹ như Uptime Kuma đơn giản hơn nhiều so với dựng cả hệ Zabbix.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.