- Authors
- Name
- Nguyễn Đức Xinh
- 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:
-
- machine-001: hệ thống mục tiêu cần monitoring
-
- Prometheus: máy chủ dùng để cài đặt Prometheus
-
- Grafana: máy chủ dùng để cài đặt Grafana 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
- 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.
Để ý 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/