Я использую федерацию Прометей, чтобы очистить метрики от нескольких кластеров k8s. Он работает нормально, и я хотел бы создать некоторую панель мониторинга на графане, которую я хотел бы отфильтровать панели мониторинга по арендатору (кластеру). Я пытаюсь использовать переменные, но вещи, которые я не понимаю, даже если я не указал что-то специально для kube_pod_container_status_restars_total
, он содержит метку, которую я указал ниже static_configs, но kube_node_spec_unschedulable
нет.
Так откуда же эти различия и что мне делать? Между тем, как лучше всего настроить панель мониторинга, которая может обеспечить фильтр панели мониторинга по нескольким именам кластеров? должен ли я использовать relaybel?
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 Server
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