普罗米修斯的 Thanos Querier 重复数据删除问题

问题描述

我们是 Prometheus Monitoring 的新手,并且遇到了一个问题。在我们的 Kubernetes 集群上,为了监控我们的 MongoDB 应用程序,我们使用以下设置:

  1. MongoDB 导出器(使用 prometheus-community prometheus-mongodb-exporter Helm Chart 安装),从 MongoDB 应用程序获取指标,将它们转换为 prometheus 可读格式并在 /metrics 端点公开它们。下面的 values.yaml 文件用于覆盖认图表值。此文件作为参数传递给 helm install -f 命令。

values.yaml:

mongodb:
    uri: "mongodb://<Username>:<Password>@pod0.service.monitoring.svc.cluster.local:27017"
serviceMonitor:
     additionalLabels:
        app.kubernetes.io/instance: prometheus-operator
  1. Prometheus with thanos 作为 sidecar(使用 bitnami 的 prometheus-operator Helm chart 安装)。我们为 Prometheus 指定了 3 个副本,以便为部署的 Prometheus 提供可扩展性。 thanos 作为 sidecar 被用于为部署的 prometheuses 提供 HA。提供了外部标签,以便 thanos Querier(第 3 点中提到的将使用它对数据进行重复数据删除)。我们使用以下 values.yaml 文件来覆盖认的 prometheus-operator 值。此文件作为参数传递给 helm install -f 命令。

values.yaml:

prometheus:
   thanos:
     create: true
     service:
      type: ClusterIP
     externalLabels:
          cluster: prometheus-ha
          replica: test
      replicaExternalLabelName: "replica"
      prometheusExternalLabelName: "replica"
  storageSpec:
    volumeClaimTemplate:
      spec:
        # Name of the PV you created beforehand
        # volumeName: prometheus-hostpath-pv
        accessModes: ["ReadWriteOnce"]
        # StorageClass should match your existing PV's storage class
        storageClassName: manual
        resources:
          requests:
            # Size below should match your existing PV's size
            storage: 3Gi
  replicaCount: 3
  1. thanos Querier(使用 bitnami 的thanos Helm Chart 安装)从所有thanos sidecar 查询指标,并使用replicaLabel 参数对从所有sidecar 收到的数据进行重复数据删除。此 replicaLabel 参数应与 externalLabels "replica" 匹配 标签名称。在安装过程中使用 helm ls 命令使用了以下 values.yaml

values.yaml:

query:
        stores:
                - prometheus-thanos-sidecar-custom-headless-service-for-pod-0.monitoring.svc.cluster.local:10901
                - prometheus-thanos-sidecar-custom-service-for-pod-1.monitoring.svc.cluster.local:10901
                - prometheus-thanos-sidecar-custom-service-for-pod-2.monitoring.svc.cluster.local:10901    
        replicaLabel:
                - replica

但是数据的重复数据删除并没有发生,因为即使启用了重复数据删除thanos UI 中也会显示来自所有副本的相同数据/指标(附截图)。此外,在 Grafana 中,对于一些指标,我们收到错误“仅支持返回单个系列/表的查询”,我猜这是因为没有进行重复数据删除

请帮助我们解决重复数据删除问题。

Thanos Deduplication issue in Thanos UI

解决方法

Thanos Query 中的重复数据删除基于 replicaLabel 配置,您错了,根据您的屏幕截图应该是这样的:

        replicaLabel:
                - prometheus_replica

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...