Я использую федерацию prometheus для очистки метрик из нескольких кластеров k8s. Он работает нормально, и я хотел бы создать некоторую панель мониторинга на графане, которую я хотел бы фильтровать панели мониторинга по арендатору (кластеру). Я пытаюсь использовать переменные, но вещи, которые я не понимаю, даже если я что-то не указал специально для kube_pod_container_status_restars_total
, он содержит метку, указанную ниже static_configs, но kube_node_spec_unschedulable
нет.
Итак, откуда эти различия и что мне делать? Между тем, как лучше всего настроить панель мониторинга, которая может предоставлять фильтр панели мониторинга по нескольким именам кластера? я должен использовать перемаркировку?
kube_pod_container_status_restarts_total{app="kube-state-metrics",container="backup",....,tenant="022"}
kube_node_spec_unschedulable{app="kube-state-metrics",....kubernetes_pod_name="kube-state-metrics-7d54b595f-r6m9k",node="022-kube-master01",pod_template_hash="7d54b595f"
Сервер Prometheus
prometheus.yml:
rule_files:
- /etc/config/rules
- /etc/config/alerts
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090
Центральный кластер
scrape_configs:
- job_name: federation_012
scrape_interval: 5m
scrape_timeout: 1m
honor_labels: true
honor_timestamps: true
metrics_path: /prometheus/federate
params:
'match[]':
- '{job!=""}'
scheme: https
static_configs:
- targets:
- host
labels:
tenant: 012
tls_config:
insecure_skip_verify: true
- job_name: federation_022
scrape_interval: 5m
scrape_timeout: 1m
honor_labels: true
honor_timestamps: true
metrics_path: /prometheus/federate
params:
'match[]':
- '{job!=""}'
scheme: https
static_configs:
- targets:
- host
labels:
tenant: 022
tls_config:
insecure_skip_verify: true
honor_labels=true
. Если это не повлияет на ярлыки, попробуйтеrelabel_configs
. prometheus.io/docs/prometheus/latest/configuration/ - person dmkvl   schedule 25.04.2020federate
иsource/tenant
очистки. Полагаю, это должно помочь. - person dmkvl   schedule 25.04.2020