Từ Code đến System

Linux

Prometheus – Part 1- Hướng dẫn cài đặt Prometheus với Ubuntu 20.04

Tổng quan

Prometheus là một giải pháp nguồn mở được sử dụng rộng rãi trong các hệ thống thông tin. Với mục tiêu cung cấp khả năng thu thập, lưu trữ và xử lý dữ liệu giám sát, Prometheus hiện nay đã trở thành giải pháp thông dụng và được sử dụng rộng rãi với tính đảm bảo, ổn định cao.

Giải pháp Prometheus được phát triển bởi công ty SoundCloud vào năm 2012, sau đó đã trở thành một dự án mã nguồn mở. Công cụ được xây dựng dựa trên mô hình pull-based, nghĩa là nó sẽ lấy dữ liệu giám sát từ các hệ thống và ứng dụng bằng cách truy vấn chúng thay vì chờ đợi chúng gửi dữ liệu.

Prometheus hỗ trợ nhiều ngôn ngữ lập trình và có khả năng tích hợp linh hoạt với các hệ thống khác.

Đặc điểm nổi bật của Prometheus là khả năng thu thập và lưu trữ dữ liệu theo thời gian, cho phép người dùng truy vấn lại và phân tích sự thay đổi của hệ thống theo thời gian. Công cụ cũng cung cấp giao diện đồ họa trực quan, cho phép người dùng tạo biểu đồ và báo cáo để hiểu rõ hơn về hiệu suất và sự hoạt động của hệ thống.

Cài đặt

Chuẩn bị

  • Cài đặt Ubuntu version 20.04
  • Cấu hình 2 CPU, 2 GB Ram, 50 GB Disk
  • Trong bài, server của mình có IP 192.168.0.113

Chuẩn bị môi trường

Cấu hình hostname

hostnamectl set-hostname prometheus01

Cấu hình hostfile

cat >>/etc/hosts<<EOF
192.168.0.113  prometheus01
EOF

Bước 1: Chuẩn bị môi trường

Update OS

sudo apt update

Tải bản release từ Github Prometheus

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

Bước 2: Giải nèn và copy tới thư mục

tar xvf prometheus-2.37.9.linux-amd64.tar.gz
cd prometheus-2.37.9.linux-amd64

sudo mkdir -p /etc/prometheus
sudo mkdir -p /var/lib/prometheus
sudo mv prometheus promtool /usr/local/bin/
sudo mv consoles/ console_libraries/ /etc/prometheus/
sudo mv prometheus.yml /etc/prometheus/prometheus.yml

Cầu hình Prometheus

cat <<EOF > /etc/prometheus/prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']
EOF

Bước 3: Kiểm tra version Prometheus

prometheus --version
promtool --version

Bước 4: Tạo mới user và group cho daemon prometheus

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Bước 5: Phân quyền thư mục

sudo chown -R prometheus:prometheus /etc/prometheus/  /var/lib/prometheus/
sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Bước 6: Tạo mới systemd

sudo vi /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Restart=always
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 \
    --web.listen-address=0.0.0.0:9090

[Install]
WantedBy=multi-user.target

Bước 7: Khởi tạo dịch vụ

sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus

Kết quả

Kiểm tra

Truy cập địa chỉ Dashboard: http://192.168.0.113:9090/graph

Truy cập địa chỉ metrics: http://192.168.0.113:9090/metrics

Nguồn

https://github.com/hocchudong/ghichep-prometheus/blob/master/1.Gioi_thieu_Prometheus.md

Leave a Reply