Ruler/Rule#
В случае, если Prometheus, работающий с Thanos Sidecar, не имеет достаточного объема памяти, или необходимы оповещения или правила записи, требующие глобального просмотра, у Thanos есть компонент Ruler, который выполняет оценку правил и предупреждений поверх Querier.
Ruler оценивает правила записи и оповещения Prometheus в соответствии с выбранным API запросов с помощью повторного запроса --query. Если передается более одного запроса, выполняется циклическая балансировка.
По умолчанию результаты оценки правил записываются обратно на диск в формате хранилища Prometheus 2.0. Узлы Ruler одновременно участвуют в системе как узлы хранилища исходных данных, что означает, что они предоставляют доступ к StoreAPI и загружают сгенерированные блоки TSDB в хранилище объектов.
Данные каждого узла Ruler могут быть помечены в соответствии со схемой маркировки кластеров. Пары с высокой доступностью могут запускаться параллельно и должны отличаться назначенной меткой реплики, как и обычные серверы Prometheus.
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"'
Последовательность выполнения#
Файлы Ruler используют YAML, синтаксис файла правил следующий:
groups:
[ - <rule_group> ]
Простой пример файла правил:
groups:
- name: example
rules:
- record: job:http_inprogress_requests:sum
expr: sum(http_inprogress_requests) by (job)
<rule_group>
# Имя группы. Должно быть уникальным в пределах файла.
name: <string>
# Как часто оцениваются правила в группе.
[ interval: <duration> | default = global.evaluation_interval ]
rules:
[ - <rule> ... ]
Thanos поддерживает два типа правил, которые могут быть настроены и затем оцениваться через регулярные интервалы времени: правила записи и правила оповещения.
Результат#
Ruler настроен и готов к использованию.