Как может происходить дедупликация в хранилище удаленных объектов в экосистеме Thanos?
Я исследую Таноса для существующего кластера мониторинга. Запросчик Thanos может выполнять дедупликацию, но это поведение во время выполнения. Когда отправитель отправляет данные в хранилище удаленных объектов, отправляются все данные Prometheus. Когда в Prometheus используется режим высокой доступности, отправитель отправляет дублированные данные, и никто не хочет хранить дублированные данные в хранилище. Итак, мой вопрос: есть ли какое-либо решение от Таноса для дедупликации данных в хранилище удаленных объектов или какие-либо внешние инструменты необходимы в кластере?
1 ответ
Это реальная проблема с Таносом,
логика дедупликации выполняется при чтении, а не при записи, поэтому на данный момент нет решения, кроме использования только одного уплотнителя, но тогда вы рискуете пропустить данные из других прометхов.
вы можете попробовать посмотреть на CORTEX, который выполняет дедупликацию при записи.https://cortexmetrics.io/
В архитектуре Таноса вы должны определить некоторые уникальные
external_labels
(на основе этого документа).
Поскольку в разных Prometheus метки отличаются друг от друга, в хранилище объектов будут храниться разные метрики.
И, уточняя
--query.replica-label=replica
на Querier он будет дедуплицировать метрики на основе вашего ярлыка.