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
Результат#
Режим без сохранения состояния успешно включен.