Розподільник Цілей
Оператор OpenTelemetry постачається з додатковим компонентом, Розподільник Цілей (Target Allocator, TA). Коротко кажучи, TA є механізмом для розʼєднання функцій виявлення сервісів та збору метрик Prometheus таким чином, щоб їх можна було масштабувати незалежно. Колектор керує метриками Prometheus без необхідності встановлювати Prometheus. TA керує конфігурацією Prometheus Receiver Колектора.
TA виконує дві функції:
- Рівномірний розподіл цілей Prometheus серед пулу Колекторів
- Виявлення користувацьких ресурсів 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.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!