Devops

Cài đặt Prometheus và chạy Prometheus như một dịch vụ (service) trên Ubuntu 20.04

Để chạy Prometheus như một dịch vụ (service) trên Ubuntu 20.04, bạn sẽ muốn sử dụng systemd, hệ thống quản lý dịch vụ tiêu chuẩn trên nhiều bản phân phối Linux.

Dưới đây là các bước để thiết lập Prometheus như một dịch vụ bằng systemd:

Tải và giải nén Prometheus (nếu bạn chưa làm)

    wget https://github.com/prometheus/prometheus/releases/download/vX.X.X/prometheus-X.X.X.linux-amd64.tar.gz
    tar xvfz prometheus-*.tar.gz
    cd prometheus-*

Lưu ý: Thay X.X.X bằng phiên bản thích hợp bạn muốn tải về.

Di chuyển các file tin Prometheus và thiết lập thư mục

    sudo mv prometheus /usr/local/bin/
    sudo mv promtool /usr/local/bin/
    sudo mkdir /etc/prometheus
    sudo mkdir /var/lib/prometheus
    sudo mv prometheus.yml /etc/prometheus

Tạo một file tin dịch vụ systemd

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

Thêm nội dung sau vào file tin:

    [Unit]
    Description=Prometheus Monitoring
    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

Tạo user và group cho Prometheus

    sudo useradd -M -s /bin/false prometheus

Gán quyền cho thư mục và file:

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

Khởi động và bật dịch vụ

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

Kiểm tra tình trạng dịch vụ

    sudo systemctl status prometheus

Bây giờ, Prometheus sẽ chạy như một dịch vụ trên hệ thống của bạn và tự động khởi động lại khi máy khởi động. Bạn có thể truy cập Prometheus qua trình duyệt tại địa chỉ http://your_server_ip:9090/.

Hướng dẫn cài đặt Alertmanager

Alertmanager là một thành phần của hệ sinh thái Prometheus được thiết kế để xử lý cảnh báo. Nếu bạn muốn nhận cảnh báo từ Prometheus và chuyển tiếp chúng đến các hệ thống thông báo khác như Slack, email, PagerDuty, v.v., bạn cần cài đặt và cấu hình Alertmanager.

Bước 1: Tải và giải nén Alertmanager

wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
tar xvzf alertmanager-0.23.0.linux-amd64.tar.gz
cd alertmanager-0.23.0.linux-amd64

Bước 2: Di chuyển các file binary

sudo mv alertmanager /usr/local/bin/
sudo mv amtool /usr/local/bin/

Bước 3: Tạo cấu hình cơ bản cho Alertmanager

Tạo một file alertmanager.yml trong thư mục của bạn với nội dung cơ bản:

route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 5m
  repeat_interval: 3h 
  receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
  slack_configs:
  - api_url: 'YOUR_SLACK_WEBHOOK_URL'
    channel: '#NAME_CHANNEL'
    send_resolved: true

Đảm bảo thay thế YOUR_SLACK_WEBHOOK_URL với Webhook URL mà bạn đã tạo từ Slack.

Bước 4: Chạy Alertmanager

./alertmanager --config.file=alertmanager.yml

Sau khi Alertmanager đang chạy, bạn cần cấu hình Prometheus để gửi cảnh báo đến Alertmanager bằng cách thêm URL của Alertmanager vào file cấu hình prometheus.yml.

Ví dụ:

alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093

Đảm bảo khởi động lại Prometheus sau khi thay đổi cấu hình.

Hướng dẫn chi tiết cách chạy Alertmanager dưới dạng một dịch vụ systemd

Dưới đây là hướng dẫn chi tiết cách chạy Alertmanager dưới dạng một dịch vụ systemd trên một hệ thống Linux:

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

Đầu tiên, bạn nên đảm bảo rằng Alertmanager và tệp cấu hình alertmanager.yml của bạn đã được đặt tại một vị trí cụ thể trên hệ thống. Để đơn giản, chúng ta sẽ giả định rằng Alertmanager nằm trong thư mục /opt/alertmanager và tệp cấu hình nằm trong thư mục /etc/alertmanager.

Tạo file dịch vụ systemd

Tạo một file mới tại /etc/systemd/system/alertmanager.service với nội dung sau:

sudo nano /etc/systemd/system/alertmanager.service

Dán nội dung sau vào trình soạn thảo:

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

[Service]
Type=simple
User=alertmanager
Group=alertmanager
ExecStart=/opt/alertmanager/alertmanager --config.file=/etc/alertmanager/alertmanager.yml

[Install]
WantedBy=multi-user.target

Tạo người dùng và nhóm cho Alertmanager

Để tăng cường bảo mật, chúng ta nên chạy Alertmanager dưới một người dùng không có quyền đặc biệt:

sudo useradd --no-create-home --shell /bin/false alertmanager

Phân quyền cho thư mục và file:

sudo chown -R alertmanager:alertmanager /opt/alertmanager
sudo chown -R alertmanager:alertmanager /etc/alertmanager

Khởi động và kích hoạt dịch vụ

sudo systemctl daemon-reload
sudo systemctl start alertmanager
sudo systemctl enable alertmanager

Kiểm tra trạng thái dịch vụ

sudo systemctl status alertmanager

Điều này sẽ hiển thị trạng thái của dịch vụ Alertmanager, và nếu mọi thứ đều hoạt động đúng, bạn sẽ thấy rằng nó đang chạy.

Chúc mừng, bạn đã thiết lập thành công Alertmanager dưới dạng một dịch vụ systemd! Điều này có nghĩa là Alertmanager sẽ tự động bắt đầu mỗi khi hệ thống của bạn khởi động lại.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button
Close