Розподільник Цілей

Інструмент для розподілу цілей PrometheusReceiver на всі розгорнуті екземпляри Колектора

Оператор OpenTelemetry постачається з додатковим компонентом, Розподільник Цілей (Target Allocator, TA). Коротко кажучи, TA є механізмом для розʼєднання функцій виявлення сервісів та збору метрик Prometheus таким чином, щоб їх можна було масштабувати незалежно. Колектор керує метриками Prometheus без необхідності встановлювати Prometheus. TA керує конфігурацією Prometheus Receiver Колектора.

TA виконує дві функції:

  1. Рівномірний розподіл цілей Prometheus серед пулу Колекторів
  2. Виявлення користувацьких ресурсів Prometheus

Початок роботи

При створенні власного ресурсу OpenTelemetryCollector (CR) та встановленні TA як увімкненого, Оператор створить нове розгортання та сервіс для обслуговування конкретних директив http_sd_config для кожного podʼа Колектора як частини цього CR. Він також змінить конфігурацію Prometheus receiver у CR, щоб вона використовувала http_sd_config від TA. Наступний приклад показує, як почати роботу з Розподільником Цілей:

apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
  name: collector-with-ta
spec:
  mode: statefulset
  targetAllocator:
    enabled: true
  config: |
    receivers:
      prometheus:
        config:
          scrape_configs:
          - job_name: 'otel-collector'
            scrape_interval: 10s
            static_configs:
            - targets: [ '0.0.0.0:8888' ]
            metric_relabel_configs:
            - action: labeldrop
              regex: (id|name)
              replacement: $$1
            - action: labelmap
              regex: label_(.+)
              replacement: $$1

    exporters:
      # ПРИМІТКА: До v0.86.0 використовуйте `logging` замість `debug`.
      debug:

    service:
      pipelines:
        metrics:
          receivers: [prometheus]
          processors: []
          exporters: [debug]

За лаштунками, Оператор OpenTelemetry перетворить конфігурацію Колектора після узгодження на наступну:

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: otel-collector
          scrape_interval: 10s
          http_sd_configs:
            - url: http://collector-with-ta-targetallocator:80/jobs/otel-collector/targets?collector_id=$POD_NAME
          metric_relabel_configs:
            - action: labeldrop
              regex: (id|name)
              replacement: $$1
            - action: labelmap
              regex: label_(.+)
              replacement: $$1

exporters:
  debug:

service:
  pipelines:
    metrics:
      receivers: [prometheus]
      processors: []
      exporters: [debug]

Зверніть увагу, як Оператор видаляє будь-які наявні конфігурації виявлення сервісів (наприклад, static_configs, file_sd_configs тощо) з розділу scrape_configs та додає конфігурацію http_sd_configs, що вказує на екземпляр Розподільника Цілей, який він створив.

Для більш детальної інформації про Розподільник Цілей дивіться TargetAllocator.


Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (2a3c5648)