2016-11-02 4 views
0

私のプロメテウスのサーバーは、領事からターゲット(または領事の言葉の "サービス")のリストを取得します。私は、これらのターゲットのサブセットを監視したいだけです。これはPrometheusの正規表現メカニズムを介して可能になるはずですが、正しい構成では私を逃すことになります。これはどうですか?プロメテウス:コンスルタグに基づいてターゲットをドロップする方法

答えて

2

後世のために私は、Webを洗い上げてきたし、そのを行う方法を示し、単一の例がありませんので、 - 次の設定が「無視・アット・プロメテウス」タグと

# ignore consul services with 'ignore_at_prometheus' tag 
# https://www.robustperception.io/little-things-matter/ 
relabel_configs 
- source_labels: ['__meta_consul_tags'] 
    regex: '(.*),ignore-at-prometheus,(.*)' 
    action: drop 
をマークされたすべての領事サービスをドロップします
0

次の設定を使用して、この問題に非常によく似た解決策を使用しました。これは、特定のタグを持つサービスを除外するのではなく、特定のタグを持つサービスだけをスクラップすることを可能にします。

は、ここに私の設定のscrape_configsセクションです:

scrape_configs: 
    - job_name: 'consul_registered_services' 
    scrape_interval: 5s 
    metrics_path: '/prometheus' 
    consul_sd_configs: 
    - server: 'my-consul-server:8500' 
     token: 'xyz' 
    relabel_configs: 
    - source_labels: ['__meta_consul_tags'] 
     regex: '^.*,metrics_method=prometheus-servlet,.*$' 
     action: keep 
    - source_labels: ['__meta_consul_node'] 
     target_label: instance 
    - source_labels: ['__meta_consul_service'] 
     target_label: service 
    - source_labels: ['__meta_consul_tags'] 
     target_label: tags 

私はその後、metrics_method=prometheus-servletタグと関連するすべてのサービスを登録することを確認し、残りは無視されます。

再ラベル設定のドキュメントは、https://prometheus.io/docs/operating/configuration/#relabel_configです。

領事サービスの検出構成のドキュメントは、https://prometheus.io/docs/operating/configuration/#consul_sd_configです。

関連する問題