Як розділити конфігураційні файли Prometheus?


10

Зараз ми використовуємо Prometheus для моніторингу, і ми маємо багато конфігурацій (наш головний конфігураційний файл prometheus.yml довжиною 1400 рядків).

Я хотів би розділити це на логічні групування (можливо, DEV / TEST / PROD?), Але я не можу знайти жодної документації щодо використання "включає" (або подібне) у синтаксисі файлу конфігурації Prometheus.

Хтось робив це зі своїм конфігураційним файлом Prometheus? Якщо так, то як це зробили?


А як щодо сценарію, що поєднує кілька файлів в один?
gf_

Так, я думаю, що це я повинен робити. Але в кращому випадку це "обхід". Я хотів би мати можливість створити невеликий конфігураційний файл, визначивши "ім'я_файла" для тестування конфігурацій ("розробка" скреблінгу конфігурацій, я думаю), а потім просто зателефонувати "перезавантажити", щоб спробувати його.
srkiNZ84

Відповіді:


8

Конфігураційний файл Prometheus (та інші конфігураційні файли в екосистемі) явно не підтримують жодної форми шаблонування. Натомість це залишається за вашою системою управління конфігурацією.

Крім того, звучить трохи незвично, що у вашому конфігураційному файлі є розділи dev / test / prod. Зазвичай а) у вас буде Прометей на середовище; б) головна відмінність цих серверів «Прометей» - інше значення для envмітки у вашому external_labels.


Це не порушує ідею "єдиного скла"? Як би ми не могли порівняти показник DEV з PROD, якщо ми мали окремі екземпляри на середовище? Чи слід використовувати для цього випадку федеративний Прометей?
srkiNZ84

Випадок використання полягає в тому, що у нас є окремі кластери DEV / TEST / PROD Kubernetes. Для кожного кластеру ми використовуємо "службу виявлення", щоб отримати всі показники з об'єктів Service та Pod (контейнер).
srkiNZ84

1
У Прометея немає жодної панелі скла, яка не підходить для нічого, крім самого крихітного системи. Навіть показники самого Прометея занадто великі для однієї скляної склянки, більше схожі на 4-5. Звичайним підходом було б використання шаблонів джерел даних у Графані, і ви можете порівнювати інформаційні панелі пліч-о-пліч.
Брайан-Бразилія

0

Ви можете завантажувати цілі в інші файли або використовувати якийсь інструмент виявлення служби, наприклад 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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.