You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
-`-alertmanager.receivers-firewall.block.cidr-networks` renamed to `-alertmanager.receivers-firewall-block-cidr-networks`
8
8
-`-alertmanager.receivers-firewall.block.private-addresses` renamed to `-alertmanager.receivers-firewall-block-private-addresses`
9
9
*[CHANGE] Change default value of `-server.grpc.keepalive.min-time-between-pings` to `10s` and `-server.grpc.keepalive.ping-without-stream-allowed` to `true`. #4168
10
-
*[FEATURE] Alertmanager: Added rate-limits to notifiers. Rate limits used by all integrations can be configured using `-alertmanager.notification-limits.rate-limit` and `-alertmanager.notification-limits.burst-size`, while per-integration limits can be specified via `-alertmanager.notification-limits.per-integration` parameter. Both shared and per-integration limits can be overwritten using overrides mechanism. These limits are applied on individual (per-tenant) alertmanagers. Rate-limited notifications are failed notifications. It is possible to monitor rate-limited notifications via new `cortex_alertmanager_notification_rate_limited_total` metric. #4135#4163
10
+
*[FEATURE] Alertmanager: Added rate-limits to notifiers. Rate limits used by all integrations can be configured using `-alertmanager.notification-rate-limit`, while per-integration rate limits can be specified via `-alertmanager.notification-rate-limit-per-integration` parameter. Both shared and per-integration limits can be overwritten using overrides mechanism. These limits are applied on individual (per-tenant) alertmanagers. Rate-limited notifications are failed notifications. It is possible to monitor rate-limited notifications via new `cortex_alertmanager_notification_rate_limited_total` metric. #4135#4163
11
11
*[ENHANCEMENT] Alertmanager: introduced new metrics to monitor operation when using `-alertmanager.sharding-enabled`: #4149
Copy file name to clipboardExpand all lines: docs/configuration/config-file-reference.md
+11-20
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,6 @@ To specify which configuration file to load, pass the `-config.file` flag at the
26
26
*`<prefix>`: a CLI flag prefix based on the context (look at the parent configuration block to see which CLI flags prefix should be used)
27
27
*`<relabel_config>`: a [Prometheus relabeling configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config).
28
28
*`<time>`: a timestamp, with available formats: `2006-01-20` (midnight, local timezone), `2006-01-20T15:04` (local timezone), and RFC 3339 formats: `2006-01-20T15:04:05Z` (UTC) or `2006-01-20T15:04:05+07:00` (explicit timezone)
29
-
*`<limits_map>`: Map with integration names as keys, mapped to object with two fields: `rate_limit` and `burst_size`. If either of them is specified, this per-integration limit will take precedence over shared notification limit, even if other field is not specified (in which case, it defaults to 0!).
30
29
31
30
### Use environment variables in the configuration
32
31
@@ -4108,28 +4107,20 @@ The `limits_config` configures default and per-tenant limits imposed by Cortex s
Copy file name to clipboardExpand all lines: docs/configuration/config-file-reference.template
-1
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,6 @@ To specify which configuration file to load, pass the `-config.file` flag at the
26
26
* `<prefix>`: a CLI flag prefix based on the context (look at the parent configuration block to see which CLI flags prefix should be used)
27
27
* `<relabel_config>`: a [Prometheus relabeling configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config).
28
28
* `<time>`: a timestamp, with available formats: `2006-01-20` (midnight, local timezone), `2006-01-20T15:04` (local timezone), and RFC 3339 formats: `2006-01-20T15:04:05Z` (UTC) or `2006-01-20T15:04:05+07:00` (explicit timezone)
29
-
* `<limits_map>`: Map with integration names as keys, mapped to object with two fields: `rate_limit` and `burst_size`. If either of them is specified, this per-integration limit will take precedence over shared notification limit, even if other field is not specified (in which case, it defaults to 0!).
30
29
31
30
### Use environment variables in the configuration
f.Var(&l.AlertmanagerReceiversBlockCIDRNetworks, "alertmanager.receivers-firewall-block-cidr-networks", "Comma-separated list of network CIDRs to block in Alertmanager receiver integrations.")
173
168
f.BoolVar(&l.AlertmanagerReceiversBlockPrivateAddresses, "alertmanager.receivers-firewall-block-private-addresses", false, "True to block private and local addresses in Alertmanager receiver integrations. It blocks private addresses defined by RFC 1918 (IPv4 addresses) and RFC 4193 (IPv6 addresses), as well as loopback, local unicast and local multicast addresses.")
174
169
175
-
f.Float64Var(&l.NotificationLimits.RateLimit, "alertmanager.notification-limits.rate-limit", 0, "Per-user rate limit for sending notifications from Alertmanager in notifications/sec. 0 = rate limit disabled. Negative value = no notifications are allowed.")
176
-
f.IntVar(&l.NotificationLimits.BurstSize, "alertmanager.notification-limits.burst-size", 1, "Per-user burst size for notifications. If set to 0, no notifications will be sent, unless rate-limit is disabled, in which case all notifications are allowed.")
170
+
f.Float64Var(&l.NotificationRateLimit, "alertmanager.notification-rate-limit", 0, "Per-user rate limit for sending notifications from Alertmanager in notifications/sec. 0 = rate limit disabled. Negative value = no notifications are allowed.")
f.Var(&l.NotificationIntegrationLimits, "alertmanager.notification-limits.per-integration", "Per-integration notification limits. Value is a map, where each key is integration name and value is an object with rate_limit and burst_size fields. On command line, this map is given in JSON format. Rate limit and burst size have the same meaning as -alertmanager.notification-limits.rate-limit and -alertmanager.notification-limits.burst-size, but only apply for specific integration. Allowed integration names: "+strings.Join(allowedIntegrationNames, ", ")+".")
175
+
f.Var(&l.NotificationRateLimitPerIntegration, "alertmanager.notification-rate-limit-per-integration", "Per-integration notification rate limits. Value is a map, where each key is integration name and value is a rate-limit (float). On command line, this map is given in JSON format. Rate limit has the same meaning as -alertmanager.notification-rate-limit, but only applies for specific integration. Allowed integration names: "+strings.Join(allowedIntegrationNames, ", ")+".")
182
176
}
183
177
184
178
// Validate the limits config and returns an error if the validation
0 commit comments