Site logo
Authors
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Published on
Published on

Hướng dẫn cài đặt và setup Prometheus cùng với Grafana trên AWS Ec2 - Phần 2

Ở bài viết này ta sẽ sử dụng AWS EC2 để cài cài đặt và setup Prometheus cùng với Grafana Chúng ta sẽ tạo 3 EC2 instance như sau:

    1. machine-001: hệ thống mục tiêu cần monitoring
    1. Prometheus: máy chủ dùng để cài đặt Prometheus
    1. Grafana: máy chủ dùng để cài đặt Grafana Create Ec2 for monitoring Các bạn có thể xem cách tạo EC2 instance: ở đây

Cài đặt Prometheus

  • Bạn truy cập vào: https://prometheus.io/download/
  • Tìm đến mục Prometheus
  • Chọn OS là linux và copy link Alt text
  • Access vào Server Ec2 Prometheus và cài đặt theo các bước như sau:
# Download file
https://github.com/prometheus/prometheus/releases/download/v2.53.3/prometheus-2.53.3.linux-amd64.tar.gz

# Giải nén file gz
tar xzf prometheus-2.53.3.linux-amd64.tar.gz

## Kiểm ta các file 
ls -l 
[ec2-user@ip-172-31-35-31 ~]$ ls -l
total 101768
drwxr-xr-x. 4 ec2-user ec2-user       132 Nov  5 12:37 prometheus-2.53.3.linux-amd64
-rw-rw-r--. 1 ec2-user ec2-user 104207826 Nov  5 12:42 prometheus-2.53.3.linux-amd64.tar.gz

Tiếp theo ta thay đổi đường dẫn lại cho dễ nhìn

## rename file cho dễ nhìn
mv prometheus-2.53.3.linux-amd64 prometheus

Cấu trúc thư mục prometheus sẽ như sau

├── LICENSE
├── NOTICE
├── console_libraries
│   ├── menu.lib
│   └── prom.lib
├── consoles
│   ├── index.html.example
│   ├── node-cpu.html
│   ├── node-disk.html
│   ├── node-overview.html
│   ├── node.html
│   ├── prometheus-overview.html
│   └── prometheus.html
├── prometheus
├── prometheus.yml
└── promtool

Cấu hình prometheus

Các thông tin cấu hình prometheus sẽ nằm ở file prometheus.yml File prometheus.yml sẽ có nội dung mặc định như sau:

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]

Cấu hình thêm target

Để prometheus có thể monitoring hệ thống machine-001 thì ta cần thêm thông tin target của machine-001 vào trong file cấu hình như sau:

vim prometheus.yml
    static_configs:
      - targets: ["localhost:9090", "172.31.33.216:9100"]

54.178.33.52: public 172.31.33.216: private

Run prometheus

Sau khi cấu hình xong thì ta sẽ tiến hành run prometheus.

./prometheus

Sau khi chạy lệnh trên thì ta được kết quả như sau. Alt text Để ý dòng Server is ready to receive web requests cho thấy rằng prometheus đã chạy thành công.

Cài đặt Grafana

Bước tiếp theo ta sẽ cài đặt Grafana để hiển thị dữ liệu mà prometheus thu thập được. Để tìm hiểu cách cài đặt Grafana, bạn có thể xem ở phần sau tại đây: Hướng dẫn cài đặt Grafana và tạo dashboard từ prometheus

Nguồn tham khảo

  • https://prometheus.io/
  • https://prometheus.io/download/