2016-04-12 16 views
1

Veri merkezlerinde çalışan birden çok Prometheus örneğimiz var (bunları DC Prometheus örnekleri olarak anlatacağım), ve bir başka Prometheus örneği (aşağıdaki metinde "ana" olarak adlandıracağız), Federasyon özelliğini kullanarak DC Prometheus örneklerinden metrikler topladığımız yer.Birden çok Prometheus örneğinden Prometheus metriklerini toplamak için federasyon nasıl kullanılır (her örnek example = "localhost: 9090")

Ana Prometheus, kendi başına {iş = 'prometheus'} değerlerini kazıyarak, aynı zamanda DC Prometheus örneklerinden de (her biri localhost'tan kazıma: 9090).

sorun Ana prometheus dışı için örnekler hakkında değiştirilmiş olmasıdır:

sindirerek üzerinde [1585] Hata UYARI dışı amacıyla numuneler numDropped = 369 kaynak = target.go: 475 hedef = dc1-prometheus: Bu çünkü içinde {job="prometheus"} dahil olduğunu tespit ettik 443

param '[] eşleşecek'.

Bunu etiket yeniden etiketleme ile çözmeye çalışıyorum, ancak tek DC Prometheus ile çalışıyorum ve sürekli değiştirme çalıştığımda, bunu işe alamıyorum (hala sipariş dışı hata alıyorum) Birden fazla hedef kullanırken ne kullanacağımı bile bilmiyorum.

- job_name: 'federate' 
    scrape_interval: 15s 

    honor_labels: true 
    metrics_path: '/prometheus/federate' 
    scheme: 'https' 

    params: 
     'match[]': 
     - '{job="some-jobs-here..."}' 
     - '{job="prometheus"}' 

    relabel_configs: 
    - source_labels: ['instance'] 
     target_label: 'instance' 
     regex: 'localhost:9090' 
     replacement: '??' # I've tried with 'dc1-prometheus:9090' and single target only.. no luck 

    target_groups: 
     - targets: 
     - 'dc1-prometheus' 
     - 'dc2-prometheus' 
     - 'dc3-prometheus' 

Sorum, hatadan kurtulmak için relabel_configs öğesinin nasıl kullanılacağıdır. Her yerde Prometheus 0.17 kullanıyorum.

cevap

5

Burada yapmanız gereken, her bir veri merkezi Prometheus sunucusunda benzersiz external_labels belirtmektir. Bu, bu etiketleri /federate uç noktasına eklemelerine ve içine girdiğiniz çakışan zaman serilerini engellemelerine neden olur.

Prometheus böyle bir durumda bir örnek vardır federating My blog yazısı:.

http://www.robustperception.io/scaling-and-federating-prometheus/ (O yalnızca değişiklikler etiketleri hedef olarak relabel_configs, burada yardımcı olamayacağını eklemek gerekir metric_relabel_configs geri geliyor ne gibi değişiklikler kazımak. Bkz. http://www.robustperception.io/life-of-a-label/)

+0

Çok teşekkür ederim. Bu umut verici görünüyor, ben bir deneyeyim! –

İlgili konular