Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mimir microservices mode config for faster feedback loop #8174

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
50 changes: 27 additions & 23 deletions development/mimir-microservices-mode/config/mimir.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ distributor:
health_check_ingesters: true
ring:
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

ingester_client:
grpc_client_config:
Expand All @@ -22,9 +20,7 @@ ingester:
final_sleep: 0s
num_tokens: 512
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

# These memberlist options will be only used if memberlist is activated via CLI option.
memberlist:
Expand All @@ -37,9 +33,13 @@ blocks_storage:

tsdb:
dir: /tmp/mimir-tsdb-ingester
# Note: this value is intentionally set low to create a faster feedback loop
# in development. However, setting this lower than 2m can cause the ruler's
# write requests to fail with out of bounds errors
block_ranges_period: ["2m"]
# retention_period must be larger than block_ranges_period and querier.query_store_after
retention_period: 15m
ship_interval: 1m
block_ranges_period: [ 2h ]
retention_period: 3h

# Always use the PostingsForMatchers() cache in order to exercise it.
head_postings_for_matchers_cache_force: true
Expand All @@ -49,6 +49,11 @@ blocks_storage:
bucket_store:
sync_dir: /tmp/mimir-tsdb-querier
sync_interval: 1m
# ignore_blocks_within and sync_interval must be small enough for the store-gateways
# to discover & load new blocks shipped from the ingesters before they begin to be queried.
# With querier.query_store_after: 10m and sync_interval: 1m, anything larger than 4m causes issues.
# Slightly larger values for ignore_blocks_within work if sync_interval is reduced.
ignore_blocks_within: 4m

index_cache:
# Cache is configured via CLI flags. See docker-compose.jsonnet
Expand All @@ -71,9 +76,7 @@ ruler:
heartbeat_period: 5s
heartbeat_timeout: 15s
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

alertmanager_url: http://alertmanager-1:8031/alertmanager,http://alertmanager-2:8032/alertmanager,http://alertmanager-3:8033/alertmanager

Expand All @@ -97,9 +100,7 @@ alertmanager:
heartbeat_period: 5s
heartbeat_timeout: 15s
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

alertmanager_storage:
backend: s3
Expand All @@ -111,15 +112,15 @@ alertmanager_storage:
insecure: true

compactor:
compaction_interval: 30s
data_dir: /tmp/mimir-compactor
cleanup_interval: 1m
data_dir: "/tmp/mimir-compactor"
block_ranges: [ 4m, 8m, 16m ]
compaction_interval: 1m
compaction_concurrency: 2
cleanup_interval: 1m
tenant_cleanup_delay: 1m
sharding_ring:
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

store_gateway:
sharding_ring:
Expand All @@ -128,9 +129,7 @@ store_gateway:
heartbeat_timeout: 15s
wait_stability_min_duration: 0
kvstore:
store: consul
consul:
host: consul:8500
store: memberlist

frontend:
query_stats_enabled: true
Expand All @@ -156,6 +155,10 @@ frontend_worker:
# Uncomment to skip query-scheduler and enqueue queries directly in the query-frontend.
# frontend_address: "query-frontend:9007"

querier:
# query_store_after must be smaller than blocks_storage.tsdb.retention_period
query_store_after: 10m

query_scheduler:
# Change to "dns" to switch to query-scheduler DNS-based service discovery.
service_discovery_mode: "ring"
Expand All @@ -170,6 +173,7 @@ limits:
ingestion_rate: 50000
native_histograms_ingestion_enabled: true
cardinality_analysis_enabled: true
query_ingesters_within: 20m

runtime_config:
file: ./config/runtime.yaml