8 votes

Comment définir une étiquette dans le moniteur de services pour qu'elle apparaisse dans les métriques Prometheus ?

Je veux définir les étiquettes cibles dans le moniteur de service comme une carte de valeurs clés afin qu'elles apparaissent dans les mesures Prometheus. J'ai essayé avec le relabeling dans le moniteur de service mais cela n'a pas fonctionné.

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: example-application
  labels:
    team: backend-team
spec:
  selector:
    matchLabels:
      app: example-application
  endpoints:
  - port: backend
    relabelings:
    - sourceLabels: [__name__]
      regex: (.*)
      targetLabel: teamname
      replacement: "backend-team"
      action: replace

J'ai également découvert l'existence de TargetLabels, mais je ne sais pas comment l'utiliser. TargetLabels transfère les étiquettes du service Kubernetes sur la cible.

J'ai également lu qu'il était possible d'établir une liste blanche des étiquettes dans le moniteur de services. Veuillez me faire savoir comment faire et quelle méthode serait la bonne option

17voto

Rad4 Points 62

Dans la spécification de Servicemonitor, nous devons ajouter des targetlabels afin de propager les étiquettes de service vers Prometheus.

Exemple de service avec le label "teamname" :

kind: Service
apiVersion: v1
metadata:
  name: example-application
  labels:
    app: example-application
    teamname: neon
spec:
  selector:
    app: example-application
  ports:
  - name: backend
    port: 8080

Exemple Servicemonitor propageant l'étiquette "teamname" du service :

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: example-application
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: example-application
  endpoints:
  - port: backend
    path: /prometheus
  namespaceSelector:
    matchNames:
    - testns
  targetLabels:
    - teamname
    - app

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X