Skip to content

External Secret Dashboard show not data after working service monitors #4615

@darnone

Description

@darnone

Describe the bug
I spend most of a day getting the ESO (external-secrets operator) service monitors to work. Seems to me that enabling a service monitor should create everything needed for them to work. You should no have to enable services separately AND there are bugs in the selector matchLabel names of the service monitors. That being said, the dashboards (21640) are shipping no data. Is there a dashboard out there that works?

To Reproduce
Steps to reproduce the behavior:

  1. provide all relevant manifests
# Source: external-secrets/templates/cert-controller-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: external-secrets-cert-controller-metrics
  namespace: external-secrets
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-cert-controller-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
  - port: 8080
    protocol: TCP
    targetPort: metrics
    name: metrics
  selector:
    app.kubernetes.io/name: external-secrets-cert-controller
---
# Source: external-secrets/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: external-secrets-metrics
  namespace: external-secrets
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 8080
      protocol: TCP
      targetPort: metrics
      name: metrics
  selector:
    app.kubernetes.io/name: external-secrets
---
# Source: external-secrets/templates/webhook-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: external-secrets-webhook-metrics
  namespace: external-secrets
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-webhook-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
    external-secrets.io/component: webhook
spec:
  type: ClusterIP
  ports:
  - port: 443
    targetPort: 10250
    protocol: TCP
    name: webhook
  - port: 8080
    protocol: TCP
    targetPort: metrics
    name: metrics
  selector:
    app.kubernetes.io/name: external-secrets-webhook
    app.kubernetes.io/instance: external-secrets
---
# Source: external-secrets/templates/servicemonitor.yaml
apiVersion: "monitoring.coreos.com/v1"
kind: ServiceMonitor
metadata:
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: external-secrets
    release: kube-prometheus-stack
  name: external-secrets-metrics
  namespace: "monitoring"
spec:
  endpoints:
  - port: metrics
    interval: 30s
    scrapeTimeout: 25s
    honorLabels: false
  namespaceSelector:
    matchNames:
    - external-secrets
  selector:
    matchLabels:
      app.kubernetes.io/name: external-secrets-metrics
---
# Source: external-secrets/templates/servicemonitor.yaml
apiVersion: "monitoring.coreos.com/v1"
kind: ServiceMonitor
metadata:
  name: external-secrets-webhook-metrics
  namespace: "monitoring"
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-webhook-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: external-secrets
    release: kube-prometheus-stack
spec:
  endpoints:
  - port: metrics
    interval: 30s
    scrapeTimeout: 25s
    honorLabels: false
  namespaceSelector:
    matchNames:
    - external-secrets
  selector:
    matchLabels:
      app.kubernetes.io/name: external-secrets-webhook-metrics
---
# Source: external-secrets/templates/servicemonitor.yaml
apiVersion: "monitoring.coreos.com/v1"
kind: ServiceMonitor
metadata:
  labels:
    helm.sh/chart: external-secrets-0.15.1
    app.kubernetes.io/name: external-secrets-cert-controller-metrics
    app.kubernetes.io/instance: external-secrets
    app.kubernetes.io/version: "v0.15.1"
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: external-secrets
    release: kube-prometheus-stack
  name: external-secrets-cert-controller-metrics
  namespace: "monitoring"
spec:
  endpoints:
  - port: metrics
    interval: 30s
    scrapeTimeout: 25s
    honorLabels: false
  namespaceSelector:
    matchNames:
    - external-secrets
  selector:
    matchLabels:
      app.kubernetes.io/name: external-secrets-cert-controller-metrics
  1. provide the Kubernetes and ESO version - chart version 0.14.1

Expected behavior
dashboards should collect data

Screenshots
If applicable, add screenshots to help explain your problem.
![Image](https://github.com/user-attachments/assets/b516d6a7-f22a-42cb-84cf-1035996e43a

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage/needs-informationIndicates an issue needs more information in order to work on it.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions