Skip to content

Datadog agent doesn't scrape OpenMetrics of kubernetes-external-secrets controller #7652

@toshi0607

Description

@toshi0607

Please help me configure to scrape metrics from kubernetes-external-secrets controller.

Describe what happened:

I want to scrape prometheus metrics from a kubernetes-external-secretes controller, but it doesn't work.

metrics that I want to scrape

  • kubernetes_external_secrets_sync_calls_count
  • kubernetes_external_secrets_last_sync_call_state

from https://github.com/external-secrets/kubernetes-external-secrets#metrics

Describe what you expected:

Datadog agent collects metrics

Steps to reproduce the issue:

I set up the controller like this.

podAnnotations:
  ad.datadoghq.com/kubernetes-external-secrets.check_names: '["openmetrics"]'
  ad.datadoghq.com/kubernetes-external-secrets.init_configs: "[{}]"
  ad.datadoghq.com/kubernetes-external-secrets.instances: |
    [{
      "prometheus_url": "http://%%host%%:3001/metrics",
      "namespace": "external-secrets",
      "metrics": [
        "kubernetes_external_secrets_sync_calls_count",
        "kubernetes_external_secrets_last_sync_call_state",
      ]
    }]
$ kubectl get pod external-secrets-kubernetes-external-secrets-xxxxxx -o yaml
apiVersion: v1
kind: Pod
metadata:
  annotations:
    ad.datadoghq.com/kubernetes-external-secrets.check_names: '["openmetrics"]'
    ad.datadoghq.com/kubernetes-external-secrets.init_configs: '[{}]'
    ad.datadoghq.com/kubernetes-external-secrets.instances: |
      [{
        "prometheus_url": "http://%%host%%:3001/metrics",
        "namespace": "external-secrets",
        "metrics": [
          "kubernetes_external_secrets_sync_calls_count",
          "kubernetes_external_secrets_last_sync_call_state",
        ]
      }]
    kubernetes.io/psp: eks.privileged
...

spec:
  containers:
  - env:
...
    name: kubernetes-external-secrets
    ports:
    - containerPort: 3001
      name: prometheus
      protocol: TCP

In datadog agent pod, agent configcheck shows prometheus check, but it only includes namespace: datadog.cluster_agent, not external-secrets.

Additional environment details (Operating System, Cloud provider, etc):

  • Datadog runs on Amazon EKS
  • Agent 7.24.1 - Commit: cf2a7e6 - Serialization version: v4.46.0 - Go version: go1.14.7

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions