Ruler без сохранения состояния с помощью удаленной записи#

Ruler без сохранения состояния обеспечивает практически неограниченную горизонтальную масштабируемость. Ruler не имеет полнофункциональной базы данных временных рядов TSDB для хранения результатов, но использует хранилище только для WAL и отправляет данные в удаленное хранилище с помощью удаленной записи.

WAL (Write-Ahead Logging) - журнал предварительной записи. Обеспечивает поддержку резервного копирования (например, облачного) и восстановления на определенный момент времени.

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

Хранилище WAL повторно использует вышестоящий агент Prometheus agent и совместимо со старыми данными TSDB.

Режим без сохранения состояния можно включить, указав Prometheus remote write config в файле с помощью --remote-write.config или встроенного флага --remote-write.config-file. Например:

thanos rule \
    --data-dir                  "/path/to/data" \
    --eval-interval             "30s" \
    --rule-file                 "/path/to/rules/*.rules.yaml" \
    --alert.query-url           "http://0.0.0.0:9090" \ # Указывает, на какой URL следует ссылаться в пользовательском интерфейсе.
    --alertmanagers.url         "http://alert.thanos.io" \
    --query                     "query.example.org" \
    --query                     "query2.example.org" \
    --objstore.config-file      "bucket.yml" \
    --label                     'monitor_cluster="cluster1"' \
    --label                     'replica="A"' \
    --remote-write.config-file  'rw-config.yaml'

Где rw-config.yaml может выглядеть следующим образом:

remote_write:
- url: http://e2e_test_rule_remote_write-receive-1:8081/api/v1/receive
  name: thanos-receiver
  follow_redirects: false
- url: https://e2e_test_rule_remote_write-receive-2:443/api/v1/receive
  remote_timeout: 30s
  follow_redirects: true
  queue_config:
    capacity: 120000
    max_shards: 50
    min_shards: 1
    max_samples_per_send: 40000
    batch_send_deadline: 5s
    min_backoff: 5s
    max_backoff: 5m

Результат#

Режим без сохранения состояния успешно включен.