現在、監視に Prometheus を使用しており、多くの構成があります(prometheus.ymlのメイン構成ファイルは1400行以上です)。
これを論理グループ(多分DEV/TEST/PROD?)に分割したいのですが、Prometheus構成ファイルの構文で「インクルード」(または同様のもの)を使用する方法に関するドキュメントが見つかりません。
誰かがPrometheus構成ファイルを使用してこれを行いましたか?もしそうなら、あなたはそれをどのように行いましたか?
Prometheus構成ファイル(およびエコシステム内の他の構成ファイル)は、どのような形式のテンプレートも明示的にサポートしていません。代わりに、これは処理する構成管理システムに任されています。
さらに、設定ファイルにdev/test/prodセクションがあることは少し変わっているように思えます。通常、a)環境ごとにPrometheusがあり、b)これらのPrometheusサーバー間の主な違いは、external_labels
のenv
ラベルの異なる値です。
ターゲットを別のファイルにオフロードするか、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