Prometheus là một bộ công cụ và cảnh báo mã nguồn mở được xây dựng bởi SoundCloud và tham gia vào tổ chức Cloud Native Computing Foundation vào năm 2016. Promtheus sẽ chủ động pull (kéo) các metrics thông qua HTTP theo các khoảng thời gian cố định mà chúng ta thiết lập, hiển thị các kết quả thu thập được và có thể kích hoạt cảnh báo nếu một số điều kiện được thõa mãn theo điều kiện mà chúng ta cấu hình.

Yêu cầu

Yêu cầu cài đặt đối với hệ điều hành là CentOS 7 như sau:

  • CPU: 2 Core
  • RAM: 2 GB
  • Disk: 40GB

Lưu ý: trong bài IP của máy cài đặt prometheus là 10.10.10.188

Cài đặt prometheus

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

Cập nhật hệ điều hành:

yum install epel-release -y
yum update -y

Thiết lập hostname

hostnamectl set-hostname prometheus-local

Tắt Firewalld và Selinux:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld

Cấu hình đồng bộ thời gian

timedatectl set-timezone Asia/Ho_Chi_Minh

yum -y install chrony
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
timedatectl set-local-rtc 0

Khởi động lại máy ảo cài đặt prometheus

init 6

Bước 2: Cài đặt prometheus

Cài đặt wget để download file cài đặt prometheus

yum install wget -y

Tiến hành lấy đường dẫn download từ trang chủ theo như mô tả ở hình bên dưới:

  • 1 – Click chuột phải vào đường dẫn file cài đặt của Linux
  • 2 – Chọn Coppy link address để lấy đường dẫn cài đặt

Tiến hành tải về gói cài đặt

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

Tạo mới user prometheus

useradd --no-create-home --shell /bin/false prometheus

Tạo mới các thư mục cần thiết như bên dưới

mkdir /etc/prometheus
mkdir /var/lib/prometheus

Phân quyền cho các thư mục

chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus

Giải nén file cài đặt vừa tải

tar -xzvf prometheus-2.18.1.linux-amd64.tar.gz

Đổi tên thư mục và sao chép 2 file promtool prometheus tới thư mục /usr/local/bin

mv prometheus-2.18.1.linux-amd64 prometheuspackage
cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/

Phân quyền cho 2 file mới chuyển

chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool

Sao chép consoles console_libraries tới thư mục /etc/prometheus

cp -r prometheuspackage/consoles /etc/prometheus
cp -r prometheuspackage/console_libraries /etc/prometheus

Phân quyền lại thư mục

chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries

Tạo mới file cấu hình prometheus.yml

vi /etc/prometheus/prometheus.yml

Với nội dung như sau

global:
  scrape_interval: 10s

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

Thay đổi quyền của file prometheus.yml

chown prometheus:prometheus /etc/prometheus/prometheus.yml

Tạo mới file systemd cho prometheus

vi /etc/systemd/system/prometheus.service

Với nội dung như sau

[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

Khởi động lại prometheus

systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus

Truy cập vào đường dẫn http://10.10.10.188:9090/graph

Tới đây là chúng ta đã cài đặt thành công prometheus.

Chúc các bạn thành công !