Cài đặt Prometheus trên CentOS 7

28/09/2021

Prometheus là một trong số các công cụ dùng để giám sát rất hữu ích hiện nay. Dưới đây sẽ là một loạt các bài hướng dẫn cài đặt cấu hình Prometheus server thu thập metric từ các exporter cơ bản nhất (các thông số trên các node CentOS7, Windows,…), theo dõi tập trung một cách trực quan trên Grafana, cảnh báo đến người dùng qua một số kênh chat như: Gmail, Telegram, Slack.

1. Mô hình

Mô hình tổng quát

Mô hình xây dưng một hệ thống monitor đơn giản với Prometheus

Mô hình lab

IP Planning

2. Cài đặt và cấu hình Prometheus server

Hướng dẫn cài đặt Prometheus server trên CentOS 7 từ source

Bước 1: Cài một số gói cần thiết

yum install wget -y

Bước 2: Tạo một user cho service prometheus

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

Bước 3: Tạo và phân quyền thư mục cấu hình và thư mục lưu trữ cho Prometheus

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

Bước 4: Tải source code prometheus

cd /opt
wget https://github.com/prometheus/prometheus/releases/download/v2.27.1/prometheus-2.27.1.linux-amd64.tar.gz -O prometheus.tar.gz
tar xvf prometheus.tar.gz 
mv prometheus-2.27.1.linux-amd64 prometheus

cp prometheus/prometheus /usr/local/bin/
cp prometheus/promtool /usr/local/bin/

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

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

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

rm -rf prometheus*
cd -

Bước 5: Tạo một file cấu hình để tự scrape metric của chính prometheus server

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

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

Prometheus sẽ thực hiện scrape metric với chu kỳ là 5s lấy một lần, nếu một job được định nghĩa mà không có scrape_interval thì chu kỳ sẽ được tính theo scrape_interval trong phần global là 15s một lần.

Bước 6: Quản lý service bằng systemd

cat <<EOF > /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
EOF

Bước 7: Khởi động Prometheus service:

systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus

Bước 8: Hoàn tất cài đặt

Truy cập vào giao diện web của Prometheus với link:

http://172.16.72.171:9090/graph

Nếu thành công bạn sẽ thấy giao diện như sau:

Metric của chính Prometheus server có thể truy cập vào http://172.16.72.171:9090/metrics để xem

Về định dạng và chi tiết về các metrics tôi sẽ giới thiệu trong một bài viết sau này.

Như vậy đã cài đặt và cấu hình xong Prometheus server, bài tiếp theo tôi sẽ hướng dẫn các bạn cài đặt và cấu hình Prometheus thu thập metric trên một node CentOS 7.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Mẹo #2 : Cách tìm các chương trình sử dụng RAM, CPU trên Linux

Việc giám sát các tiến trình sử dụng tài nguyên hệ thống là thật sự quan trọng. Nó sẽ cho chúng...
30/12/2020

Hướng dẫn cảnh báo checkmk cùng với telegram

Cảnh báo qua mail cùng với check_mk cũng là một cách. Nhưng có nhiều người lại thích dùng với telegram....
30/12/2020

[10 phút ] [Ansible] [Cơ bản] [Phần 4] Viết Playbook trên Ansible

Qua ba bài viết trước, chúng ta đã làm quen cơ bản với Ansible. Trong bài viết này, chúng ta sẽ...
30/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

Các tiện ích và công cụ để quản lý proxy.
27/02/2023

Các lỗi thường gặp khi sử dụng proxy và cách khắc phục chúng.
27/02/2023

Tác động của việc sử dụng proxy đến tốc độ kết nối internet của bạn.
27/02/2023

Các cách để kiểm tra tốc độ và độ ổn định của proxy.
27/02/2023

Lý do tại sao bạn nên sử dụng proxy khi truy cập web đen
27/02/2023