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.
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.
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.
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
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:
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
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.
Bây giờ, hãy nhấp vào Add Data sources và chọn Prometheus
Tiến hành cấu hình nguồn dữ liệu Prometheus bằng cách cung cấp URL Prometheus
Cuối cùng, nhấn Save & test để xuất hiện thông báo Data Source is working.
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
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
=============================