Cấu hình Prometheus URL với Reverse Proxy

Cấu hình Prometheus URL với Reverse ProxyCuongquach.com | Bài viết này không hướng dẫn chi tiết việc cài đặt Reverse ProxyPrometheus. Mà chỉ note nho nhỏ vài vấn đề khi Prometheus được truy cập thông qua Reverse Proxy thì bạn cần lưu ý cấu hình một số chỗ. Thậm chí đôi khi, người dùng sẽ không truy cập trực tiếp vào URL giao diện người dùng của Prometheus, thay vào đó sử dụng một cấp URL khác. Làm thế nào để bạn cấu hình công việc này?

cau-hinh-prometheus-url-voi-reverse-proxy

Có thể bạn quan tâm chủ đề khác
Prometheus là gì ?
Cacti là gì ?
Nagios là gì ? 
Zabbix là gì ?

Nếu Prometheus đứng sau một reverse proxy như Nginx, đặc biệt là Prometheus không nằm ở thư mục gốc ‘document_root‘ của Virtual Host tên miền trong Nginx thì làm sao để cấu hình Prometheus xử lý request HTTP từ Reverse Proxy với thông tin URL resource khác. Giả sử bạn có Prometheus chạy trên cổng mặc định 19090 và Nginx làm reverse proxy (lắng nghe port 80) được cài đặt với cấu hình sau:

http {
 server {
   listen 0.0.0.0:80;
   location /prometheus/ {
     proxy_pass http://localhost:19090/prometheus/;
   }
 }
}

Cấu hình Nginx reverse proxy trên sẽ giúp bạn truy cập giao diện quản lý Prometheus qua URL cấp : http://<ip>/prometheus/ và Nginx sẽ bao gồm URL /prometheus/ khi chuyển yêu cầu xử lý request tới Prometheus ở backend. Vì vậy để Prometheus có thể hiểu được URL khác và xử lý bạn cần cấu hình chạy giao diện web Prometheus ở đường dẫn URL như sau :

# vi /etc/systemd/system/prometheus.service
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus \
  --web.external-url="http://localhost:19090/prometheus/" \
  --web.listen-address=127.0.0.1:19090
# systemctl restart prometheus.service

Chú thích :

  • web.external-url : quy định path url root mà web admin Prometheus sẽ xử lý request.
  • web.listen-address : quy định địa chỉ IP và port mà dịch vụ Prometheus sẽ lắng nghe.

Bạn nên lưu ý rằng với URL khác như này, tiền tố /prometheus/ sẽ được yêu cầu cho tất cả truy vấn truy cập HTTP vào các trang URL tính năng của Prometheus. Số liệu metrics lúc này sẽ có trên đường dẫn: http://<ip>/prometheus/metrics chẳng hạn.

Nguồn: https://cuongquach.com/

Previous articleBackup và Restore dữ liệu Elasticsearch Index với Elasticdump
Next articleEbook Diving Deep Into Kubernetes Networking (PDF)
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !