Bạn đã bao giờ cảm thấy choáng ngợp trước hàng loạt dữ liệu và thông số khi quản lý một hệ thống mạng hay server phức tạp chưa? Việc giám sát hệ thống là một nhiệm vụ tối quan trọng, giúp phát hiện sớm các sự cố và đảm bảo hiệu suất hoạt động ổn định. Tuy nhiên, các công cụ giám sát truyền thống thường chỉ hiển thị dữ liệu dưới dạng văn bản hoặc các bảng số liệu khô khan, gây khó khăn trong việc phân tích và đưa ra quyết định nhanh chóng. Đây chính là lúc sự kết hợp giữa Grafana và Zabbix trên nền tảng CentOS 7 phát huy sức mạnh. Giải pháp này biến những con số phức tạp thành các biểu đồ trực quan, sinh động và dễ hiểu. Bài viết này AZWEB sẽ hướng dẫn bạn chi tiết từng bước, từ cài đặt, tích hợp cho đến cấu hình để xây dựng một hệ thống giám sát mạnh mẽ.

Giới thiệu về Grafana, Zabbix và CentOS 7
Để xây dựng một hệ thống giám sát hiệu quả, việc hiểu rõ vai trò của từng thành phần là vô cùng cần thiết. Mỗi công cụ đều đóng một vai trò riêng, và khi kết hợp lại, chúng tạo nên một giải pháp toàn diện. Hãy cùng AZWEB tìm hiểu về ba nhân tố chính trong bài hướng dẫn này: Grafana, Zabbix và CentOS 7.
Grafana là gì?
Grafana là một nền tảng phân tích và trực quan hóa dữ liệu mã nguồn mở hàng đầu hiện nay. Hãy tưởng tượng Grafana như một bảng điều khiển thông minh, nơi bạn có thể “vẽ” nên những biểu đồ, đồ thị và bảng số liệu từ nhiều nguồn dữ liệu khác nhau. Sức mạnh lớn nhất của Grafana nằm ở khả năng tạo ra các dashboard đa dạng và tùy biến cao, giúp bạn theo dõi mọi thông số quan trọng chỉ trong nháy mắt. Ưu điểm vượt trội của nó là khả năng kết hợp linh hoạt với rất nhiều nguồn dữ liệu như Zabbix, Prometheus, InfluxDB, hay MySQL, biến những dữ liệu thô thành những thông tin chi tiết và có ý nghĩa.
Zabbix là gì và vai trò trong giám sát hệ thống
Nếu Grafana là “bộ mặt” của hệ thống giám sát, thì Zabbix chính là “bộ não” thu thập và xử lý thông tin. Zabbix là một công cụ giám sát cấp doanh nghiệp, có khả năng theo dõi hàng ngàn thiết bị, từ server, máy ảo cho đến các thiết bị mạng. Vai trò chính của Zabbix là thu thập dữ liệu về hiệu suất và tính sẵn sàng của hạ tầng IT, bao gồm tài nguyên CPU, RAM, dung lượng ổ cứng, trạng thái dịch vụ và nhiều thông số khác. Zabbix thu thập dữ liệu này thông qua các agent được cài đặt trên server hoặc qua các giao thức mạng như SNMP, IPMI, sau đó lưu trữ chúng trong cơ sở dữ liệu để sẵn sàng cho việc phân tích và cảnh báo.
Tổng quan về CentOS 7
Để Grafana và Zabbix có thể hoạt động ổn định, chúng cần một nền tảng vững chắc, và CentOS 7 chính là lựa chọn lý tưởng. CentOS (Community ENTerprise Operating System) là một bản phân phối Linux miễn phí, được xây dựng dựa trên mã nguồn của Red Hat Enterprise Linux (RHEL). CentOS 7 nổi tiếng với tính ổn định, bảo mật cao và được cộng đồng hỗ trợ mạnh mẽ, khiến nó trở thành hệ điều hành cực kỳ phổ biến trong môi trường máy chủ doanh nghiệp. Việc cài đặt Grafana và Zabbix trên CentOS 7 mang lại lợi ích về sự tương thích, hiệu suất đáng tin cậy và một môi trường vận hành an toàn đã được kiểm chứng qua thời gian.

Các bước chuẩn bị trước khi cài đặt Grafana
Trước khi bắt tay vào cài đặt, việc chuẩn bị một môi trường sạch sẽ và đầy đủ các yếu tố cần thiết là bước quan trọng để đảm bảo quá trình diễn ra suôn sẻ. Giống như xây một ngôi nhà, bạn cần một nền móng vững chắc. Hãy cùng AZWEB thực hiện các bước kiểm tra và cài đặt các gói phụ thuộc cần thiết.
Kiểm tra phiên bản CentOS và cập nhật hệ thống
Đầu tiên, bạn cần đảm bảo rằng mình đang sử dụng đúng phiên bản CentOS 7. Việc này giúp tránh các vấn đề không tương thích có thể xảy ra. Hãy mở terminal và thực hiện lệnh sau để kiểm tra:
cat /etc/redhat-release
Kết quả trả về nên chứa thông tin về CentOS Linux release 7.x. Tiếp theo, điều quan trọng là cập nhật tất cả các gói phần mềm trên hệ thống lên phiên bản mới nhất để vá các lỗ hổng bảo mật và cải thiện tính ổn định. Sử dụng lệnh sau:
sudo yum update -y
Quá trình này có thể mất vài phút tùy thuộc vào số lượng gói cần cập nhật.
Cài đặt các gói phụ thuộc cần thiết
Grafana và plugin Zabbix có thể yêu cầu một số gói phụ thuộc để hoạt động chính xác. Mặc dù quá trình cài đặt Grafana qua yum thường sẽ tự động xử lý các gói phụ thuộc cơ bản, việc cài đặt trước một số công cụ hữu ích sẽ không bao giờ là thừa. Chẳng hạn, bạn có thể cần wget để tải file hoặc fontconfig để hiển thị đồ thị tốt hơn. Dù không bắt buộc ngay lúc này, việc đảm bảo hệ thống có đủ các gói hỗ trợ cơ bản sẽ giúp quá trình cài đặt và cấu hình sau này thuận lợi hơn.
Hướng dẫn cài đặt Grafana trên CentOS 7
Sau khi đã hoàn tất các bước chuẩn bị, chúng ta sẽ tiến hành cài đặt Grafana. Quá trình này khá đơn giản nhờ vào việc sử dụng repository chính thức của Grafana, giúp bạn dễ dàng cài đặt và nhận các bản cập nhật trong tương lai.
Thêm repository Grafana và cài đặt
Để hệ thống CentOS 7 của bạn “biết” nơi để tải Grafana, bạn cần thêm kho lưu trữ (repository) của nó. Hãy tạo một file cấu hình repository mới bằng lệnh sau:
sudo vi /etc/yum.repos.d/grafana.repo
Trong trình soạn thảo vi, nhấn phím i để chuyển sang chế độ chèn và dán nội dung sau vào file:
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Sau khi dán xong, nhấn phím Esc, gõ :wq và nhấn Enter để lưu file và thoát. Bây giờ, bạn có thể tiến hành cài đặt Grafana bằng một lệnh duy nhất:
sudo yum install grafana -y
Trình quản lý gói yum sẽ tự động tải về và cài đặt phiên bản Grafana ổn định mới nhất từ repository bạn vừa thêm.
Khởi động và cấu hình dịch vụ Grafana
Sau khi cài đặt thành công, Grafana vẫn chưa tự động chạy. Bạn cần khởi động dịch vụ và cấu hình để nó tự khởi động cùng hệ thống. Đầu tiên, hãy yêu cầu systemd tải lại danh sách dịch vụ:
sudo systemctl daemon-reload
Tiếp theo, khởi động dịch vụ Grafana:
sudo systemctl start grafana-server
Để đảm bảo Grafana tự động chạy mỗi khi bạn khởi động lại máy chủ, hãy kích hoạt nó:
sudo systemctl enable grafana-server
Bây giờ, Grafana đã hoạt động! Bạn có thể truy cập giao diện web của nó bằng cách mở trình duyệt và truy cập địa chỉ http://<IP_SERVER_CUA_BAN>:3000. Tên đăng nhập và mật khẩu mặc định là admin / admin. Grafana sẽ yêu cầu bạn đổi mật khẩu ngay trong lần đăng nhập đầu tiên.

Tích hợp plugin Zabbix vào Grafana
Grafana bản thân nó chỉ là một công cụ trực quan hóa; nó cần “nói chuyện” được với Zabbix để lấy dữ liệu. Để làm được điều này, chúng ta cần cài đặt một plugin chuyên dụng cho Zabbix. Plugin này hoạt động như một cầu nối, cho phép Grafana hiểu và truy vấn dữ liệu từ Zabbix API.
Cài đặt plugin Zabbix
Grafana cung cấp một công cụ dòng lệnh tiện lợi là grafana-cli để quản lý các plugin. Để cài đặt plugin Zabbix phổ biến và được duy trì tốt nhất của Alexander Zobnin, bạn chỉ cần chạy lệnh sau trong terminal:
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
Công cụ sẽ tự động tải về phiên bản mới nhất của plugin và cài đặt vào đúng thư mục của Grafana. Quá trình này thường chỉ mất vài giây.
Kích hoạt và kiểm tra plugin trong Grafana
Sau khi cài đặt plugin, bạn cần khởi động lại dịch vụ Grafana để nó nhận diện được thành phần mới. Sử dụng lệnh sau:
sudo systemctl restart grafana-server
Khi dịch vụ đã khởi động lại, hãy đăng nhập vào giao diện web Grafana của bạn. Di chuyển đến mục Configuration (biểu tượng bánh răng ở thanh bên trái) và chọn Plugins. Trong danh sách các plugin đã cài đặt, bạn sẽ thấy plugin “Zabbix“. Nhấp vào nó và đảm bảo rằng nó đang ở trạng thái Enabled. Nếu chưa, hãy nhấp vào nút Enable để kích hoạt. Vậy là cầu nối giữa Grafana và Zabbix đã được thiết lập.
Cấu hình datasource để kết nối với Zabbix
Sau khi đã cài đặt plugin, bước tiếp theo là cấu hình nguồn dữ liệu (datasource) trong Grafana. Đây là bước bạn “chỉ” cho Grafana biết Zabbix server của bạn ở đâu và làm thế nào để truy cập vào nó. Nếu không có bước này, Grafana sẽ không biết lấy dữ liệu từ đâu để vẽ biểu đồ.
Tạo mới datasource Zabbix trong Grafana
Trong giao diện Grafana, hãy vào mục Configuration > Data Sources. Nhấp vào nút Add data source. Trong danh sách các loại datasource, tìm và chọn Zabbix. Bạn sẽ được đưa đến trang cấu hình. Tại đây, bạn cần điền các thông tin quan trọng:
- Name: Đặt một cái tên dễ nhận biết cho datasource này, ví dụ: “Zabbix Server Chính”.
- URL: Đây là URL trỏ đến API của Zabbix. Nó thường có định dạng
http://<IP_ZABBIX_SERVER>/zabbix/api_jsonrpc.php. Hãy thay<IP_ZABBIX_SERVER>bằng địa chỉ IP hoặc tên miền của Zabbix server của bạn. - Username: Tên người dùng Zabbix có quyền truy cập API.
- Password: Mật khẩu tương ứng của người dùng Zabbix đó.
Kiểm tra kết nối datasource
Sau khi điền đầy đủ thông tin, hãy cuộn xuống cuối trang và nhấp vào nút Save & Test. Grafana sẽ cố gắng kết nối đến Zabbix API bằng thông tin bạn đã cung cấp. Nếu kết nối thành công, bạn sẽ nhận được một thông báo màu xanh lá cây, thường hiển thị phiên bản Zabbix API, ví dụ: “Zabbix API version: 5.0.17”. Nếu có lỗi, một thông báo màu đỏ sẽ xuất hiện. Các lỗi thường gặp bao gồm: sai URL, tường lửa chặn kết nối, hoặc sai thông tin đăng nhập. Hãy kiểm tra kỹ lại các thông tin và đảm bảo server Grafana có thể kết nối mạng đến server Zabbix.

Tạo và tùy chỉnh các biểu đồ, đồ thị từ dữ liệu Zabbix
Đây là phần thú vị nhất: biến những dữ liệu khô khan từ Zabbix thành các biểu đồ sống động. Với datasource đã được cấu hình thành công, bạn có toàn quyền truy cập vào kho dữ liệu mà Zabbix đã thu thập và thể hiện chúng theo cách bạn muốn.
Tạo dashboard mới và thêm biểu đồ
Để bắt đầu, hãy tạo một dashboard mới. Ở thanh bên trái, nhấp vào biểu tượng dấu cộng (+) và chọn Dashboard. Một dashboard trống sẽ hiện ra. Nhấp vào nút Add new panel. Mặc định, Grafana sẽ tạo một panel trống với datasource mặc định. Trong phần cấu hình panel, ở tab Query, hãy chọn datasource Zabbix mà bạn đã tạo ở bước trước từ danh sách thả xuống. Giao diện truy vấn dành riêng cho Zabbix sẽ hiện ra, cho phép bạn chọn dữ liệu cần hiển thị.
Tùy chỉnh hiển thị, kiểu biểu đồ và thông số
Giao diện truy vấn của plugin Zabbix rất trực quan. Bạn có thể chọn dữ liệu theo các cấp: Group (nhóm máy chủ), Host (máy chủ cụ thể), Application (nhóm các item, ví dụ CPU, Memory), và cuối cùng là Item (thông số cần đo, ví dụ ‘CPU utilization’). Khi bạn chọn một item, Grafana sẽ tự động vẽ biểu đồ tương ứng. Ở thanh bên phải, bạn có thể tùy chỉnh mọi thứ, từ tiêu đề của panel, loại biểu đồ (Graph, Stat, Gauge, Table,…) cho đến màu sắc, đơn vị của các trục. Hãy thử nghiệm với các loại biểu đồ khác nhau để tìm ra cách hiển thị thông tin hiệu quả nhất cho từng loại dữ liệu.

Kiểm tra và khắc phục lỗi thường gặp trong quá trình cấu hình
Mặc dù quá trình cài đặt khá đơn giản, đôi khi bạn vẫn có thể gặp phải một số sự cố. Việc biết cách xác định và khắc phục các lỗi phổ biến sẽ giúp bạn tiết kiệm rất nhiều thời gian và công sức. Dưới đây là một số vấn đề thường gặp và cách xử lý chúng.
Lỗi kết nối datasource Zabbix và Grafana
Đây là lỗi phổ biến nhất, thường xảy ra khi bạn nhấn nút “Save & Test”. Nguyên nhân có thể đến từ nhiều phía:
- URL API không chính xác: Hãy chắc chắn rằng bạn đã nhập đúng đường dẫn đến file
api_jsonrpc.php. Một cách kiểm tra nhanh là thử truy cập URL này trực tiếp từ trình duyệt. - Tường lửa: Tường lửa trên server Zabbix hoặc server Grafana có thể đang chặn kết nối. Hãy kiểm tra xem port HTTP (80) hoặc HTTPS (443) của Zabbix server có được mở cho server Grafana truy cập không.
- Sai thông tin đăng nhập: Kiểm tra lại username và password của Zabbix. Hãy chắc chắn rằng tài khoản này có quyền truy cập API.
Grafana không hiển thị dữ liệu từ Zabbix
Đôi khi, bạn kết nối datasource thành công nhưng khi tạo biểu đồ lại thấy thông báo “No data” hoặc biểu đồ trống trơn. Các nguyên nhân có thể là:
- Quyền truy cập của tài khoản Zabbix: Tài khoản Zabbix bạn dùng để kết nối trong Grafana phải có quyền đọc (Read permission) đối với các nhóm máy chủ (Host Groups) mà bạn muốn lấy dữ liệu. Hãy đăng nhập vào Zabbix và kiểm tra lại quyền của user đó.
- Không có dữ liệu trong Zabbix: Hãy kiểm tra trong giao diện Zabbix (mục Latest Data) để chắc chắn rằng Zabbix thực sự đang thu thập dữ liệu cho item bạn đã chọn. Nếu không có, vấn đề nằm ở cấu hình của Zabbix chứ không phải Grafana.
- Sai khoảng thời gian: Đôi khi, khoảng thời gian bạn chọn trên dashboard Grafana không có dữ liệu. Hãy thử chọn một khoảng thời gian rộng hơn, ví dụ “Last 24 hours”.

Tổng kết và hướng dẫn sử dụng giao diện Grafana để giám sát dữ liệu
Sau khi đã hoàn tất việc cài đặt, tích hợp và tạo những biểu đồ đầu tiên, bạn đã có trong tay một công cụ giám sát vô cùng mạnh mẽ. Việc kết hợp Grafana với Zabbix trên nền tảng CentOS 7 không chỉ giúp bạn theo dõi hệ thống một cách trực quan mà còn nâng cao khả năng phản ứng trước các sự cố. Giờ đây, thay vì phải đọc qua hàng loạt con số, bạn có thể nhanh chóng nắm bắt tình hình sức khỏe của toàn bộ hạ tầng chỉ qua một dashboard duy nhất. Để sử dụng hiệu quả, hãy làm quen với các tính năng cơ bản của dashboard như thay đổi khoảng thời gian hiển thị ở góc trên bên phải, phóng to vào một khoảng thời gian cụ thể trên biểu đồ bằng cách kéo chuột, hay lưu lại các thay đổi của dashboard. Đừng ngần ngại thử nghiệm, tạo thêm nhiều dashboard cho các mục đích khác nhau, ví dụ một dashboard chuyên cho server web, một cho database. Để nâng cao kỹ năng, bạn có thể tìm hiểu thêm về các tính năng nâng cao như tạo biến (variables) để làm dashboard động, hay thiết lập cảnh báo (alerting) trực tiếp từ Grafana.
Best Practices
Để hệ thống giám sát của bạn hoạt động hiệu quả, ổn định và an toàn trong dài hạn, việc tuân thủ các thực hành tốt nhất là vô cùng quan trọng. Dưới đây là những khuyến nghị từ AZWEB mà bạn nên áp dụng:
- Luôn cập nhật phiên bản mới: Thường xuyên kiểm tra và cập nhật Grafana cũng như plugin Zabbix lên phiên bản mới nhất. Các bản cập nhật không chỉ mang lại tính năng mới mà còn vá các lỗ hổng bảo mật quan trọng.
- Sao lưu cấu hình thường xuyên: Định kỳ sao lưu cấu hình datasource và các dashboard của bạn. Dashboard có thể được xuất ra dưới dạng file JSON, giúp bạn dễ dàng khôi phục khi cần thiết hoặc di chuyển sang một hệ thống Grafana khác.
- Phân quyền hợp lý trên Zabbix: Tạo một tài khoản Zabbix riêng chỉ dành cho Grafana với quyền đọc (Read-only) đối với các host group cần thiết. Điều này giúp hạn chế rủi ro bảo mật và tránh các lỗi API không mong muốn.
- Không sử dụng tài khoản cấp cao: Tuyệt đối không sử dụng tài khoản Admin của Zabbix hoặc tài khoản root của hệ thống cho việc kết nối datasource. Luôn tuân thủ nguyên tắc đặc quyền tối thiểu.
- Kiểm tra kỹ trước khi triển khai: Trước khi áp dụng một dashboard mới hoặc một cấu hình phức tạp vào môi trường sản xuất (production), hãy thử nghiệm kỹ lưỡng trên môi trường phát triển (development) để đảm bảo mọi thứ hoạt động như mong đợi.
Kết luận
Qua bài viết này, AZWEB đã cùng bạn đi qua toàn bộ quy trình cài đặt và cấu hình Grafana để trực quan hóa dữ liệu từ Zabbix trên hệ điều hành CentOS 7. Chúng ta đã bắt đầu từ việc chuẩn bị hệ thống, cài đặt Grafana, tích hợp plugin Zabbix, cấu hình kết nối và cuối cùng là tạo ra những biểu đồ giám sát đầu tiên. Sự kết hợp này mang lại một hiệu quả vượt trội, biến việc giám sát hệ thống từ một công việc phức tạp, nhàm chán trở nên đơn giản, trực quan và hiệu quả hơn rất nhiều. Với những biểu đồ sinh động, bạn có thể nhanh chóng phát hiện các xu hướng bất thường, phân tích hiệu suất và đưa ra quyết định kịp thời để đảm bảo hệ thống luôn hoạt động ổn định. Đừng dừng lại ở đây, hãy bắt đầu thử nghiệm, tùy biến các dashboard theo nhu cầu riêng của bạn và khám phá thêm nhiều tính năng mạnh mẽ khác mà bộ đôi Grafana và Zabbix mang lại. Nếu bạn thấy bài viết hữu ích, hãy theo dõi AZWEB để cập nhật thêm nhiều hướng dẫn chuyên sâu hơn về quản trị hệ thống và phát triển website.