web-dev-qa-db-ja.com

Prometheus構成ファイルを分割する方法は?

現在、監視に Prometheus を使用しており、多くの構成があります(prometheus.ymlのメイン構成ファイルは1400行以上です)。

これを論理グループ(多分DEV/TEST/PROD?)に分割したいのですが、Prometheus構成ファイルの構文で「インクルード」(または同様のもの)を使用する方法に関するドキュメントが見つかりません。

誰かがPrometheus構成ファイルを使用してこれを行いましたか?もしそうなら、あなたはそれをどのように行いましたか?

10
srkiNZ84

Prometheus構成ファイル(およびエコシステム内の他の構成ファイル)は、どのような形式のテンプレートも明示的にサポートしていません。代わりに、これは処理する構成管理システムに任されています。

さらに、設定ファイルにdev/test/prodセクションがあることは少し変わっているように思えます。通常、a)環境ごとにPrometheusがあり、b)これらのPrometheusサーバー間の主な違いは、external_labelsenvラベルの異なる値です。

8
brian-brazil

ターゲットを別のファイルにオフロードするか、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__
    (...)

個々のYMLの例

- 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
0
Ivanov