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.
- 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
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.