что, если мы не будем объяснять какие-либо внешние метки в Prometheus для Таноса

#prometheus #thanos

#prometheus #танос

Вопрос:

Мне было интересно, если мы ничего не объясним external_labels в файле конфигурации Prometheus для Thanos, что произойдет? например, у меня есть 2 Prometheuses, и они очищают одну и ту же конечную точку, поэтому их внешние метки выглядят так: prometheus1:

 global:
  external_labels:
    replica: 1

  

prometheus2:

 global:
  external_labels:
    replica: 2

  

на данный момент мы знаем, что в хранилище объектов будут сохранены 2 вида метрик: метрики с меткой replica = 1 и меткой replica = 2.
если я удалю external_labels из файла конфигурации, сколько метрик будет сохранено в хранилище объектов?

Ответ №1:

Я нашел ответ.
на основе этого документа,

Каждый экземпляр 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