Skip to content

Commit 8c94584

Browse files
committed
add ruler sharding guide and update changelog
Signed-off-by: Jacob Lisi <[email protected]>
1 parent 4d73f62 commit 8c94584

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
## master / unreleased
44

55
* [ENHANCEMENT] metric `cortex_ingester_flush_reasons` gets a new `reason` value: `Spread`, when `-ingester.spread-flushes` option is enabled.
6-
6+
* [CHANGE] Remove unnecessary configs/flags from the ruler ring config to align with the pattern used in the distributor ring.
7+
* Ruler ring related flags are now all prefixed with `ruler.ring.` as opposed to just `ruler.`
78
* [CHANGE] Flags changed with transition to upstream Prometheus rules manager:
89
* `ruler.client-timeout` is now `ruler.configs.client-timeout` in order to match `ruler.configs.url`
910
* `ruler.group-timeout`has been removed

docs/guides/sharded_ruler.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: "Config for horizontally scaling the Ruler"
3+
linkTitle: "Config for horizontally scaling the Ruler"
4+
weight: 4
5+
slug: ruler-sharding
6+
---
7+
8+
## Context
9+
10+
One option to scale the ruler is by scaling it horizontally. However, with multiple ruler instances running they will need to coordinate to determine which instance will evaluate which rule. Similar to the ingesters, the rulers establish a hash ring to divide up the responsibilities of evaluating rules.
11+
12+
## Config
13+
14+
In order to enable sharding in the ruler the following flag needs to be set:
15+
16+
```
17+
-ruler.enable-sharding=true
18+
```
19+
20+
In addition the ruler requires it's own ring to be configured, for instance:
21+
22+
```
23+
-ruler.ring.consul.hostname=consul.dev.svc.cluster.local:8500
24+
```
25+
26+
The only configuration that is required is to enable sharding and configure a key value store. From there the rulers will shard and handle the division of rules automatically.

0 commit comments

Comments
 (0)