Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-4209

missing deployment labels in kube_deployment_labels metrics

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Normal
    • None
    • 4.12.0
    • Monitoring
    • Low
    • False
    • Hide

      None

      Show
      None

    Description

      Description of problem:

      search with kube_deployment_labels{deployment="thanos-querier"}

      # token=`oc create token prometheus-k8s -n openshift-monitoring`
      # oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -k -H "Authorization: Bearer $token" 'https://thanos-querier.openshift-monitoring.svc:9091/api/v1/query?' --data-urlencode 'query=kube_deployment_labels{deployment="thanos-querier"}' | jq 
      {
        "status": "success",
        "data": {
          "resultType": "vector",
          "result": [
            {
              "metric": {
                "__name__": "kube_deployment_labels",
                "container": "kube-rbac-proxy-main",
                "deployment": "thanos-querier",
                "endpoint": "https-main",
                "job": "kube-state-metrics",
                "namespace": "openshift-monitoring",
                "prometheus": "openshift-monitoring/k8s",
                "service": "kube-state-metrics"
              },
              "value": [
                1669692449.045,
                "1"
              ]
            }
          ]
        }
      }

      the deployment thanos-querier also have other labels but not show in kube_deployment_labels metrics

       # oc -n openshift-monitoring get deployment thanos-querier -oyaml
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          deployment.kubernetes.io/revision: "1"
        creationTimestamp: "2022-11-29T00:54:27Z"
        generation: 1
        labels:
          app.kubernetes.io/component: query-layer
          app.kubernetes.io/instance: thanos-querier
          app.kubernetes.io/managed-by: cluster-monitoring-operator
          app.kubernetes.io/name: thanos-query
          app.kubernetes.io/part-of: openshift-monitoring
          app.kubernetes.io/version: 0.28.1
        name: thanos-querier
        namespace: openshift-monitoring
        resourceVersion: "23339"
        uid: 2962767d-afdc-4a65-9b89-bfd3df155306
      spec:
        progressDeadlineSeconds: 600
        replicas: 2
        revisionHistoryLimit: 10
        selector:
          matchLabels:
            app.kubernetes.io/component: query-layer
            app.kubernetes.io/instance: thanos-querier
            app.kubernetes.io/name: thanos-query
            app.kubernetes.io/part-of: openshift-monitoring
        strategy:
          rollingUpdate:
            maxSurge: 25%
            maxUnavailable: 1
          type: RollingUpdate
        template:
          metadata:
            annotations:
              target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
            creationTimestamp: null
            labels:
              app.kubernetes.io/component: query-layer
              app.kubernetes.io/instance: thanos-querier
              app.kubernetes.io/managed-by: cluster-monitoring-operator
              app.kubernetes.io/name: thanos-query
              app.kubernetes.io/part-of: openshift-monitoring
              app.kubernetes.io/version: 0.28.1
      
      # oc -n openshift-monitoring get deployment thanos-querier --show-labels
      NAME             READY   UP-TO-DATE   AVAILABLE   AGE    LABELS
      thanos-querier   2/2     2            2           161m   app.kubernetes.io/component=query-layer,app.kubernetes.io/instance=thanos-querier,app.kubernetes.io/managed-by=cluster-monitoring-operator,app.kubernetes.io/name=thanos-query,app.kubernetes.io/part-of=openshift-monitoring,app.kubernetes.io/version=0.28.1

      Version-Release number of selected component (if applicable):

      # oc get clusterversion
      NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
      version   4.12.0-0.nightly-2022-11-28-145121   True        False         153m    Cluster version is 4.12.0-0.nightly-2022-11-28-145121
      

      How reproducible:

      always

      Steps to Reproduce:

      1. search kube_deployment_labels and compare with the deployment labels
      2.
      3.
      

      Actual results:

      missing deployment labels in kube_deployment_labels metrics

      Expected results:

      show deployment labels

      Additional info:

      # oc -n openshift-monitoring get deploy kube-state-metrics -oyaml
      ...
              - --metric-labels-allowlist=pods=[*],nodes=[*],namespaces=[*],persistentvolumes=[*],persistentvolumeclaims=[*],poddisruptionbudgets=[*],poddisruptionbudget=[*]
      

      Attachments

        Activity

          People

            spasquie@redhat.com Simon Pasquier
            juzhao@redhat.com Junqi Zhao
            Junqi Zhao Junqi Zhao
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: