Prometheus là gì? Tính Năng và Ứng Dụng của Prometheus Chi Tiết

Prometheus là gì? tính năng nổi bật của Prometheus là gì? Khi nào nên áp dụng Prometheus? Đọc ngay bài viết sau để có thêm thông tin nhé!

Prometheus là gì?

Prometheus là dịch vụ mã nguồn mở hoàn toàn miễn phí cho phép theo dõi và cảnh báo về hệ thống. Ban đầu được SoundCloud xây dựng năm 2012 và đến năm 2016, nó đã trở thành một phần của Tổ chức điện toán đám mây (CNCF), được nhiều hệ thống tin tưởng áp dụng.

Prometheus là gì? Tính Năng và Ứng Dụng của Prometheus Chi Tiết
Prometheus là gì?

Prometheus có tính năng quan trọng đó là thu thập thông số, dữ liệu từ các mục tiêu được nhắm đến trong khoảng thời gian nhất định được cài sẵn. Ngoài ra, Prometheus còn cung cấp ngôn ngữ truy vấn mạnh mẽ đó là PromQL, rất hữu ích khi giao tiếp vứi các dịch vụ khác.

Tính năng của Prometheus là gì?

Dưới đây là một số tính năng quan trọng của Prometheus:

  • Prometheus sử dụng mô hình dữ liệu đa chiều với các cặp giá trị là thời gian và thông số có thể thay đổi để lưu trữ dữ liệu theo dạng chuỗi thời gian.
  • Prometheus sử dụng PromQL để truy vấn dữ liệu, cho phép bạn hiển thị và xử lý dữ liệu theo nhiều cách khác nhau.
  • Prometheus có khả năng thu thập dữ liệu từ nhiều nguồn khác nhau
  • Prometheus có tính năng cảnh báo với cơ chế cảnh báo tích hợp, giúp bạn theo dõi và xử lý nhanh chóng khi có sự cố
  • Giao diện web hiển thị biểu đồ và đồ thị giúp bạn theo dõi hiệu suất hệ thống.
  • Ghi dữ liệu để lưu trữ lâu dài hoặc chia sẻ dữ liệu giữa các cụm máy chủ.
  • Prometheus có thể tích hợp với nhiều công cụ khác nhau để mở rộng việc giám sát và cảnh báo.
  • Cho phép mở rộng linh hoạt, triển khai dễ dàng trong nhiều môi trường
  • Có thể hoạt động dưới dạng máy chủ để thu thập dữ liệu/client để chuyển dữ liệu đến máy chủ khác
  • Có thể được tích hợp với các dịch vụ đám mây khác để giám sát hệ thống/ứng dụng chạy trên môi trường Cloud
Prometheus là gì? Tính Năng và Ứng Dụng của Prometheus Chi Tiết
Tính Năng của Prometheus Chi Tiết

Những tính năng này của Prometheus giúp người quản trị hay nhà phát triển có thể theo dõi, đánh giá và duy trì hiệu suất hệ thống/ứng dụng hiệu quả nhất.

Ứng dụng Prometheus khi nào?

Prometheus được đánh giá là mã nguồn mở có độ tin cậy cao được sử dụng để giám sát bất kỳ phần nào trong ứng dụng. Bạn có thể sử dụng Prometheus để giám sát gần như toàn bộ ứng dụng của mình, từ giao diện người dùng, phụ trợ, máy chủ, phần cứng hay cả cơ sở hạ tầng.

Prometheus phù hợp để sử dụng trong hệ thống Microservices và có các dịch vụ Listening. Một hệ thống theo dõi chủ động sẽ giúp người quản trị phát hiện sớm những dấu hiệu cảnh báo xấu. Với Prometheus các thông tin luôn được cập nhật và khi có lỗi xảy ra, bạn vẫn có thể xem lại dữ liệu dễ dàng qua API của Prometheus.

Không nên sử dụng Prometheus khi nào?

Mặc dù Prometheus là công cụ giám sát mạnh mẽ, nhưng trong một số trường hợp, nó sẽ không phù hợp khi sử dụng, điển hình như:

Không nên dùng Prometheus khi hệ thống yêu cầu lưu trữ dữ liệu lớn và lâu dài

Do Prometheus được thiết kế nhằm giám sát thời gian thực cho nên nó không phải là giải pháp lưu trữ dữ liệu lâu dài. Bạn có thể tham khảo các lựa chọn tốt hơn Prometheus trong trường hợp này như InfluxDB, OpenTSDB,…

Không nên dùng Prometheus khi môi trường có nhu cầu cảnh báo phức tạp

Tuy Prometheus cung cấp cơ chế cảnh báo linh hoạt, nhưng khi yêu cầu cảnh báo đòi hỏi các tính năng phức tạp hơn thì bạn nên cân nhắc sử dụng giải pháp chuyên sâu hơn để đảm bảo hiệu quả.

Không nên dùng Prometheus khi Môi trường đòi hỏi tích hợp nhanh và dễ dàng:

Prometheus là một công cụ mã nguồn mạnh mẽ, nhưng việc triển khai và tích hợp nhanh chóng sẽ là thách thức lớn với các tổ chức không có kinh nghiệm trong việc triển khai giám sát tự quản lý.

Yêu cầu một hệ thống với giao diện người dùng mạnh mẽ:

Mặc dù Prometheus có giao diện người dùng web linh hoạt nhưng nếu bạn muốn tìm kiếm một giao diện mạnh mẽ và dễ sử dụng thì cần xem xét đến các giải pháp giám sát khác tương đương hơn hoặc cao cấp hơn về giao diện.

Cách Cài đặt Prometheus trên Ubuntu 22.04

Để cài đặt Prometheus trên Ubuntu 22.04, thực hiện theo các bước sau:

Bước 1: Tạo nhóm hệ thống Prometheus

Chạy lệnh sau để tạo nhóm và người dùng hệ thống Prometheus

groupadd --system prometheus

Nhóm có ID <1000 là nhóm hệ thống. Sau khi thêm xong, bạn tạo người dùng hệ thống Prometheus và chỉ định nhóm chính đã tạo với lệnh sau:

adduser --system --no-create-home --shell /sbin/nologin --group prometheus

Trên Centos bạn tạo như sau:

useradd -s /sbin/nologin --system -g prometheus prometheus
Cách Cài đặt Prometheus
Cài đặt Prometheus

Bước 2: Tạo thư mục dữ liệu và cấu hình

Prometheus cần một thư mục để lưu dữ liệu, bạn tạo thư mục trong /var/lib/prometheus với lệnh sau:

mkdir /var/lib/prometheus

Thư mục tệp cấu hình chính của Prometheus là /etc/prometheus/. Nó sẽ có một số thư mục con như

for i in rules rules.d files_sd; do mkdir -p /etc/prometheus/${i}; done
Cài đặt Prometheus
Cài đặt Prometheus

Lệnh này sẽ tạo lần lượt các thư mục sau trong đường dẫn /etc/prometheus

  • /etc/prometheus/rules
  • /etc/prometheus/rules.d
  • /etc/prometheus/files_sd
Cài đặt Prometheus
Cài đặt Prometheus

Bước 3: Tải xuống tệp Prometheus

https://github.com/prometheus/prometheus/releases

apt update && apt upgrade -y
Cài đặt Prometheus
Cài đặt Prometheus
apt -y install wget curl vim
Cài đặt Prometheus
Cài đặt Prometheus
mkdir -p /tmp/prometheus && cd /tmp/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v3.1.0/prometheus-3.1.0.linux-amd64.tar.gz
Cài đặt Prometheus
Cài đặt Prometheus
tar xvf prometheus*.tar.gz
Cài đặt Prometheus
Cài đặt Prometheus
cd prometheus*/
Cài đặt Prometheus
Cài đặt Prometheus

Di chuyển các tệp thực thi vào thư mục /usr/local/bin/ bằng lệnh sau:

mv prometheus promtool /usr/local/bin/
Cài đặt Prometheus
Cài đặt Prometheus

Kiểm tra phiên bản đã cài đặt:

prometheus --version
promtool --version
Cài đặt Prometheus
Cài đặt Prometheus

Di chuyển mẫu cấu hình Prometheus sang thư mục /etc.

mv prometheus.yml /etc/prometheus/prometheus.yml

Bước 4: Cấu hình Prometheus trên Ubuntu

Tạo hoặc chỉnh sửa tệp cấu hình Prometheus – /etc/prometheus/prometheus.yml.

vi /etc/prometheus/prometheus.yml
Cài đặt Prometheus
Cài đặt Prometheus

Tạo dịch vụ hệ thống Prometheus

Chạy lệnh sau để quản lý dịch vụ Prometheus bằng systemd.

vi /etc/systemd/system/prometheus.service

Thêm vào:

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP \$MAINPID
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 \
–web.listen-address=0.0.0.0:9090 \
–web.external-url=

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Cài đặt Prometheus
Cài đặt Prometheus

Thay đổi quyền thư mục.

Thay đổi quyền sở hữu thư mục cho người dùng và nhóm Prometheus.

for i in rules rules.d files_sd; do chown -R prometheus:prometheus /etc/prometheus/${i}; done
for i in rules rules.d files_sd; do chmod -R 775 /etc/prometheus/${i}; done
chown -R prometheus:prometheus /var/lib/prometheus/
Cài đặt Prometheus
Cài đặt Prometheus

Tải lại Daemon Systemd và khởi động dịch vụ:

systemctl daemon-reload
systemctl start prometheus
systemctl enable prometheus
systemctl status prometheus
Cài đặt Prometheus
Cài đặt Prometheus

Nếu máy chủ có dịch vụ tường lửa đang chạy, bạn cần mở cổng 9090. Xác nhận rằng bạn có thể kết nối cổng 9090 bằng cách truy cập IP/tên DNS của máy chủ Prometheus trong trình duyệt web.

Cài đặt Prometheus
Cài đặt Prometheus

Xác thực login Prometheus Server:

Cài đặt công cụ Gen Pass và tạo 1 tệp Python.

apt install python3-bcrypt -y
Cài đặt Prometheus
Cài đặt Prometheus

vi gen-pass.py

Thêm vào:

import getpass

import bcrypt

password = getpass.getpass(“password: “)

hashed_password = bcrypt.hashpw(password.encode(“utf-8”), bcrypt.gensalt())

print(hashed_password.decode())

Cai Dat Prometheus Tren Ubuntu 16
Cài đặt Prometheus
python3 gen-pass.py
Cài đặt Prometheus
Cài đặt Prometheus

Tạo tệp Web YAML

vi /etc/prometheus/web.yml

Thêm vào

basic_auth_users:

   admin: '$2b$12$JKlzaA1WkPBfRngLeyXe2OT4HG/jtc.vr1n5ya2N0hTPF3Hfm90pq'
Cài đặt Prometheus
Cài đặt Prometheus

Thay thế $2b$12$JKlzaA1WkPBfRngLeyXe2OT4HG/jtc.vr1n5ya2N0hTPF3Hfm90pq bằng giá trị mật khẩu được mã hóa của bạn.

Bạn có thể xác thực tệp đó bằng các lệnh bên dưới.

promtool check web-config /etc/prometheus/web.yml
Cài đặt Prometheus
Cài đặt Prometheus

Khởi chạy máy chủ Prometheus

Thêm 1 đoạn xác minh vào:

vi /etc/systemd/system/prometheus.service

Thêm vào:

–web.config.file=/etc/prometheus/web.yml \

Cài đặt Prometheus
Cài đặt Prometheus

Khởi động lại dịch vụ

systemctl daemon-reload
systemctl restart prometheus
systemctl enable prometheus
Cài đặt Prometheus
Cài đặt Prometheus

Đến đây, bạn đã thực hiện cài đặt thành công Prometheus và bảo mật thành công máy chủ Prometheus bằng xác thực cơ bản. Lúc này, tất cả người dùng truy cập phiên bản Prometheus được yêu cầu cung cấp tên người dùng và mật khẩu.

Kết luận

Trên đây là những thông tin về Prometheus là gì, tính năng của Prometheus và ứng dụng của nó trong hệ thống. Bạn cần cân nhắc yêu cầu hệ thống của bạn để xem có nên sử dụng Prometheus hay không để đảm bảo tính hiệu quả.

Cảm ơn bạn đã theo dõi bài viết của chúng tôi!

Nguyễn Đức Hòa

Xin chào, mình là Nguyễn Đức Hoà, hiện đang đảm nhận vị trí Trưởng phòng kỹ thuật tại LANIT. Với 8 năm kinh nghiệm trong mảng System, Network , Security; mình luôn hướng đến việc tìm kiếm và áp dụng các giải pháp kỹ thuật tiên tiến nhất cho mọi dự án. Công việc của mình không chỉ dừng lại ở việc quản lý mà còn mang đến cho khách hàng những giải pháp lưu trữ dữ liệu tốt nhất hiện nay. Rất hy vọng những kinh nghiệm và chia sẻ của mình sẽ mang lại nhiều giá trị hữu ích cho các bạn.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!