प्रोमेथियस कॉन्फ़िगरेशन फ़ाइलों को कैसे विभाजित करें?


10

अभी हम अपनी निगरानी के लिए प्रोमेथियस का उपयोग कर रहे हैं और हमारे पास बहुत सारे कॉन्फिगर हैं (हमारी प्रोमेथियस.माइल मुख्य कॉन्फिग फाइल 1400+ लाइन लंबी है)।

मैं इसे तार्किक समूहों (शायद DEV / TEST / PROD?) में विभाजित करना चाहूंगा, लेकिन प्रोमेथियस कॉन्फ़िगरेशन फ़ाइल सिंटैक्स में "शामिल" (या समान) का उपयोग करने के तरीके के रूप में मुझे कोई दस्तावेज़ नहीं मिल सकता है।

क्या किसी ने अपने प्रोमेथियस कॉन्फिग फाइल के साथ ऐसा किया है? यदि ऐसा है, तो आपने यह कैसे किया?


एक स्क्रिप्ट में कई फ़ाइलों को एक में शामिल करने के बारे में क्या?
gf_

हाँ, मुझे लगता है कि मैं क्या करने जा रहा हूँ। लेकिन सबसे अच्छा यह "वर्कअराउंड" है। मैं एक छोटी सी विन्यास फाइल बनाने में सक्षम होना चाहता था, जो कि विन्यास का परीक्षण करने के लिए "job_name" को परिभाषित कर रहा था (मुझे लगता है कि स्क्रैप को हटाने के "विकास") और फिर इसे आज़माने के लिए "पुनः लोड" कहें।
srkiNZ84

जवाबों:


8

प्रोमेथियस कॉन्फिग फाइल (और इकोसिस्टम की अन्य कॉन्फिग फाइल) स्पष्ट रूप से टेंपलेटिंग के किसी भी रूप का समर्थन नहीं करता है। इसके बजाय यह आपके विन्यास प्रबंधन प्रणाली को संभालने के लिए बचा हुआ है।

इसके अतिरिक्त यह थोड़ा असामान्य लगता है कि आपके पास अपने विन्यास फाइल में देव / परीक्षण / ठेस अनुभाग हैं। आमतौर पर ए) आपके पास प्रति वातावरण प्रोमेथियस होगा और बी) इन प्रोमेथियस सर्वरों के बीच मुख्य अंतर envआपके लिए लेबल के लिए एक अलग मूल्य होगा external_labels


क्या यह "कांच के एकल फलक" विचार का उल्लंघन नहीं करता है? यदि हम प्रति वातावरण अलग-अलग उदाहरण देते हैं तो हम DEV को PROD मेट्रिक्स से तुलना करना कैसे उचित समझेंगे? क्या हमें इस उपयोग के मामले के लिए फेडेरेटेड प्रोमेथियस का उपयोग करना चाहिए?
srkiNZ84

उपयोग का मामला यह है कि हमारे पास अलग डीईवी / टेस्ट / प्रॉड कुबेरनेट क्लस्टर हैं। प्रत्येक क्लस्टर के लिए हम सेवा और पॉड (कंटेनर) ऑब्जेक्ट से सभी मैट्रिक्स प्राप्त करने के लिए "सेवा खोज" का उपयोग करते हैं।
srkiNZ84

1
प्रोमेथियस के पास कांच के विचार का एक भी फलक नहीं है, जो कि सिस्टम के सबसे खराब से परे किसी भी चीज के लिए अच्छी तरह से पैमाने पर नहीं है। यहां तक ​​कि प्रोमेथियस के मेट्रिक्स भी कांच के एक एकल फलक के लिए बहुत बड़े हैं, यह 4-5 की तरह अधिक है। सामान्य दृष्टिकोण ग्राफ्टाना में डेटाप्लेट्स सोर्सिंग का उपयोग करना होगा, और आप डैशबोर्ड्स की तुलना साइड से कर सकते हैं।
ब्रायन-ब्राज़ील

-1

आप अपने लक्ष्यों को एक अलग फाइल में लोड कर सकते हैं या कुछ सेवा खोज उपकरण का उपयोग कर सकते हैं 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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.