Làm cách nào để tách tập tin cấu hình Prometheus?


10

Hiện tại chúng tôi đang sử dụng Prometheus để theo dõi và chúng tôi có rất nhiều cấu hình (tệp cấu hình chính prometheus.yml của chúng tôi dài hơn 1400 dòng).

Tôi muốn chia phần này thành các nhóm logic (có thể là DEV / TEST / SẢN PHẨM?) Nhưng dường như tôi không thể tìm thấy bất kỳ tài liệu nào về cách sử dụng "bao gồm" (hoặc tương tự) trong cú pháp tệp cấu hình Prometheus.

Có ai đã làm điều này với tập tin cấu hình Prometheus của họ? Nếu vậy, làm thế nào bạn làm điều đó?


Điều gì về một tập lệnh nối nhiều tập tin thành một?
gf_

Vâng, tôi nghĩ đó là những gì tôi sẽ phải làm. Nhưng tốt nhất đây là một "cách giải quyết". Tôi muốn có thể tạo một tệp cấu hình nhỏ, xác định "job_name" để kiểm tra cấu hình ("phát triển" của các cấu hình nạo mà tôi cho là) ​​và sau đó chỉ cần gọi "tải lại" để dùng thử.
srkiNZ84

Câu trả lời:


8

Tệp cấu hình Prometheus (và các tệp cấu hình khác trong hệ sinh thái) rõ ràng không hỗ trợ bất kỳ hình thức tạo khuôn mẫu nào. Thay vào đó, điều này tùy thuộc vào hệ thống quản lý cấu hình của bạn để xử lý.

Ngoài ra, có vẻ hơi bất thường khi bạn có các phần dev / test / prod trong tệp cấu hình của mình. Thông thường a) bạn sẽ có Prometheus cho mỗi môi trường và b) sự khác biệt chính giữa các máy chủ Prometheus này sẽ là một giá trị khác cho envnhãn trong của bạn external_labels.


Điều này không vi phạm ý tưởng "một ô kính" sao? Làm thế nào chúng ta có thể abele để so sánh DEV với số liệu SẢN XUẤT nếu chúng ta có các trường hợp riêng biệt cho mỗi môi trường? Chúng ta có nên sử dụng Prometheus liên kết cho trường hợp sử dụng này không?
srkiNZ84

Trường hợp sử dụng là chúng ta có các cụm Kubernetes DEV / TEST / PROD riêng biệt. Đối với mỗi cụm, chúng tôi sử dụng "khám phá dịch vụ" để lấy tất cả các số liệu từ các đối tượng Dịch vụ và Pod (container).
srkiNZ84

1
Prometheus không có một khung ý tưởng thủy tinh duy nhất, điều đó không có quy mô tốt cho bất cứ thứ gì ngoài hệ thống nhỏ nhất. Ngay cả số liệu của Prometheus cũng quá lớn đối với một ô kính duy nhất, nó giống như 4-5. Cách tiếp cận thông thường sẽ là sử dụng giao diện nguồn dữ liệu trong Grafana và bạn có thể so sánh các bảng điều khiển cạnh nhau.
brian-brazil

0

Bạn có thể giảm tải mục tiêu của mình sang một tệp khác hoặc sử dụng một số công cụ khám phá dịch vụ như consul.

  - job_name: yyy
    metrics_path: /probe
    scrape_interval: 10s
    scheme: https
    params:
      module:
        - http_2xx_LL
    static_configs:
      - targets: null
    file_sd_configs:
      - files:
          - prod-targets.yml
          - prod-misc-targets.yml
          - preprod-targets.yml
          - dev1-targets.yml
          - dev2-targets.yml
          - lab2-targets.yml
          - lab3-targets.yml
          - lab1-targets.yml
    relabel_configs:
      - source_labels:
          - __address__
    (...)

ví dụ về một YML riêng lẻ

- targets:
    - https://example0.example.com:8443/studio/
    - https://example1.example.com:8443/studio/
    - https://example2.example.com:8443/studio/
    - https://example3.example.com:8443/studio/
    - https://example4.example.com:8443/studio/
    - https://example5.example.com:8443/studio/
    - https://example.example.com/studio/
  labels:
    service: Studio
    env: Prod
    team: Nullmean
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.