Hướng dẫn thiết lập Grafana Dashboard đầu tiên với Prometheus
Sau khi đã cài đặt thành công Prometheus và Node Exporter để thu thập dữ liệu giám sát từ VPS Linux của bạn, bước tiếp theo là trực quan hóa những dữ liệu đó một cách hiệu quả. Grafana chính là công cụ mạnh mẽ sinh ra để làm điều này. Bài viết này sẽ hướng dẫn bạn toàn bộ quá trình từ cách cài đặt Grafana trên VPS Linux, kết nối nó với Prometheus Data Source, cho đến việc thiết lập Grafana Dashboard giám sát đầu tiên của bạn.
Giới thiệu Grafana và tầm quan trọng của Dashboard
Grafana là gì?
Grafana là một nền tảng mã nguồn mở hàng đầu cho việc phân tích và trực quan hóa dữ liệu. Nó cho phép bạn tạo ra các bảng điều khiển (dashboard) tùy chỉnh với nhiều loại biểu đồ và đồ thị khác nhau, giúp bạn dễ dàng theo dõi, phân tích và hiểu dữ liệu từ nhiều nguồn khác nhau (như Prometheus, Graphite, InfluxDB, Elasticsearch, v.v.).
Tại sao nên sử dụng Grafana với Prometheus?
Mặc dù Prometheus có giao diện web để truy vấn và hiển thị biểu đồ cơ bản, nhưng Grafana mang lại những lợi ích vượt trội khi kết hợp với Prometheus:
- Trực quan hóa mạnh mẽ: Grafana cung cấp nhiều loại biểu đồ đa dạng và tùy chỉnh cao, giúp hiển thị dữ liệu một cách sinh động và dễ hiểu hơn nhiều so với giao diện Prometheus mặc định.
- Dashboard tùy chỉnh: Bạn có thể tạo các dashboard với nhiều panel khác nhau, tổng hợp thông tin từ nhiều metrics để có cái nhìn tổng quan về hệ thống.
- Hỗ trợ đa nguồn dữ liệu: Grafana có thể kết nối với nhiều nguồn dữ liệu cùng lúc, cho phép bạn xây dựng các dashboard tổng hợp từ nhiều hệ thống khác nhau.
- Cảnh báo nâng cao: Mặc dù Prometheus có Alertmanager, Grafana cũng có khả năng tạo cảnh báo dựa trên các ngưỡng dữ liệu, giúp bạn nhận thông báo kịp thời về các vấn đề.
- Chia sẻ và hợp tác: Dễ dàng chia sẻ các dashboard với đồng đội, giúp mọi người cùng theo dõi và phân tích.
Tầm quan trọng của Dashboard
Dashboard là bảng điều khiển trực quan tổng hợp các thông số quan trọng của hệ thống. Đối với việc giám sát VPS Linux, một dashboard tốt giúp bạn:
- Có cái nhìn tổng quan: Nhanh chóng nắm bắt tình trạng CPU, RAM, ổ đĩa, mạng… chỉ với một cái nhìn.
- Phát hiện xu hướng: Nhận diện các thay đổi về hiệu suất theo thời gian, giúp dự đoán và ngăn chặn sự cố.
- Chẩn đoán vấn đề: Khi có sự cố, dashboard giúp bạn khoanh vùng vấn đề và tìm ra nguyên nhân gốc rễ.
- Báo cáo hiệu suất: Cung cấp dữ liệu trực quan để báo cáo về hiệu suất hệ thống.
Grafana làm cho việc tạo ra những dashboard mạnh mẽ này trở nên dễ dàng và linh hoạt.
Chuẩn bị cài đặt Grafana
Trước khi bắt đầu cài đặt, hãy đảm bảo VPS của bạn đáp ứng các yêu cầu sau:
- Hệ điều hành: Linux (Ubuntu 20.04+ hoặc CentOS 7+).
- Quyền truy cập: Quyền
root
hoặc người dùng có quyềnsudo
.
Các cổng cần mở:- Cổng 3000: Đây là cổng mặc định mà Grafana sử dụng. Bạn cần đảm bảo cổng này được mở trong tường lửa của VPS.
- Ví dụ mở cổng với UFW (Ubuntu):
sudo ufw allow 3000/tcp
sudo ufw reload
-
- Ví dụ mở cổng với Firewalld (CentOS):
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
Cài đặt Grafana trên VPS Linux
Quy trình cài đặt Grafana có thể khác nhau đôi chút tùy thuộc vào hệ điều hành Linux của bạn. Chúng ta sẽ hướng dẫn cho cả Ubuntu và CentOS.
Đối với Ubuntu/Debian
# Cài đặt các gói phụ thuộc cần thiết
sudo apt update
sudo apt install -y apt-transport-https software-properties-common wget
# Thêm khóa GPG chính thức của Grafana để xác thực gói
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
# Thêm kho lưu trữ ổn định của Grafana vào danh sách nguồn apt
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
# Cập nhật danh sách gói và cài đặt Grafana
sudo apt update
sudo apt install grafana -y
Đối với CentOS/RHEL
# Cài đặt các gói cần thiết
sudo yum install -y yum-utils
# Thêm kho lưu trữ ổn định của Grafana
sudo tee /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
# Cài đặt Grafana
sudo yum install grafana -y
Khởi động và kích hoạt Grafana
Sau khi cài đặt xong, bạn cần khởi động dịch vụ Grafana và cấu hình nó để tự động chạy khi khởi động hệ thống:
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Kiểm tra trạng thái Grafana
Để xác nhận Grafana đang hoạt động đúng cách, bạn có thể kiểm tra trạng thái của dịch vụ:
sudo systemctl status grafana-server
Bạn sẽ thấy trạng thái active (running)
nếu mọi thứ đều ổn.
Cấu hình tường lửa cho Grafana
Grafana lắng nghe trên cổng 3000 mặc định. Đảm bảo cổng này được mở để bạn có thể truy cập giao diện web. (Đã thực hiện trong phần chuẩn bị, nhưng nhắc lại để đảm bảo).
- Ví dụ mở cổng với UFW (Ubuntu):
sudo ufw allow 3000/tcp
sudo ufw reload
- Ví dụ mở cổng với Firewalld (CentOS):
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
Truy cập Grafana Web UI và Đăng nhập lần đầu
Truy cập giao diện
Mở trình duyệt web của bạn và truy cập địa chỉ sau:
http://<IP_VPS_Của_Bạn>:3000
Bạn sẽ thấy trang đăng nhập của Grafana.
Đăng nhập mặc định và đổi mật khẩu
- Tên người dùng mặc định:
admin
- Mật khẩu mặc định:
admin
Sau khi đăng nhập lần đầu, Grafana sẽ yêu cầu bạn đổi mật khẩu để tăng cường bảo mật. Hãy tạo một mật khẩu mạnh và ghi nhớ nó.
Kết nối Grafana với Prometheus Data Source
Bây giờ Grafana đã chạy, chúng ta cần kết nối nó với Prometheus để Grafana có thể lấy dữ liệu giám sát.
Thêm Data Source
Trong giao diện Grafana:
- Click vào biểu tượng “Cài đặt” (hình bánh răng) ở thanh bên trái.
- Chọn “Data sources”.
- Click vào nút “Add data source”.
Cấu hình kết nối Prometheus
- Trong danh sách các loại Data Source, chọn “Prometheus”.
- Bạn sẽ được chuyển đến trang cấu hình. Điền các thông tin sau:
- Name: Đặt một tên dễ nhớ cho nguồn dữ liệu này, ví dụ:
My Prometheus
hoặcVPS Prometheus
. - URL: Đây là địa chỉ của Prometheus Server của bạn.
- Nếu Prometheus và Grafana chạy trên cùng một VPS:
http://localhost:9090
- Nếu Prometheus chạy trên một VPS khác:
http://<IP_Prometheus_Server>:9090
- Nếu Prometheus và Grafana chạy trên cùng một VPS:
- Các tùy chọn khác như Authentication, HTTP Headers… có thể để mặc định hoặc cấu hình thêm tùy theo yêu cầu bảo mật của bạn.
- Name: Đặt một tên dễ nhớ cho nguồn dữ liệu này, ví dụ:
- Sau khi điền xong, click vào nút “Save & test”.
Nếu kết nối thành công, bạn sẽ thấy thông báo “Data source is working”.
Bạn đã hoàn tất việc cài đặt Grafana và kết nối thành công với Prometheus! Giờ là lúc tạo dashboard.
Thiết lập Grafana Dashboard đầu tiên với Prometheus
Có hai phương pháp chính để có được một dashboard giám sát cơ bản: Import dashboard có sẵn (nhanh chóng và hiệu quả) hoặc Tạo dashboard tùy chỉnh (linh hoạt và học hỏi sâu hơn).
Phương pháp 1: Import Dashboard có sẵn từ Grafana Labs
Đây là cách nhanh nhất và được khuyến nghị cho người mới bắt đầu. Cộng đồng Grafana cung cấp hàng ngàn dashboard được tạo sẵn và tối ưu hóa cho nhiều mục đích khác nhau, bao gồm cả giám sát Linux với Node Exporter.
Các bước thực hiện:
1. Tìm kiếm Dashboard:
- Truy cập trang Grafana Dashboards trên website của Grafana Labs.

Grafana Dashboards
- Trong thanh tìm kiếm, nhập các từ khóa như “Node Exporter Full” hoặc “Linux Server” để tìm các dashboard phù hợp cho việc giám sát VPS của bạn.
- Một trong những dashboard phổ biến nhất và được đánh giá cao là “Node Exporter Full” (ID: 1860). Dashboard này cung cấp rất nhiều thông tin chi tiết về CPU, bộ nhớ, ổ đĩa, mạng…
2. Lấy Dashboard ID:
- Click vào dashboard mà bạn muốn sử dụng (ví dụ: “Node Exporter Full”).
- Trên trang của dashboard đó, bạn sẽ thấy một ID Dashboard (ví dụ:
1860
) và một nút “Download JSON”. Hãy ghi nhớ ID này.
3. Import Dashboard vào Grafana:
- Đăng nhập vào giao diện Grafana của bạn (
http://<IP_VPS_Của_Bạn>:3000
). - Click vào “Dashboards” trong menu chính (thanh bên trái).
- Click vào “New” (thường là một nút lớn hoặc menu thả xuống) và chọn “Import” trong danh sách.
4. Hoàn tất Import:
- Trong trường cung cấp, Paste Grafana.com dashboard ID bạn vừa lấy (ví dụ:
1860
). - Click vào nút “Load”.
- (Tùy chọn) Bạn có thể thay đổi tên dashboard (
Dashboard Name
), thư mục lưu trữ (Folder
), hoặc UID. - Quan trọng nhất, trong phần “Select a data source”, chọn Data Source Prometheus mà bạn đã cấu hình ở mục VI (ví dụ:
My Prometheus
). - Click “Import”.
Ngay lập tức, bạn sẽ thấy một dashboard đẹp mắt với hàng loạt biểu đồ hiển thị các metrics từ VPS của bạn thông qua Node Exporter và Prometheus.

Ví dụ minh họa
Phương pháp 2: Tạo Dashboard tùy chỉnh cơ bản
Nếu bạn muốn có sự kiểm soát hoàn toàn và học cách Grafana xây dựng các panel, bạn có thể tạo một dashboard từ đầu.
Trước khi bắt đầu:
- Đảm bảo bạn có quyền phù hợp để tạo dashboard (thường là vai trò Editor hoặc Admin).
- Bạn đã thêm Data Source Prometheus và hiểu cơ bản về PromQL (ngôn ngữ truy vấn của Prometheus).
Các bước thực hiện:
1. Tạo Dashboard mới:
- Đăng nhập vào Grafana.
- Click vào “Dashboards” trong menu chính (thanh bên trái).
- Click vào “New” và chọn “New Dashboard”.
2. Thêm Visualization (Panel):
- Trên dashboard trống, click vào nút “+ Add visualization”.

Grafana tạo Dashboard mới
3. Chọn Data Source và Viết Query:
- Trong hộp thoại mở ra, chọn Data Source Prometheus của bạn (ví dụ:
My Prometheus
). Nếu chưa có, bạn có thể chọn “Configure a new data source” (chỉ Admin). - Giao diện “Edit panel” sẽ mở ra. Tại tab “Query”:
- Viết hoặc xây dựng truy vấn PromQL để lấy dữ liệu bạn muốn hiển thị. Ví dụ:
- Để xem tổng số CPU đã sử dụng:
- Viết hoặc xây dựng truy vấn PromQL để lấy dữ liệu bạn muốn hiển thị. Ví dụ:
node_cpu_seconds_total
-
-
- Để xem dung lượng bộ nhớ khả dụng (bytes):
-
node_memory_MemAvailable_bytes
-
-
- Để xem dung lượng ổ đĩa còn trống (bytes) trên phân vùng gốc:
-
node_filesystem_avail_bytes{mountpoint="/"}
-
-
- Để tính toán % sử dụng CPU (ví dụ, % CPU rảnh rỗi trong 5 phút):
-
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
-
- Click “Refresh” để xem kết quả truy vấn.
4. Chọn loại Visualization (Trực quan hóa):
- Trong danh sách trực quan hóa (
Visualization list
), chọn loại biểu đồ phù hợp với dữ liệu của bạn.- Graph: Biểu đồ đường thời gian, phù hợp cho các metrics thay đổi liên tục (CPU, RAM).
- Stat: Hiển thị một giá trị số lớn, phù hợp cho tổng quan (ví dụ: RAM khả dụng hiện tại).
- Gauge: Biểu đồ kim hoặc thanh tiến trình, tốt cho các giá trị phần trăm (ví dụ: % sử dụng CPU).
- Grafana sẽ hiển thị bản xem trước của kết quả truy vấn với biểu đồ đã chọn.
5. Cấu hình Panel Options:
- Dưới mục “Panel options”, nhập Title và Description cho panel của bạn.
- (Tùy chọn) Cấu hình các tùy chọn khác như đơn vị, ngưỡng cảnh báo, ánh xạ giá trị… trong các tab bên phải.
6. Lưu Dashboard:
- Khi bạn đã hoàn thành việc chỉnh sửa panel, click vào nút “Save dashboard” (thường ở góc trên bên phải hoặc có biểu tượng đĩa mềm).
- (Tùy chọn) Bạn có thể click “Back to dashboard” để xem thay đổi trước, sau đó click “Save dashboard” từ header.
- Nhập Title và Description cho toàn bộ dashboard của bạn.
- Chọn một Folder để lưu trữ dashboard (nếu có).
- Click “Save”.
7. Thêm các Panel khác:
- Để thêm nhiều panel hơn vào dashboard đã lưu, click vào nút “Add” trong header của dashboard và chọn “Visualization” trong menu thả xuống. Bạn sẽ được đưa thẳng đến giao diện chỉnh sửa panel.
- Khi đã thêm tất cả các thay đổi mong muốn, click “Exit edit” ở góc trên bên phải.
Bạn đã tạo ra dashboard giám sát đầu tiên của mình trên Grafana!
Kết luận
Bạn đã hoàn thành các bước quan trọng để thiết lập hệ thống giám sát hoàn chỉnh cho VPS Linux: từ cài đặt Prometheus và Node Exporter, đến triển khai Grafana, kết nối với Prometheus Data Source và cuối cùng là tạo ra dashboard giám sát đầu tiên. Giờ đây, bạn có thể dễ dàng theo dõi hiệu suất và tình trạng của máy chủ thông qua các biểu đồ trực quan, giúp bạn phản ứng nhanh chóng với mọi vấn đề.
Để tối ưu hóa hơn nữa hệ thống giám sát của mình, bạn có thể tiếp tục khám phá các tính năng của Grafana như:
- Biến (Variables): Để tạo các dashboard động, dễ dàng chuyển đổi giữa các instance hoặc thông số.
- Cảnh báo (Alerting): Cấu hình Grafana để gửi thông báo khi metrics vượt quá ngưỡng cho phép.
- Khám phá thêm các loại Panel: Sử dụng bảng, heatmap, status panel… để hiển thị dữ liệu theo nhiều cách.
Nguồn tham khảo
- Trang chủ Grafana: https://grafana.com/
- Tài liệu Grafana – Dashboards: https://grafana.com/docs/grafana/latest/dashboards/
- Grafana Dashboards: https://grafana.com/grafana/dashboards/
- Tài liệu PromQL: https://prometheus.io/docs/prometheus/latest/querying/basics/