Cách cài đặt Grafana và Prometheus trên Rocky Linux 9

theanh

Administrator
Nhân viên
Grafana là một nền tảng trực quan hóa dữ liệu nguồn mở và đa nền tảng do Grafana Labs phát triển. Grafana cung cấp một ứng dụng web trực quan hóa dữ liệu tương tác bao gồm biểu đồ, đồ thị và cảnh báo. Với Grafana, bạn có thể truy vấn, trực quan hóa, thiết lập cảnh báo và khám phá số liệu, nhật ký và dấu vết của TSDB. Đây là một công cụ mạnh mẽ biến dữ liệu cơ sở dữ liệu chuỗi thời gian (TSDB) thành biểu đồ và trực quan hóa sâu sắc.

Trong Grafana, bạn có thể thêm dữ liệu cơ sở dữ liệu chuỗi thời gian của mình thông qua 'Nguồn dữ liệu'. Grafana hỗ trợ nhiều nguồn dữ liệu như Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor và nhiều nguồn khác nữa.

Trong hướng dẫn này, tôi sẽ cài đặt ứng dụng web phân tích và trực quan hóa nguồn mở Grafana với Nginx làm proxy ngược. Sau đó, tôi sẽ cài đặt và định cấu hình giám sát hệ thống nguồn mở Prometheus với Node Exporter để thu thập số liệu hệ thống. Cuối cùng, bạn sẽ thêm Prometheus làm nguồn dữ liệu cho Grafana và thiết lập bảng điều khiển để giám sát hệ thống.

Đối với hướng dẫn này, bạn sẽ cài đặt tất cả các gói đó trên máy chủ Rocky Linux 9.

Điều kiện tiên quyết​

Để bắt đầu, bạn phải có các yêu cầu sau để hoàn thành hướng dẫn này:
  • Máy chủ Rocky Linux 9 - Bạn có thể sử dụng nhiều máy chủ hoặc một máy chủ duy nhất cho thử nghiệm. Sau đây là các loại cài đặt bạn phải biết:
    Máy chủ đơn: grafana, prometheus và node_exporter trên một máy chủ đơn.
    Hai máy chủ: grafana trên server1, prometheus và node_exporter trên server3.
    Ba máy chủ: grafana trên server1, prometheus trên server2 và node_exporter trên server3.
  • Người dùng không phải root có quyền quản trị viên sudo/root.

Cài đặt Grafana​

Grafana là ứng dụng đa nền tảng có thể cài đặt trên nhiều hệ điều hành như Windows, Linux và macOS. Đối với hệ thống Linux, Grafana cung cấp kho lưu trữ cho cả hệ điều hành dựa trên Debian (Debian và Ubuntu) và hệ điều hành dựa trên RHEL (RHEL, CentOS, Fedora, RockyLinux, AlmaLinux).

Trong bước này, bạn sẽ thiết lập kho lưu trữ Grafana và cài đặt Grafana 9.3 trên máy chủ Rocky Linux 9.

Trước khi thiết lập kho lưu trữ Grafana, hãy chạy lệnh bên dưới để thiết lập chính sách mã hóa mặc định thành 'SHA1' và khởi động lại máy chủ để áp dụng thay đổi.
Mã:
sudo update-crypto-policies --set DEFAULT:SHA1
sudo reboot
Sau khi đăng nhập lại, hãy tạo tệp kho lưu trữ mới '/etc/yum.repos.d/grafana.repo' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/yum.repos.d/grafana.repo
Thêm kho lưu trữ Grafana sau vào tệp.
Mã:
[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
Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy chạy lệnh bên dưới để xác minh kho lưu trữ danh sách trên hệ thống của bạn. Bạn sẽ thấy kho lưu trữ Grafana đã được thêm vào.
Mã:
sudo dnf repolist

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22197%22%3E%3C/svg%3E


Sau khi kho lưu trữ Grafana được thêm vào, giờ đây bạn có thể cài đặt gói Grafana thông qua lệnh dnf bên dưới.
Mã:
sudo dnf install grafana
Khi được nhắc, hãy nhập y để xác nhận cài đặt và nhấn ENTER.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22481%22%3E%3C/svg%3E


Bạn cũng sẽ được nhắc xác nhận khóa gpg cho kho lưu trữ Grafana. Nhập y và nhấn ENTER để thêm khóa gpg vào hệ thống của bạn.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22672%22%20height=%22177%22%3E%3C/svg%3E


Khi Grafana được cài đặt, hãy chạy lệnh systemctl bên dưới để tải lại các đặc quyền systemd.
Mã:
sudo systemctl daemon-reload
Sau đó, hãy khởi động và kích hoạt dịch vụ Grafana 'grafana-server'. Dịch vụ Grafana hiện đã được bật và đang chạy.
Mã:
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22161%22%3E%3C/svg%3E


Xác minh dịch vụ 'grafana-server' thông qua lệnh bên dưới để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status grafana-server
Đầu ra bên dưới xác nhận rằng grafana-server đã được bật và đang chạy. Bây giờ grafana-server sẽ tự động chạy khi khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22674%22%20height=%22254%22%3E%3C/svg%3E

Cấu hình Grafana​

Bây giờ máy chủ Grafana đã được cài đặt và chạy, bạn sẽ thiết lập cách Grafana chạy thông qua trình tập tin cấu hình '/etc/grafana/grafana.ini'. Trong ví dụ này, bạn sẽ chỉ chạy grafana trên máy chủ cục bộ với tên miền cục bộ grafana.howtoforge.local.

Mở tệp cấu hình Grafana '/etc/grafana/grafana.ini' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/grafana/grafana.ini
Bỏ chú thích một số dòng bên dưới và thay đổi giá trị mặc định thành bên dưới.
Mã:
[server]

# The IP address to bind to, empty will bind to all interfaces
http_addr = localhost

# The http port to use
http_port = 3000

# The public facing domain name used to access grafana from a browser
domain = grafana.howtoforge.local
Với cấu hình này, bạn cấu hình Grafana để chỉ chạy tại máy chủ cục bộ với cổng TCP mặc định là 3000. Bạn sẽ chạy Grafana với miền cục bộ grafana.howtoforge.local, được xử lý bởi proxy ngược.

Lưu tệp và đóng trình chỉnh sửa khi bạn hoàn tất.

Bây giờ hãy khởi động lại dịch vụ 'grafana-server' thông qua lệnh systemctl để áp dụng thay đổi.
Mã:
sudo systemctl restart grafana-server
Grafana đã được cấu hình và đang chạy. Tiếp theo, bạn sẽ cài đặt và cấu hình Nginx làm proxy ngược cho máy chủ Grafana.

Thiết lập Nginx làm Proxy ngược​

Trong bước này, bạn sẽ cài đặt máy chủ web Nginx và cấu hình nó làm proxy ngược cho máy chủ Grafana. Trước khi cài đặt Nginx, hãy đảm bảo bạn có tên miền hoặc tên miền cục bộ phân giải đến máy chủ của bạn và chứng chỉ SSL được tạo.

Chạy lệnh dnf bên dưới để cài đặt máy chủ web Nginx vào hệ thống của bạn.
Mã:
sudo dnf install nginx
Nhập y khi được nhắc xác nhận và nhấn ENTER để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22310%22%3E%3C/svg%3E


Sau khi cài đặt Nginx, hãy tạo tệp khối máy chủ Nginx mới '/etc/nginx/conf.d/grafana.conf' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/nginx/conf.d/grafana.conf
Thêm các dòng sau vào tệp và thay đổi tên miền chi tiết và đường dẫn của SSL chứng chỉ.
Mã:
# this is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
 default upgrade;
 '' close;
}

server {
 listen 80;
 server_name grafana.howtoforge.local;
 rewrite ^ https://$server_name$request_uri? permanent;
}

server {
 listen 443 ssl http2;
 server_name grafana.howtoforge.local;

 root /usr/share/nginx/html;
 index index.html index.htm;

 ssl_certificate /etc/letsencrypt/live/grafana.howtoforge.local/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/grafana.howtoforge.local/privkey.pem;

 access_log /var/log/nginx/grafana-access.log;
 error_log /var/log/nginx/grafana-error.log;

 location / {
 proxy_set_header Host $http_host;
 proxy_pass http://localhost:3000/;
 }

 # Proxy Grafana Live WebSocket connections.
 location /api/live {
 rewrite ^/(.*) /$1 break;
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection $connection_upgrade;
 proxy_set_header Host $http_host;
 proxy_pass http://localhost:3000/;
 }
}
Với cấu hình này, bạn sẽ chạy Nginx như một proxy ngược cho máy chủ grafana đang chạy trên localhost:3000. Bạn cũng sẽ bảo mật grafana thông qua kết nối SSL/HTTPS an toàn. Ngoài ra, bạn sẽ thiết lập proxy ngược cho các kết nối WebSocket grafana.

Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, chạy lệnh bên dưới để xác minh cấu hình Nginx và đảm bảo rằng bạn có cấu hình phù hợp.
Mã:
sudo nginx -t
Nếu bạn có cấu hình phù hợp, bạn sẽ nhận được thông báo đầu ra như 'kiểm tra thành công - cú pháp ok'.

Bây giờ hãy chạy lệnh systemctl bên dưới để bắt đầu và kích hoạt Nginx.
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22166%22%3E%3C/svg%3E


Dịch vụ Nginx hiện đã chạy và được bật. Xác minh dịch vụ Nginx thông qua lệnh systemctl bên dưới.
Mã:
sudo systemctl status nginx
Đầu ra sau đây xác nhận rằng dịch vụ Nginx đang chạy và được bật. Dịch vụ Nginx sẽ được chạy tự động khi khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E


Với dịch vụ Nginx đang chạy trên cả giao thức HTTP và HTTPS, sau đó bạn sẽ thiết lập firewalld để mở cả hai dịch vụ.

Chạy lệnh firewall-cmd bên dưới để thêm dịch vụ HTTP và HTTPS vào firewalld.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
Sau đó, tải lại firewalld để áp dụng các thay đổi và xác minh danh sách các dịch vụ được bật trên firerwalld.
Mã:
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Bạn sẽ nhận được đầu ra sau - Các dịch vụ HTTP và HTTPS đã được thêm vào firewalld.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22166%22%3E%3C/svg%3E


Sau khi cấu hình firewalld, bạn sẽ có thể truy cập cài đặt proxy ngược grafana và Nginx của bạn.

Mở trình duyệt web và truy cập tên miền để cài đặt grafana của bạn (ví dụ: https://grafana.howtoforge.local/), và bạn sẽ thấy trang đăng nhập grafana.

Đăng nhập bằng tên người dùng/mật khẩu mặc định là 'admin'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22594%22%20height=%22750%22%3E%3C/svg%3E


Sau khi đăng nhập, bạn sẽ được yêu cầu thay đổi mật khẩu mặc định. Nhập mật khẩu mới cho cài đặt grafana của bạn và nhấn 'Gửi' để xác nhận.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22588%22%20height=%22467%22%3E%3C/svg%3E


Bây giờ bạn sẽ nhận được bảng điều khiển grafana như ảnh chụp màn hình sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22635%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã hoàn tất cài đặt và cấu hình grafana trên máy chủ Rocky Linux 9. Bạn cũng chạy grafana với proxy ngược Nginx và bảo mật cài đặt grafana qua HTTPS và thay đổi người dùng quản trị mặc định cho grafana.

Với điều này, tiếp theo bạn sẽ cài đặt và cấu hình Prometheus và node_exporter để thu thập số liệu của hệ thống và thêm Prometheus làm nguồn dữ liệu cho grafana của bạn.

Cài đặt Prometheus và Node Exporter​

Prometheus là một bộ công cụ giám sát và cảnh báo hệ thống nguồn mở. Đây là một công cụ mạnh mẽ để thu thập và truy vấn dữ liệu số liệu. Prometheus hoạt động bằng cách kéo (thu thập) số liệu thời gian thực từ các dịch vụ ứng dụng và máy chủ theo nhịp độ thường xuyên bằng cách gửi các yêu cầu HTTP trên các điểm cuối số liệu, sau đó nén và lưu trữ chúng trong cơ sở dữ liệu chuỗi thời gian.

node_exporter là một trong những công cụ thu thập prometheus phổ biến nhất để kéo số liệu của hệ điều hành. node_exporter được thiết kế để giám sát hệ thống máy chủ, nó hiển thị nhiều số liệu liên quan đến phần cứng và hạt nhân.

Bây giờ bạn sẽ cài đặt prometheus và node_exporter trên máy chủ Rocky Linux 9.

Tạo tệp kho lưu trữ mới '/etc/yum.repos.d/prometheus.repo' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/yum.repos.d/prometheus.repo
Thêm các dòng sau vào tệp, đây là kho lưu trữ prometheus do Packagecloud.io.
Mã:
[prometheus]
name=prometheus
baseurl=https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/prometheus-rpm/release/gpgkey
 https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm
gpgcheck=1
metadata_expire=300
Lưu và đóng tệp khi bạn hoàn tất.

Bây giờ bạn có thể xác minh danh sách các kho lưu trữ khả dụng trên hệ thống của mình thông qua lệnh dnf bên dưới.
Mã:
sudo dnf repolist
Trong đầu ra bên dưới, hãy xác nhận rằng kho lưu trữ prometheus đã được thêm vào hệ thống của bạn.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22208%22%3E%3C/svg%3E


Bây giờ hãy cài đặt các gói prometheus và node_exporter thông qua lệnh dnf sau.
Mã:
sudo dnf install prometheus2 node_exporter
Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER. Và quá trình cài đặt prometheus và node_exporter sẽ bắt đầu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E


Ngoài ra, khi được nhắc thêm khóa GPG, hãy nhập y để xác nhận.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22147%22%3E%3C/svg%3E


Sau prometheus và node_exporter đã được cài đặt, hãy chạy lệnh systemctl sau để khởi động và kích hoạt các dịch vụ bot, prometheus và node_exporter.
Mã:
sudo systemctl start prometheus node_exporter
sudo systemctl enable prometheus node_exporter
Bây giờ hãy xác minh các dịch vụ prometheus và node_exporter bằng lệnh bên dưới.
Mã:
sudo systemctl status prometheus node_exporter
Trong đầu ra bên dưới, hãy xác nhận rằng dịch vụ prometheus và node_exporter đang chạy và được bật. Cả hai dịch vụ sẽ tự động chạy khi khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22516%22%3E%3C/svg%3E


Prometheus chạy trên cổng 9090 theo mặc định, trong khi node-exporter chạy trên cổng mặc định 9100. Bây giờ bạn sẽ thêm cả hai cổng 9090 và 9100 vào firewalld.

Chạy lệnh firewall-cmd bên dưới để thêm cổng prometheus và node_exporter vào firewalld. Sau đó, tải lại firewalld để áp dụng các thay đổi mới.
Mã:
sudo firewall-cmd --add-port={9090/tcp,9100/tcp} --permanent
sudo firewall-cmd --reload
Sau khi cấu hình firewalld, bạn có thể truy cập vào cài đặt prometheus và node_exporter. Tuy nhiên, tiếp theo bạn sẽ tiến thêm một bước nữa bằng cách cấu hình cả prometheus và node_exporter.

Cấu hình Prometheus và Node Exporter​

Sau khi prometheus và node_exporter được cài đặt, bây giờ bạn sẽ thiết lập cả hai dịch vụ với các cấu hình sau:
  • Bật xác thực cơ bản cho prometheus.
  • Bật HTTPS/SSL trên giao diện web prometheus.
  • Thiết lập u scrape_config cho máy mục tiêu.

Bật basic_auth và HTTPS/SSL cho Prometheus​

Trong cài đặt mặc định, prometheus không có xác thực bằng mật khẩu và chạy trên giao thức HTTP. Để bảo mật cài đặt, sau đó bạn sẽ thiết lập basic_auth và bật HTTPS trên cài đặt prometheus của mình.

Trước khi thiết lập basic_auth trên prometheus, hãy chạy lệnh dnf sau để cài đặt gói 'httpd-tools'. Gói này cung cấp lệnh 'htpasswd' có thể được sử dụng để tạo mật khẩu bcrypt.
Mã:
sudo dnf install httpd-tools -y
Tiếp theo, hãy chạy lệnh bên dưới để tạo mật khẩu cho cài đặt prometheus của bạn. Trong ví dụ này, bạn sẽ sử dụng người dùng 'promadmin' làm người dùng mặc định cho prometheus basic_auth.
Mã:
htpasswd -nB promadmin
Khi được nhắc, hãy nhập mật khẩu sẽ được sử dụng cho prometheus basic_auth và lặp lại mật khẩu.

Trong đầu ra bên dưới, bạn có thể thấy mật khẩu bcrypt đã tạo. Sao chép tên người dùng và mật khẩu đã tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22665%22%20height=%22165%22%3E%3C/svg%3E


Bây giờ hãy tạo tệp cấu hình prometheus mới '/etc/prometheus/web.yml' bằng lệnh trình chỉnh sửa nano bên dưới. Cấu hình này sẽ bật HTTPS/SSL và basic_auth trên cài đặt Prometheus của bạn.
Mã:
sudo nano /etc/prometheus/web.yml
Thêm các dòng sau vào tệp và đảm bảo thay đổi đường dẫn của chứng chỉ SSL và tên người dùng và mật khẩu sẽ được sử dụng cho prometheus của bạn.
Mã:
# tls certificates
tls_server_config:
 cert_file: fullchain.pem
 key_file: privkey.pem

# basic_auth
basic_auth_users:
 promadmin: $2y$05$.OhemZb5HtMYsHSBdrH4/.74FKCL2NbD2I41FI5L/VO.Uy6c2dQ7i
Phần 'tls_server_config' cho phép bạn bật bảo mật Kết nối HTTPS/SSL và 'basic_auth_users' sẽ kích hoạt xác thực mật khẩu cơ bản trên cài đặt prometheus của bạn.

Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, mở tệp '/etc/default/prometheus' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/default/prometheus
Thêm dòng sau vào 'PROMETHEUS_OPTS' phần.
Mã:
--web.config.file=/etc/prometheus/web.yml
Tùy chọn '--web.config.file' sẽ chỉ định cấu hình hoặc giao diện web prometheus. Trong ví dụ này, cấu hình là '/etc/prometheus/web.yml'.

Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Thiết lập scrape_config cho Máy mục tiêu​

Sau khi bật prometheus basic_auth và HTTPS/SSL, tiếp theo bạn sẽ thêm máy mục tiêu vào phần 'scrape_config' của promethues.

Mở tệp cấu hình promethues '/etc/prometheus/prometheus.yml' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano /etc/prometheus/prometheus.yml
Trong phần scrape_config, hãy thay đổi cấu hình mặc định bằng các dòng sau.
Mã:
scrape_configs:
 # The job name is added as a label `job=` to any timeseries scraped from this config.
 - job_name: "prometheus"

 # metrics_path defaults to '/metrics'
 # scheme defaults to 'http'.
 # add settings for certificate and authentication
 scheme: https
 tls_config:
 cert_file: /etc/prometheus/server.crt
 key_file: /etc/prometheus/server.key
 # if using self-signed certificate, set [true]
 insecure_skip_verify: true
 basic_auth:
 username: 'promadmin'
 password: 'password'

 static_configs:
 # if using a valid certificate, set the same hostname in the certificate
 - targets: ["localhost:9090"]

 - job_name: "node_exporter"

 static_configs:
 - targets: ["192.168.5.120:9100"]
Với cấu hình này, bạn sẽ thiết lập hai tác vụ có tên là 'prometheus' và 'node_exporter'. Và hãy nhớ thay đổi phần basic_auth trên tác vụ 'promethues'.
  • Trên tác vụ 'prometheus', bạn sẽ bật kết nối bảo mật HTTPS và bật 'basic_auth' để xác thực. Trong tác vụ 'prometheus', máy chủ đích là 'localhost:9090', tức là máy chủ prometheus.
  • Trong tác vụ 'node_exporter', mục tiêu là chính dịch vụ node_exporter, đang chạy trên cổng '9100'.
Bây giờ hãy chạy lệnh systemctl bên dưới để khởi động lại cả dịch vụ prometheus và node_exporter và áp dụng các thay đổi mới.
Mã:
sudo systemctl restart prometheus node_exporter
Tại thời điểm này, bạn đã đưa prometheus lên bước tiếp theo bằng cách bật xác thực cơ bản và bảo mật qua SSL/HTTPS. Bạn cũng đã thêm hai bản thu thập dữ liệu để thu thập số liệu, 'prometheus' và 'node_exporter'.

Để xác minh cài đặt của bạn, hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ có cổng '9090' (tức là: https://192.168.5.120:9090/).

Bây giờ bạn sẽ được nhắc xác thực cơ bản, hãy nhập người dùng 'promadmin' và mật khẩu mà bạn đã tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22496%22%20height=%22298%22%3E%3C/svg%3E


Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển promethues. Nhập truy vấn như 'node_memory_Active_bytes' và nhấp vào 'Thực thi'. Bạn sẽ nhận được số liệu từ truy vấn mà bạn đã thực thi.

Truy vấn 'node_memory_Active_bytes' được cung cấp bởi 'node_exporter' để kiểm tra bộ nhớ đang hoạt động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22347%22%3E%3C/svg%3E


Tiếp theo, nhấp vào menu 'Trạng thái' và chọn 'Mục tiêu'. Bạn sẽ có hai tác vụ khác nhau mà bạn đã tạo, 'prometheus' và 'node_exporter'. Trạng thái công việc của cả 'prometheus' và 'node_exporter' đều đã được cập nhật.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22285%22%3E%3C/svg%3E


Sau khi prometheus và node_exporter được cấu hình, tiếp theo bạn sẽ thêm prometheus làm nguồn dữ liệu vào grafana.

Thêm Prometheus làm Nguồn dữ liệu vào Grafana​

Grafana hỗ trợ nhiều nguồn dữ liệu như MySQL, PostgreSQL, Influxdb, Graphite, Prometheus và nhiều nguồn khác nữa. Trong bước này, bạn sẽ thêm promethues làm nguồn dữ liệu cho grafana.

Trên bảng điều khiển grafana, nhấp vào menu 'Cấu hình' và chọn 'Nguồn dữ liệu'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22342%22%20height=%22316%22%3E%3C/svg%3E


Bây giờ hãy nhấp vào 'Thêm nguồn dữ liệu' để thêm nguồn dữ liệu mới.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E


Chọn loại nguồn dữ liệu bạn muốn thêm. Ví dụ này là 'Prometheus'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22169%22%3E%3C/svg%3E


Bây giờ hãy nhập thông tin chi tiết về cấu hình prometheus - tệp scrape_config của 'prometheus'. Hãy đảm bảo bật 'Xác thực cơ bản' và 'Bỏ qua Xác minh TLS' (nếu bạn đang sử dụng chứng chỉ tự ký).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22686%22%20height=%22750%22%3E%3C/svg%3E


Cuộn xuống trang cuối cùng và nhấp vào 'Lưu & kiểm tra' để xác nhận. Nếu bạn có thông báo đầu ra như 'Nguồn dữ liệu đang hoạt động', thì bạn đã sẵn sàng và thêm nguồn dữ liệu prometheus vào grafana.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22623%22%20height=%22227%22%3E%3C/svg%3E

Thiết lập Giám sát Bảng điều khiển​

Khi thêm Prometheus vào Grafana dưới dạng nguồn dữ liệu, bạn có thể tạo bảng điều khiển mới để giám sát hệ thống của mình. Bạn có thể tạo bảng điều khiển theo cách thủ công cho từng ô hoặc bằng cách nhập một số ví dụ về bảng điều khiển Grafana từ kho lưu trữ bảng điều khiển Grafana.

Trong bước này, bạn sẽ thiết lập bảng điều khiển Grafana bằng cách nhập bảng điều khiển có sẵn trực tuyến vào Grafana.

Nhấp vào menu 'Bảng điều khiển' và chọn 'Nhập'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22342%22%20height=%22318%22%3E%3C/svg%3E


Bây giờ bạn có thể tìm thấy các ví dụ về bảng điều khiển từ kho lưu trữ Bảng điều khiển Grafana. Ví dụ này sử dụng bảng điều khiển Grafana có id là '15172'.

Nhập id bảng điều khiển mà bạn muốn nhập, '15172', sau đó nhấp vào 'Tải'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22597%22%3E%3C/svg%3E


Bây giờ, hãy nhập tên của bảng điều khiển mới và chọn 'Prometheus' làm nguồn dữ liệu. Nhấp vào 'Nhập' để xác nhận.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22747%22%20height=%22600%22%3E%3C/svg%3E


Trong ảnh chụp màn hình bên dưới, hãy xác nhận rằng bảng điều khiển grafana mới với nguồn dữ liệu prometheus để giám sát hệ thống đã được tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22391%22%3E%3C/svg%3E

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt Grafana để trực quan hóa dữ liệu với Nginx làm proxy ngược trên máy chủ Rocky Linux 9. Bạn cũng đã cài đặt Prometheus và node_exporter cùng với Grafana.

Prometheus chạy với kết nối SSL/TLS được bật, mô-đun basic_auth được bật để xác thực người dùng và cấu hình hai bản thu thập để thu thập số liệu hệ thống bằng chính Prometheus và node_expoter.

Cuối cùng, bạn đã thêm Prometheus làm nguồn dữ liệu vào Grafana và nhập bảng điều khiển để trực quan hóa dữ liệu với dữ liệu được thu thập bởi Prometheus và node_exporter.

Từ đây, bạn có thể thêm một trình xuất khác cho ứng dụng của mình vào Prometheus và trực quan hóa tất cả các số liệu thông qua bảng điều khiển trực quan hóa dữ liệu Grafana.
 
Back
Bên trên