Store Gateway#

Store Gateway позволяет хранить меньше данных на локальном хранилище и дает возможность уменьшить время хранения метрик Prometheus и повторно запрашивать все данные и метрики облачного хранилища.

Store Gateway действует как API-шлюз и не требует значительных объемов локального дискового пространства. Он присоединяется к кластеру Thanos при запуске и объявляет данные, к которым он может получить доступ. Store Gateway хранит небольшой объем информации обо всех удаленных блоках на локальном диске и синхронизирует ее с облачным хранилищем.

Последовательность выполнения#

Запустите Thanos:

thanos store \
    --data-dir        "/local/state/data/dir" \
    --objstore.config-file "bucket.yml"

Пример содержимого bucket.yml:

type: GCS
config:
  bucket: ""
  service_account: ""
prefix: ""

Как правило, для каждого блока базы данных временных рядов, находящегося в хранилище объектов, требуется в среднем 6 МБ локального дискового пространства, но для блоков высокой мощности с большим набором меток оно может достигать 30 МБ и более.

Это справедливо для предварительно вычисленного индекса, который включает в себя символы и записи смещений (указывающие на количество байтов или битов, на которое нужно сдвинуть или сместить определенные данные), а также метаданные JSON.

Разделение по времени#

По умолчанию Store Gateway просматривает все данные в хранилище объектов и возвращает их на основе запроса временного диапазона.

Флаги Thanos --min-time, --max-time позволяют сегментировать хранилище Thanos на основе постоянного времени или продолжительности по отношению к текущему времени.

Например, установка: --min-time=-6w & --max-time=-2w заставит Store Gateway возвращать метрики, попадающие в диапазон от now - 6 weeks до now - 2 weeks (недель).

Постоянное время необходимо задать в формате RFC3339. Например, --min-time=2018-01-01T00:00:00Z, --max-time=2019-01-01T23:59:59Z.

Store Gateway может не получать новые блоки немедленно, поскольку разделение по времени частично выполняется в задании асинхронной синхронизации блоков, которое по умолчанию выполняется каждые 3 минуты.

Для повышения устойчивости к сбоям используйте перекрывающиеся временные диапазоны Sidecar и других компонентов Thanos

Querier обрабатывает перекрывающиеся временные ряды путем их объединения.

Результат#

Store Gateway настроен и готов к использованию.