web-dev-qa-db-ja.com

ターゲットごとに異なるスクレイプURL

アプリケーションのすべてのインスタンスには異なるURLがあります。ホスト名とともにターゲットのパスを取るようにprometheus.ymlを構成するにはどうすればよいですか?

scrape_configs:
- job_name:       'example-random'

# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s

static_configs:
  - targets: ['localhost:8090','localhost:8080']
    labels:
      group: 'dummy'
10
poojabh

現在、ジョブ内でターゲットごとにmetrics_pathを構成することはできませんが、ターゲットごとにmetrics_pathを定義できるように、ターゲットごとに個別のジョブを作成できます。

設定ファイルは次のようになります。

scrape_configs:
- job_name:       'example-target-1'
  scrape_interval: 5s
  metrics_path: /target-1-path-to-metrics
  static_configs:
    - targets: ['localhost:8090']
      labels:
        group: 'dummy'

- job_name:       'example-target-2'
  scrape_interval: 5s
  metrics_path: /totally-different-path-for-target-2
  static_configs:
    - targets: ['localhost:8080']
      labels:
        group: 'dummy-2'
11
Oliver

file_sd_config オプションを使用してこれを達成しました。すべてのターゲットは個別のファイルで記述され、YMLまたはJSON形式のいずれかです。

prometheus.yml

scrape_configs:
  - job_name: 'dummy'  # This will be overridden in targets.yml
    file_sd_configs:
      - files:
        - targets.yml

targets.yml

- targets: ['Host1:9999']
  labels:
    job: my_job
    __metrics_path__: /path1

- targets: ['Host2:9999']
  labels:
    job: my_job  # can belong to the same job
    __metrics_path__: /path2
4

アプリケーションのさまざまなパスを含めるには、__metrics_path__ラベルセットのラベルを変更する必要があると思います。

プロメテウス 構成ドキュメント はここで役立つことがわかります。 この記事 は、ラベルの付け直しを少し良く理解するのに役立つはずです。

4
ConorB

これは、プロメテウスを起動して実行するために使用した構成です。

プロメテウスエンドポイント:http://localhost:8080/appcontext/v1/actuator/prometheus

構成:/etc/prometheus/prometheus.ymlの下に以下の構成を追加します

- job_name: 'appdev'
    scrape_interval: 5s
    metrics_path: /appcontext/v1/actuator/prometheus
    static_configs:
      - targets: ['localhost:8082'] 
        labels:
          group: 'appdev'

0
Venkat