SIEM/Log Management Cài đặt và chạy Prometheus

I. Tải xuống và giải nén
1. Lựa chọn tệp nhị phân

Để có thể tải được tệp nhị phân cần truy cập đến trang tải xuống của Prometheus [1]
Trên trang tải xuống sẽ bao gồm hai loại phiên bản mới nhất.
Phiên bản 3.15.0 sẽ là phiên bản mới nhất hiện tại và theo thông tin chính thức, phiên bản này sửa một số lỗi và có một số tính năng mới [2]:

- Hỗ trợ định dạng OM2.0, xử lí các cấu trúc dữ liệu chỉ số tiên tiến.
- Hỗ trợ thu thập qua Unix Domain Sockets, điều này cho phép Prometheus cào chỉ số trực tiếp qua các socket nội bộ thay vì bắt buộc phải mở cổng HTTP qua mạng TCP, tăng tính bảo mật và giảm overhead mạng cho các container chạy chung một host.
- Cho phép thay đổi cấp độ thu thập log mỗi khi cấu hình chạy lại thông qua runtime.log_level.
- Thêm cờ --auto-gomemlimit.refresh-interval cho phép phát hiện lại định kỳ và giới hạn bộ nhớ của container hoặc hệ thống và cập nhật GOMEMLIMIT trong thời gian chạy.

1791557748203.png

Hình 1. Phiên bản nhị phân mới nhất của Prometheus

Còn phiên bản 3.13.4 là phiên bản có hỗ trợ dài hạn [3] mới nhất, do chu kỳ phát hành cứ mỗi 6 tuần sẽ có một phiên bản phụ mới. Người dùng phải liên tục cập nhật phiên bản mới hơn do phiên bản phụ sẽ và một số lỗi, dù Prometheus có hỗ trợ API cập nhật nhưng việc cập nhật có thể ảnh hưởng đến hệ thống đang chạy.

1791557821188.png

Hình 2. Phiên bản nhị phân LTS mới nhất của Prometheus

Khi lựa chọn giữa hai phiên bản, do những tính năng mới có ích nhiều hơn cho những hệ thống do người thành thạo công nghệ Prometheus, khi mới tìm hiểu về công nghệ thì phiên bản có hỗ trợ dài hạn sẽ tốt hơn.

2. Tệp nhị phân
Sau khi tải tệp nén và giải nén bằng tar

1791557861646.png

Hình 3. Giải nén tệp nén

Trong đó sẽ có hai tệp nhị phân:
- prometheus: tệp này chạy và giám sát toàn bộ stack và các hoạt động bao gồm bộ thu thập, cơ sở dữ liệu chuỗi thời gian, bộ phận tính toán trên chuỗi thời gian PromQL, bộ phận đánh giá theo quy tắc, bộ cảnh báo, giao diện web. [4]
- promtool: tệp này dùng để quản lí offline, thử nghiệm và debug, cụ thể cung cấp các câu lệnh sau [5]:
+ Check: Kiểm tra trạng thái của tài nguyên
+ Query: Truy vấn trong máy chủ Prometheus
+ Debug: Lấy thông tin debug
+ Push: Đẩy đến máy chủ
+ Test: Thử nghiệm đơn vị
+ tsdb: Chạy lệnh tsdb
+ promql: Định dạng và chỉnh sửa PromQL
- Tệp yaml chứa thông tin cấu hình Prometheus

II. Prometheus cơ bản
1. Cài đặt môi trường
Tạo một người dùng riêng để chạy hệ thống Prometheus [6].
Sao chép hai tệp nhị phân về /usr/local/bin và tệp yaml vào /etc/prometheus, điều này nhằm phân biệt vị trí làm việc.

1791557985220.png

Hình 4. Tạo người dùng và môi trường làm việc

2. Cấu hình Prometheus
Vào tệp yaml sẽ bật một số cấu hình cơ bản sau [7]:
- Để chu kì thu thập và chu kì đánh giá là 15 giây.
- Cấu hình thu thập là Prometheus sẽ tự lấy thông tin truy cập đến giao diện web của Prometheus.

1791558009936.png

Hình 5. Tệp cấu hình prometheus.yml

Sau đó sử dụng công cụ promtool để kiểm tra cú pháp của tệp trên bằng cách sử dụng "check config"

1791558029720.png

Hình 6. Kiểm tra cú pháp prometheus.yml

Sau khi Prometheus được cấu hình, tạo một tệp chạy Prometheus là một dịch vụ:
- Để tệp chương trình chạy đầu tiên sẽ là chương trình prometheus nhị phân
- Tệp cấu hình là tệp prometheus.yml
- Lưu trữ tsdb ở /var/lib/prometheus
- Mở cổng lắng nghe 9090 cho giao diện web

1791558045660.png

Hình 7. Cấu hình dịch vụ Prometheus

Trước khi chạy dịch vụ, kiểm tra phiên bản của Prometheus sẽ là 3.13.4

1791558060820.png

Hình 8. Kiểm tra phiên bản Prometheus

Chạy dịch vụ và kiểm tra trạng thái dịch vụ

1791558077399.png

Hình 9. Chạy dịch vụ Prometheus

3. Thao tác truy vấn trên Prometheus
Khi truy cập đến http://localhost:9090 và truy vấn với câu lệnh:
Mã:
rate(prometheus_http_requests_total[1m])

Ở câu lệnh này, sẽ lọc tất cả các truy vấn http đến localhost ở cổng 9090 trong vòng một phút gần nhất, nghĩa là khi truy cập đến trang truy vấn này.

1791558418271.png

Hình 10. Truy vấn http request

Để xem các request ở dạng tổng quát hơn, chuyển sang dạng đồ thị, đường màu xanh tăng lên theo thời gian khi các dịch vụ trên trang web được tải lên.

1791558434403.png

Hình 11. Truy vấn ở dạng biểu đồ

Tài liệu tham khảo
[1] https://prometheus.io/download/
[2] https://github.com/prometheus/prometheus/releases/tag/v3.15.0
[3] https://prometheus.io/docs/introduction/release-cycle/
[4] https://prometheus.io/docs/prometheus/latest/command-line/prometheus/
[5] https://prometheus.io/docs/prometheus/latest/command-line/promtool/
[6] https://www.lineserve.net/tutorials/how-to-install-prometheus
[7] https://alertkick.com/blog/how-to-install-prometheus-ubuntu/
 
Back
Top