Dasari Sai Kumar
Dasari Sai Kumar

Reputation: 53

kube-state-metrics not sending metrics using service monitor

I have deployed kube-state-metrics into kube-system namespace and in the same cluster we are having prometheus-operator running I've written the below service monitor file for sending metrics to prometheus but it is not working. Please find the files below.

Servicemonitor.yaml

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: kube-state-metrics
  labels:
    app.kubernetes.io/name: kube-state-metrics
  namespace: kube-system
spec:
  selector:
    matchLabels:
      prometheus-scrape: "true"
  endpoints:
    - port: metrics
      path: /metrics
      targetPort: 8080
      honorLabels: true
      scheme: https
      tlsConfig:
        insecureSkipVerify: true

Prometheus-deploy.yaml

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  annotations:
    argocd.argoproj.io/sync-wave: "1"
  name: prometheus
  labels:
    name: prometheus
spec:
  serviceAccountName: prometheus
  serviceMonitorSelector: {}
  serviceMonitorNamespaceSelector:
    matchLabels:
      prometheus-scrape: "true"
  podMonitorSelector: {}
  podMonitorNamespaceSelector:
    matchLabels:
      prometheus-scrape: "true"
  resources:
    requests:
      memory: 400Mi
  enableAdminAPI: false
  additionalScrapeConfigs:
    name: additional-scrape-configs
    key: prometheus-additional.yaml

Can any one please help me out regarding this issue.

Thanks.

Upvotes: 1

Views: 2174

Answers (1)

Arda
Arda

Reputation: 447

ServiceMonitor's selector>matchLabels should match with "Service"'s labels. Check if your service has correct label.

Upvotes: 1

Related Questions