问题描述
我想知道我们是否在Prometheus的thanos配置文件中不解释任何external_labels
,会发生什么?
例如,我有2个Prometheuses,它们正在刮取相同的端点,因此它们的external_labels像这样:
prometheus1:
global:
external_labels:
replica: 1
prometheus2:
global:
external_labels:
replica: 2
至此,我们知道将在对象存储中保存2种度量标准,即具有“副本= 1”标签和“副本= 2”标签的度量。
如果我从配置文件中删除了external_labels,那么将在对象存储中保存多少个指标?
解决方法
我找到了答案。
基于此doc,
每个Prometheus实例必须具有一组全局唯一的 识别标签。
如果您未为Prometheus声明一个,则TSDB块将不会上传到对象存储中,并且您将从Sidecar收到此错误:
level=warn ts=2020-10-03T17:00:14.826489487Z caller=sidecar.go:274 err="upload 01EKQPFYHW6R8TB48N07NSCH8P: empty external labels are not allowed for Thanos block." uploaded=0