Thứ Sáu, 25 tháng 8, 2023

Cách cài đặt Prometheus và Grafana trên Ubuntu chi tiết A-Z

Trong quá trình quản lý hệ thống ứng dụng, việc giám sát và hiển thị dữ liệu là vô cùng quan trọng. Prometheus và Grafana là hai công cụ mạnh mẽ và phổ biến được sử dụng để thực hiện nhiệm vụ này. Trong bài viết hôm nay, chúng ta sẽ tìm hiểu cách cài đặt cài đặt Prometheus và Grafana trên Ubuntu một cách dễ dàng và chi tiết.

MỤC LỤC

1. Tổng quan về Prometheus và Grafana

2. Cách cài đặt Prometheus và Grafana trên Ubuntu

    2.1. Yêu cầu cấu hình máy tính để cài đặt Prometheus và Grafana

    2.2. Tạo Directories và System Users Prometheus

    2.3. Cập nhật User Prometheus

    2.4. Tải xuống tệp Prometheus Binary

    2.5. Cài đặt Prometheus và Grafana trên Ubuntu 20.04

1. Tổng quan về Prometheus và Grafana

Prometheus là gì?

Prometheus là một công cụ giám sát mã nguồn mở được phát triển bởi SoundCloud vào năm 2012. Công cụ này được thiết kế để thu thập, xử lý và lưu trữ các dữ liệu giám sát từ các hệ thống phân tán. Prometheus sử dụng mô hình “pull” để thu thập dữ liệu từ các mục tiêu giám sát.

Bạn có thể sử dụng Prometheus theo dõi và giám sát các thành phần của hệ thống như máy chủ, ứng dụng, dịch vụ và các thành phần mạng. Công cụ có khả năng thu thập dữ liệu về hiệu suất, tài nguyên hệ thống, thông tin về lỗi và sự kiện từ các mục tiêu giám sát.

cai-dat-prometheus-va-grafana-tren-ubuntu

Một trong những điểm mạnh của Prometheus là khả năng linh hoạt và dễ dàng mở rộng. Công cụ cung cấp một ngôn ngữ truy vấn mạnh mẽ để tìm kiếm và phân tích dữ liệu giám sát. Điều này giúp bạn có thể tạo các truy vấn phức tạp để khám phá, phân tích và biểu đồ hóa các thông số mà bạn quan tâm.

Prometheus cũng hỗ trợ việc cảnh báo dựa trên các quy tắc được định nghĩa trước. Bạn có thể đặt ngưỡng cảnh báo và khi các giá trị giám sát vượt quá ngưỡng này, Prometheus sẽ gửi thông báo cảnh báo cho bạn.

Với cách tiếp cận linh hoạt, khả năng mở rộng và tính năng cảnh báo, Prometheus đã trở thành một công cụ quan trọng trong việc giám sát hệ thống và ứng dụng phân tán hiện nay.

Grafana là gì?

Grafana là một công cụ hiển thị dữ liệu mã nguồn mở được sử dụng phổ biến để trực quan hóa và hiển thị dữ liệu giám sát. Công cụ này cung cấp một giao diện đồ họa dễ sử dụng cho người dùng để tạo ra các biểu đồ, bảng điều khiển và các báo cáo tùy chỉnh từ các nguồn dữ liệu khác nhau.

Với Grafana, bạn có thể kết nối và tích hợp dữ liệu từ nhiều nguồn như Prometheus, InfluxDB, Elasticsearch và các hệ thống giám sát khác. Điều này cho phép bạn tổng hợp dữ liệu từ nhiều nguồn và hiển thị chúng trên cùng một bảng điều khiển, giúp bạn có cái nhìn tổng quan về tình trạng và hiệu suất của hệ thống.

Grafana cung cấp một loạt các biểu đồ và đồ thị linh hoạt để trực quan hóa dữ liệu giám sát. Bạn có thể tạo biểu đồ đường, biểu đồ cột, biểu đồ tròn, biểu đồ đánh giá thời gian và nhiều loại biểu đồ khác. Bên cạnh đó, bạn cũng có thể tùy chỉnh giao diện và thiết kế của bảng điều khiển theo ý muốn để đáp ứng nhu cầu của mình.

Ngoài ra, Grafana hỗ trợ tính năng cảnh báo. Bạn có thể đặt các quy tắc cảnh báo dựa trên các ngưỡng và điều kiện được định nghĩa trước. Khi dữ liệu giám sát vượt quá các giá trị ngưỡng được đặt, Grafana sẽ gửi thông báo cảnh báo cho bạn thông qua email, tin nhắn hoặc các kênh thông báo khác.

cai-dat-prometheus-va-grafana-tren-ubuntu

Grafana đã trở thành công cụ lý tưởng để hiển thị dữ liệu giám sát với giao diện trực quan và khả năng tùy chỉnh cao. Với Grafana, bạn có thể hiển thị và theo dõi dữ liệu giám sát dễ dàng và đồng thời thực hiện các tác vụ phân tích và đánh giá tình trạng hệ thống một cách hiệu quả.

Mối quan hệ giữa Prometheus và Grafana

Prometheus và Grafana là hai công cụ thường được sử dụng cùng nhau trong việc giám sát và hiển thị dữ liệu hệ thống.

Prometheus được sử dụng để thu thập, xử lý và lưu trữ dữ liệu giám sát từ các hệ thống phân tán với khả năng truy xuất dữ liệu từ các mục tiêu giám sát thông qua mô hình “pull“. Trong khi đó, Grafana là một công cụ hiển thị dữ liệu giám sát, cho phép người dùng trực quan hóa và tạo các biểu đồ, bảng điều khiển tùy chỉnh từ các nguồn dữ liệu khác nhau. Grafana hỗ trợ nhiều nguồn dữ liệu, bao gồm cả Prometheus.

Kết hợp Prometheus và Grafana, bạn có thể thu thập dữ liệu giám sát bằng Prometheus, sau đó sử dụng Grafana để trực quan hóa và hiển thị dữ liệu đó dưới dạng các biểu đồ, bảng điều khiển và báo cáo. Grafana cung cấp một giao diện người dùng thân thiện và các tính năng tùy chỉnh để bạn có thể tạo ra các báo cáo giám sát phù hợp với nhu cầu của mình.

cai-dat-prometheus-va-grafana-tren-ubuntu

2. Cách cài đặt Prometheus và Grafana trên Ubuntu

2.1. Yêu cầu cấu hình máy tính để cài đặt Prometheus và Grafana

Để cài đặt và cấu hình Prometheus và Grafana trên Ubuntu, bạn cần đảm bảo máy tính của bạn đáp ứng các yêu cầu cấu hình sau:

  • Hệ điều hành: Ubuntu 20.04 (hoặc phiên bản mới hơn) được khuyến nghị.
  • Bộ nhớ: Đối với môi trường thử nghiệm hoặc cài đặt nhỏ, bạn cần ít nhất 2GB RAM. Tuy nhiên, nếu đang xây dựng một hệ thống lớn hoặc có nhiều nguồn dữ liệu giám sát, bạn nên có ít nhất 4GB RAM hoặc nhiều hơn.
  • CPU: Prometheus và Grafana không đòi hỏi một bộ xử lý mạnh mẽ. Tuy nhiên, đảm bảo máy tính của bạn có một bộ CPU đủ để xử lý việc thu thập và hiển thị dữ liệu giám sát.
  • Lưu trữ: Prometheus sẽ lưu trữ dữ liệu giám sát thu thập được. Do đó, bạn cần đảm bảo có đầy đủ không gian đĩa trống để lưu trữ dữ liệu này. Đối với môi trường thử nghiệm hoặc cài đặt nhỏ, cần ít nhất 1GB không gian lưu trữ
  • Kết nối mạng: Đảm bảo máy tính của bạn có kết nối mạng ổn định để có thể tải xuống các gói cài đặt và cập nhật từ các nguồn phần mềm.

2.2. Tạo Directories và System Users Prometheus

Đầu tiên, chúng ta sẽ phải tạo một User và một Directories có tên Prometheus. Bạn có thể thực hiện bằng lệnh bên dưới:

Sudo useradd --no-create-home --shell /bin/false prometheus

Sudo useradd --no-create-home --shell /bin/false node_exporter

sudo mkdir /etc/prometheus

sudo mkdir/var/lib/prometheus

2.3. Cập nhật User Prometheus

Khi các Users và Directories được tạo thành công để lưu trữ dữ liệu và tệp Prometheus, bạn cần cập nhật quyền sở hữu User trên các thư mục mới được tạo bằng lệnh:

sudo chown prometheus:prometheus /etc/prometheus

sudo chown prometheus:prometheus /var/lib/prometheus

2.4. Tải xuống tệp Prometheus Binary

Bạn có thể tải xuống Prometheus theo hệ điều hành của mình tại: https://prometheus.io/download/

Ngoài ra, bạn cũng có thể sử dụng các lệnh sau để tải xuống Prometheus.

Điều hướng đến thư mục /opt

cd /opt/

Tải xuống thiết lập Prometheus bằng wget

wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz

Sau khi tải xuống thành công tệp Prometheus, bạn sẽ bắt đầu giải nén tệp đó.

2.5. Cài đặt Prometheus và Grafana trên Ubuntu 20.04

Chúng ta có thể sử dụng dòng lệnh sha256sum để tạo tổng kiểm tra của tệp đã tải xuống Prometheus.

Trước tiên, bạn sẽ giải nén tệp đã tải xuống bằng lệnh tar .

sha256sum prometheus-2.26.0.linux-AMD64.tar.gz

Đầu ra:

f1f2eeabbf7822572dce67565dc96ffaa2dd1897dd1d844562552b11123f151a prometheus-2.26.0.linux-amd64.tar.gz

Tiếp theo, chúng ta sẽ giải nén tệp thiết lập Prometheus bằng các lệnh sau:

tar -xvf prometheus-2.26.0.linux-AMD64.tar.gz

Điều hướng đến thư mục giải nén prometheus

cd prometheus-2.26.0.linux-amd64

Để kiểm tra danh sách các tập tin thiết lập, bạn nhập lệnh:

ls
cai-dat-prometheus-va-grafana-tren-ubuntu

Sao chép file Prometheus Binary

Bây giờ, chúng ta có hai thư viện trong thư mục của mình là Prometheus và promtool. Bạn sẽ phải sao chép cả hai thư viện đó vào thư mục /usr/local/bin với các lệnh sau:

sudo cp /opt/prometheus-2.26.0.linux-amd64/prometheus /usr/local/bin/

sudo cp /opt/prometheus-2.26.0.linux-amd64/promtool /usr/local/bin/

Cập nhật quyền sở hữu người dùng Prometheus trên Binaries

Sử dụng các lệnh sau để cập nhật quyền sở hữu của người dùng và nhóm.

Sudo chown prometheus:prometheus /usr/local/bin/prometheus

Sudo chown prometheus:prometheus /usr/local/bin/promtool

Sao chép thư viện bảng điều khiển Prometheus

Chúng ta sẽ cần sao chép thư mục console và console_libraries vào /etc/Prometheus/.

Sử dụng các lệnh bên dưới để sao chép console và console_libraries.

sudo cp -r /opt/prometheus-2.26.0.linux-amd64/consoles /etc/prometheus

sudo cp -r /opt/prometheus-2.26.0.linux-amd64/console_libraries /etc/prometheus

sudo cp -r /opt/prometheus-2.26.0.linux-amd64/prometheus.yml /etc/prometheus

Cập nhật quyền sở hữu Prometheus trên thư mục

Bây giờ, chúng ta sẽ cập nhật quyền sở hữu User trên các thư mục cho User Prometheus bằng cách sử dụng -R.

sudo chown -R prometheus:prometheus /etc/prometheus/consoles

sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

sudo chown -R prometheus:prometheus /etc/prometheus/prometheus.yml

Kiểm tra phiên bản Prometheus

Thực hiện theo các lệnh để xác minh phiên bản prometheus.

prometheus --version

promtool --version

Đầu ra:

Tệp cấu hình Prometheus

Ở trên, bạn đã sao chép thư mục /opt/prometheus-2.26.0.linux-amd64/prometheus.yml /etc/prometheus. Hãy xác minh xem thư mục này có hiện diện không.

cat /etc/prometheus/prometheus.yml

# my global config

global:

 scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

 # scrape_timeout is set to the global default (10s).

# Alertmanager configuration

alerting:

 alertmanagers:

 - static_configs:

 - targets:

 # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.

rule_files:

 # - "first_rules.yml"

 # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

scrape_configs:

 # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

 - job_name: 'prometheus'

 # metrics_path defaults to '/metrics'

 # scheme defaults to 'http'.

 static_configs:

 - targets: ['localhost:9090']

Tạo tập tin Prometheus Systemd

Bạn sẽ bắt đầu với User Prometheus bằng lệnh sau.

sudo -u prometheus /usr/local/bin/prometheus \

 --config.file /etc/prometheus/prometheus.yml \

 --storage.tsdb.path /var/lib/prometheus/ \

 --web.console.templates=/etc/prometheus/consoles \

 --web.console.libraries=/etc/prometheus/console_libraries

Tiếp theo, bạn sẽ tạo một tệp dịch vụ hệ thống ở vị trí /etc/systemd/system

Sudo nano /etc/systemd/system/prometheus.service

Sau khi tạo file thành công, bạn copy các file bên dưới và dán vào file vừa tạo. /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus

Wants=network-online.target

After=network-online.target

[Service]

User=prometheus

Group=prometheus

Type=simple

ExecStart=/usr/local/bin/prometheus \

 --config.file /etc/prometheus/prometheus.yml \

 --storage.tsdb.path /var/lib/prometheus/ \

 --web.console.templates=/etc/prometheus/consoles \

 --web.console.libraries=/etc/prometheus/console_libraries

[Install]

WantedBy=multi-user.target

Cuối cùng, bạ lưu tệp bằng Ctrl+O và thoát bằng Ctrl+X

Để sử dụng dịch vụ mới được tạo, bạn sẽ phải tải lại dịch vụ daemon. Sử dụng lệnh bên dưới để tải lại dịch vụ daemon.

sudo systemctl daemon-reload

Bắt đầu và kích hoạt dịch vụ prometheus bằng các lệnh bên dưới:

sudo systemctl start prometheus
sudo systemctl enable prometheus

Bạn có thể kiểm tra lại bằng lệnh:

sudo systemctl status prometheus

Đầu ra:


Truy cập Prometheus

Sử dụng lệnh bên dưới để kích hoạt dịch vụ Prometheus trong tường lửa:

sudo ufw allow 9090/tcp

Bây giờ, dịch vụ Prometheus đã sẵn sàng để chạy và bạn có thể truy cập dịch vụ này từ bất kỳ trình duyệt web nào.

http://server-IP-or-Hostname:9090

cai-dat-prometheus-va-grafana-tren-ubuntu
cai-dat-prometheus-va-grafana-tren-ubuntu
cai-dat-prometheus-va-grafana-tren-ubuntu

Cài đặt Grafana trên Ubuntu 20.04 LTS bằng APT

Bạn có thể cài đặt Grafana trên Ubuntu bằng cách tải xuống gói .deb từ trang: https://grafana.com/docs/grafana/latest/installation/debian/ hoặc sử dụng APT.

Thêm khóa GPG Grafana trong Ubuntu bằng wget:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add –

Bây giờ, hãy thêm kho lưu trữ Grafana trong Ubuntu bằng APT:

echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 

Cập nhật các gói hệ thống để có hiệu lực:

sudo apt-get update

Tiếp tục cài đặt Grafana bằng lệnh bên dưới:

sudo systemctl start grafana-server

Bắt đầu dịch vụ Grafana bằng lệnh bên dưới:

sudo systemctl status grafana-server 

Xác minh trạng thái dịch vụ Grafana bằng lệnh sau:

Sudo systemctl status grafana-server

Cuối cùng, hãy kích hoạt dịch vụ Grafana với lệnh:

sudo systemctl enable grafana-server.service

Để truy cập bảng điều khiển Grafana, bạn hãy mở trình duyệt và nhập IP máy chủ với cổng mặc định grafana 3000.

http://your_ip:3000

Tại đây, bạn sẽ thấy trang đăng nhập của Grafana, bây giờ bạn sẽ phải đăng nhập bằng Tên người dùng và Mật khẩu mặc định của Grafana bên dưới.

Username – admin

Password – admin



Bây giờ, bạn có thể thấy bảng điều khiển chính của Grafana như sau:

Cấu hình Prometheus làm nguồn dữ liệu Grafana

Sau khi đăng nhập vào Grafana, bạn hãy điều hướng đến Biểu tượng Cài đặt -> Configuration -> Data sources.

cai-dat-prometheus-va-grafana-tren-ubuntu

Bây giờ, hãy nhấp vào Add Data sources và chọn Prometheus

cai-dat-prometheus-va-grafana-tren-ubuntu

Tiến hành cấu hình nguồn dữ liệu Prometheus bằng cách cung cấp URL Prometheus

cai-dat-prometheus-va-grafana-tren-ubuntu

Cuối cùng, nhấn Save & test để xuất hiện thông báo Data Source is working.

cai-dat-prometheus-va-grafana-tren-ubuntu

Trên đây là những thông tin về cách cài đặt Prometheus và Grafana trên Ubuntu. Với sự kết hợp mạnh mẽ giữa Prometheus và Grafana, bạn có thể quản lý và giám sát hệ thống của mình một cách hiệu quả và đáng tin cậy. Chúc bạn thực hiện thành công!

Những câu hỏi thường gặp

Có thể tạo cảnh báo từ Prometheus và hiển thị trên Grafana không?

Có, Prometheus cung cấp khả năng cảnh báo dựa trên các quy tắc được định nghĩa trước. Bạn có thể cấu hình các quy tắc cảnh báo trong Prometheus và khi các điều kiện cảnh báo được đáp ứng, Prometheus sẽ gửi cảnh báo tới Grafana.

Sau đó, bạn có thể cấu hình Grafana để hiển thị các thông báo cảnh báo này trên bảng điều khiển của mình. Bằng cách này, bạn có thể theo dõi các sự cố và vượt ngưỡng quan trọng trong hệ thống để có thể ứng phó kịp thời.

Prometheus và Grafana tương thích với phiên bản Ubuntu nào?

Prometheus và Grafana đều tương thích với phiên bản Ubuntu 20.04 và các phiên bản mới hơn. Do đó, hãy đảm bảo bạn đã cài đặt và cập nhật Ubuntu lên phiên bản mới nhất trước khi tiến hành cài đặt Prometheus và Grafana.

Cần cài đặt Prometheus trước hay Grafana trước?

Bạn có thể cài đặt Prometheus trước rồi sau đó cài đặt Grafana. Sau khi cài đặt Prometheus, bạn có thể cấu hình Prometheus làm nguồn dữ liệu cho Grafana để hiển thị dữ liệu giám sát trên Grafana.

Có các hệ thống giám sát nào tương tự Prometheus?

Có một số hệ thống giám sát khác tương tự Prometheus mà bạn có thể xem xét gồm: InfluxDB, Zabbix, Nagios, Datadog, …

=============================
Website không bao giờ chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
Prometheus và Grafana là gì? Cách cài đặt Prometheus và Grafana trên Ubuntu chi tiết A-Z, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master