При чтении конфигурации Prometheus документация и несколько примеров конфигураций очистки, я нашел несколько kubernetes_sd_configs с ролью service
& роль endpoints
& роль pod
- job_name: kube-state-metrics
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- action: keep
regex: prometheus;kube-state-metrics
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_label_component
- honor_labels: true
job_name: prometheus-pushgateway
kubernetes_sd_configs:
- role: service
relabel_configs:
- action: keep
regex: pushgateway
source_labels:
- __meta_kubernetes_service_annotation_prometheus_io_probe
- job_name: node-exporter
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_pod_container_port_number
target_label: __address__
Похоже, все эти роли могут очищать метрики от экземпляров,
Когда мы будем использовать конечные точки и когда мы будем использовать pod?
РЕДАКТИРОВАТЬ: мой реальный вопрос: какую роль (конечные точки или модуль) я должен использовать, если они оба обнаружат цель очистки?
что Вы предпочитаете? какие-нибудь примеры?
Kubernetes SD в Prometheus имеет набор так называемых «ролей», которые определяют, как собирать и отображать метрики. У каждой роли есть свой набор ярлыков, которые вы уже знаете из официальная документация. Вас интересуют:
service
: найдет и вернет каждую службу и ее порт
pod
: найдет контейнеры и вернет их контейнеры в качестве целей для получения метрик
endpoints
: создаст цели из каждой конечной точки для каждой службы, найденной в кластере
Некоторые примеры можно найти ниже:
По поводу дополнительных вопросов:
Служба ролей используется как зондирование черного ящика. Он не будет сообщать, сколько бэкендов стоит за этой службой.
конечные точки ролей используются для служб, предоставляющих веб-службы (имеют конечную точку http для подключения)
стручок обычно используется
Практически да. Обратите внимание, что pod role
обнаруживает все стручки и выставляет их контейнеры в качестве целей.
Я также настоятельно рекомендую вам проверить следующие источники:
Пожалуйста, дайте мне знать, помогло ли это.