Từ Chí Kiên
Intern
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.
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.
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
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.
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.
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"
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
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
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ụ
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:
Ở 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.
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.
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/
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.
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.
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
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.
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.
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"
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
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
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ụ
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.
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.
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/
Bài viết liên quan
Được quan tâm
Bài viết mới