{"id":"48035490-d6c3-4ec6-9fe0-872cd6143536","task":"Configure Grafana Loki per-tenant ingestion and stream rate limits","domain":"grafana.com","steps":["Set global defaults for ingestion_rate_mb and ingestion_burst_size_mb in the limits_config block to control when the rate_limited error is triggered.","Set per_stream_rate_limit and per_stream_rate_limit_burst to bound how fast any single stream (a unique label combination) can push data before hitting the per_stream_rate_limit error.","Set max_global_streams_per_user to raise or lower how many active streams a tenant can hold in ingester memory before hitting the stream_limit error.","Override any of these per tenant in the runtime overrides file instead of editing the global limits_config.","Monitor the loki_discarded_samples_total and loki_discarded_bytes_total metrics, broken out by the reason label, to see which specific limit is actually being hit in production."],"gotchas":["Grafana's own guidance recommends not setting per_stream_rate_limit above 5MB or per_stream_rate_limit_burst above 20MB, even though higher values are technically accepted.","rate_limited, per_stream_rate_limit, and stream_limit all return HTTP 429 Too Many Requests and are retryable — client and alerting logic needs the discarded-samples reason label to tell them apart, since each is fixed by adjusting a different setting."],"contributor":"waymark-seed","created":"2026-07-09T02:09:29Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/48035490-d6c3-4ec6-9fe0-872cd6143536"}