Size: a a a

Церковь метрик

2019 October 24

K

KK in Церковь метрик
Это понятно, там что-то вроде такого
- expr: |
       sum by (namespace, pod, container) (
         rate(container_cpu_usage_seconds_total{job="kubelet", image!="", container!="POD"}[5m])
       )
     record: namespace_pod_container:container_cpu_usage_seconds_total:sum_rate

Но как найти-то откуда ноги растут или нет такой задукоментированной возможности?
источник

K

KK in Церковь метрик
Andor
# The labels to add to any time series or alerts when communicating with
 # external systems (federation, remote storage, Alertmanager).
 external_labels:
   [ <labelname>: <labelvalue> ... ]
Это же только для коммуникации с внешними системами…
У меня есть 2 лейбла, но в сових конфигах я их не вижу….
global:
 scrape_interval: 30s
 scrape_timeout: 10s
 evaluation_interval: 30s
 external_labels:
   prometheus: cloud/prometheus-operator-cloud-prometheus
   prometheus_replica: prometheus-prometheus-operator-cloud-prometheus-0
источник

A

Andor in Церковь метрик
а зачем ещё может понадобиться глобальный лейбл, если не для коммуникаций с внешними системами?
источник

K

KK in Церковь метрик
Andor
а зачем ещё может понадобиться глобальный лейбл, если не для коммуникаций с внешними системами?
Ну меня такой потребности не было изначально, зачем нужно - я об этом не размышлял…

Задача была добавить кастомный лейбл ко всем метрикам, в частности мне нужен лейбл instance на всех метриках (где он может быть доступен) и некоторые лейблы  к конкретным компонентам (тут я понял поможет service monitor).
источник

A

Andor in Церковь метрик
instance и так по-умолчанию есть на всех таргетах
источник

A

Andor in Церковь метрик
а значит и на всех метриках
источник

K

KK in Церковь метрик
Andor
instance и так по-умолчанию есть на всех таргетах
тут его нет
namespace_pod_container:container_cpu_usage_seconds_total:sum_rate
источник

A

Andor in Церковь метрик
потому что оно из аггрегации выкидывается?
источник

A

Andor in Церковь метрик
это же сумма по неймспейсу?
источник

K

KK in Церковь метрик
Andor
потому что оно из аггрегации выкидывается?
Ясн, значит надо свое правило написать …
источник

A

Andor in Церковь метрик
это же аггрегация по неймспейсу
источник

K

KK in Церковь метрик
KK
Это понятно, там что-то вроде такого
- expr: |
       sum by (namespace, pod, container) (
         rate(container_cpu_usage_seconds_total{job="kubelet", image!="", container!="POD"}[5m])
       )
     record: namespace_pod_container:container_cpu_usage_seconds_total:sum_rate

Но как найти-то откуда ноги растут или нет такой задукоментированной возможности?
вот оно
источник

A

Andor in Церковь метрик
какой там может быть instance?
источник

K

KK in Церковь метрик
ясн, понял. Спс
источник

K

KK in Церковь метрик
Andor
просто
добавь
лейбл
в
сервисмонитор
Прошу прощения за настырность, но не могу поймать поймать добавленный лейбл

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
 name: my-cloud-monitoring
 namespace: cloud
 labels:
   prometheus: kube-prometheus
   custom_label_pod: foobared
   team_service: frontend
spec:
 selector:
   matchLabels:
     app: my-cloud-monitoring
 namespaceSelector:
   matchNames:
   - cloud
 endpoints:
 - port: monitoring
   path: /metrics
   interval: 10s
 podTargetLabels:
   - custom_label_pod
 targetLabels:
   - team_service


Задпелоил этот конфиг, проверил, что он применился, но в Service Discovery панели prometheus не вижу этих лейблов
источник

GG

George Gaál in Церковь метрик
KK
Прошу прощения за настырность, но не могу поймать поймать добавленный лейбл

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
 name: my-cloud-monitoring
 namespace: cloud
 labels:
   prometheus: kube-prometheus
   custom_label_pod: foobared
   team_service: frontend
spec:
 selector:
   matchLabels:
     app: my-cloud-monitoring
 namespaceSelector:
   matchNames:
   - cloud
 endpoints:
 - port: monitoring
   path: /metrics
   interval: 10s
 podTargetLabels:
   - custom_label_pod
 targetLabels:
   - team_service


Задпелоил этот конфиг, проверил, что он применился, но в Service Discovery панели prometheus не вижу этих лейблов
А у тебя прометеус как задеплоен ? Раз
источник

A

Andor in Церковь метрик
KK
Прошу прощения за настырность, но не могу поймать поймать добавленный лейбл

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
 name: my-cloud-monitoring
 namespace: cloud
 labels:
   prometheus: kube-prometheus
   custom_label_pod: foobared
   team_service: frontend
spec:
 selector:
   matchLabels:
     app: my-cloud-monitoring
 namespaceSelector:
   matchNames:
   - cloud
 endpoints:
 - port: monitoring
   path: /metrics
   interval: 10s
 podTargetLabels:
   - custom_label_pod
 targetLabels:
   - team_service


Задпелоил этот конфиг, проверил, что он применился, но в Service Discovery панели prometheus не вижу этих лейблов
Ну ой.
источник

K

KK in Церковь метрик
George Gaál
А у тебя прометеус как задеплоен ? Раз
Через helm prometheus-operator
источник

GG

George Gaál in Церковь метрик
Два - если через пром оператор, то он с какими метками (лейблами )?
источник

K

KK in Церковь метрик
George Gaál
Два - если через пром оператор, то он с какими метками (лейблами )?
Он, это сам компонент ?
источник