如何解决普罗米修斯的 Thanos Querier 重复数据删除问题
我们是 Prometheus Monitoring 的新手,并且遇到了一个问题。在我们的 Kubernetes 集群上,为了监控我们的 MongoDB 应用程序,我们使用以下设置:
- 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
- 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
- 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。