[Prometheus] Phần 2: Cài đặt Prometheus và Grafana

Cài đặt Prometheus

Trước tiên cần cập nhật danh sách gói:

sudo apt update

Tạo thư mục lưu trữ các file cấu hình cho Prometheus:

sudo mkdir -p /etc/prometheus

Tạo thư mục lưu trữ data cho Prometheus:

sudo mkdir -p /var/lib/prometheus

Lấy link download Prometheus mới nhất: https://prometheus.io/download/

wget https://github.com/prometheus/prometheus/releases/download/v3.0.1/prometheus-3.0.1.linux-amd64.tar.gz

Giải nén file vừa tải về:

tar -xvf prometheus-3.0.1.linux-amd64.tar.gz

Di chuyển vào thư mục vừa giải nén xong:

cd prometheus-3.0.1.linux-amd64

Chuyển 2 thư mục prometheus và promtool vào thư mục /usr/local/bin/

sudo mv prometheus promtool /usr/local/bin/

Chuyển file cấu hình prometheus.yml vào thư mục /etc/prometheus/

sudo mv prometheus.yml /etc/prometheus/

Bây giờ đã có thể chạy được Prometheus, kiểm tra phiên bản:

prometheus --version

Kết quả như sau:

Tiếp theo tạo dịch vụ Prometheus để có thể chạy như một dịch vụ hệ thống:

Trước tiên cần tạo nhóm người dùng riêng cho Prometheus và phân quyền các thư mục cần thiết:

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/ /var/lib/prometheus/
sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Tạo và thêm đoạn config dưới vào file /etc/systemd/system/prometheus.service. Đoạn cấu hình này là một file systemd unit để cấu hình và quản lý dịch vụ Prometheus. Dưới đây là giải thích từng phần trong đoạn cấu hình:

  • [Unit]
    • Description: Mô tả ngắn gọn về dịch vụ Prometheus.
    • network-online.target: Xác định rằng dịch vụ Prometheus cần được khởi động sau khi mạng đã hoạt động. Điều này đảm bảo rằng Prometheus sẽ có kết nối mạng khi khởi động.
    • network-online.target: Xác định rằng dịch vụ Prometheus sẽ được khởi động sau khi mạng đã hoạt động. Điều này đảm bảo rằng Prometheus sẽ có kết nối mạng khi khởi động.
  • [Service]
    • User: Người dùng được sử dụng để chạy dịch vụ Prometheus. Trong trường hợp này, người dùng là “prometheus”.
    • Group: Nhóm của người dùng prometheus.
    • Restart: Chế độ khởi động lại dịch vụ. Trong trường hợp này, dịch vụ sẽ được khởi động lại luôn khi cần thiết.
    • Type: Loại dịch vụ. Ở đây, nó được đặt thành “simple” để chỉ định rằng quá trình chạy của dịch vụ sẽ được theo dõi bởi systemd.
    • ExecStart: Lệnh khởi chạy dịch vụ. Trong trường hợp này, Prometheus được khởi chạy với các cờ cấu hình như --config.file--storage.tsdb.path--web.console.templates--web.console.libraries, và --web.listen-address
  • [Install]
    • WantedBy: Mục tiêu cài đặt của dịch vụ. Trong trường hợp này, dịch vụ sẽ được cài đặt trong multi-user.target, nghĩa là dịch vụ sẽ được chạy khi hệ thống chuyển sang chế độ đa người dùng.

Mở file cấu hình và thêm đoạn cấu hình sau vào file /etc/systemd/system/prometheus.service

sudo nano /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

Sử dụng lệnh sau để Reload lại hệ thống, khởi chạy và cho phép prometheus chạy cùng OS:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

Kiểm tra lại trạng thái

sudo systemctl status prometheus

Kết quả như sau:

Truy cập url của Prometheus để kiểm tra http://<ipaddr>:9090

Cài đặt Grafana

Lấy link cài đặt phiên bản mới nhất: https://grafana.com/grafana/download

Chạy các lệnh sau để tiến hành cài đặt:

sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.4.0_amd64.deb
sudo dpkg -i grafana-enterprise_11.4.0_amd64.deb
sudo systemctl daemon-reload
sudo service grafana-server start
sudo systemctl start grafana-server
sudo systemctl enable grafana-server.service
sudo systemctl status grafana-server

Sau khi chạy xong, truy cập URL Grafana http://<ipaddr>:3000
Default password: admin/admin
Sau khi đăng nhập lần đầu tiên sẽ được yêu cầu tạo password mới.

Kết nối datasource Prometheus, vào Connections > Data sources > Chọn Prometheus > Nhập thông tin Server Prometheus vào.