Amazon Managed Service for Prometheus service quotas - Amazon Managed Service for Prometheus

Amazon Managed Service for Prometheus service quotas

The following two sections describe the quotas and limits associated with Amazon Managed Service for Prometheus.

Service quotas

Amazon Managed Service for Prometheus has the following quotas. Amazon Managed Service for Prometheus vends CloudWatch usage metrics to monitor Prometheus resource usage. Using the CloudWatch usage metrics alarm feature, you can monitor Prometheus resources and usage to prevent limit errors.

As your projects and workspaces grow, the most common quotas that you may need to monitor or request an increase for are: Active series per workspace, Ingestion rate per workspace, and Ingestion burst size per workspace.

For all adjustable quotas, you can request a quota increase by selecting the link in the Adjustable column, or by requesting a quota increase.

The Active series per workspace limit is dynamically applied. For more information, see Active series default. The Ingestion rate per workspace and Ingestion burst size per workspace together control how quickly you can ingest data into your workspace. For more information see Ingestion throttling.

Note

Unless otherwise noted, these quotas are per workspace.

Name Default Adjustable Description
Active metrics with metadata per workspace Each supported Region: 20,000 No The number of unique active metrics with metadata per workspace.
Active series per workspace Each supported Region: 10,000,000 per 2 hours Yes The number of unique active series per workspace. A series is active if a sample has been reported in the past 2 hours. Capacity from 2M to 10M is automatically adjusted based on the last 30 min of usage.
Alert aggregation group size in alert manager definition file Each supported Region: 1,000 Yes The maximum size of an alert aggregation group in alert manager definition file. Each label value combination of group_by would create an aggregation group.
Alert manager definition file size Each supported Region: 1 Megabytes No The maximum size of an alert manager definition file.
Alert payload size in Alert Manager Each supported Region: 20 Megabytes No The maximum alert payload size of all Alert Manager alerts per workspace. Alert size is dependent on labels and annotations.
Alerts in Alert Manager Each supported Region: 1,000 Yes The maximum number of concurrent Alert Manager alerts per workspace.
HA tracker clusters Each supported Region: 500 No The maximum number of clusters that HA tracker will keep track of for ingested samples per workspace.
Ingestion burst size per workspace Each supported Region: 1,000,000 Yes The maximum number samples that could be ingested per workspace in one burst per second.
Ingestion rate per workspace Each supported Region: 170,000 Yes Metric sample ingestion rate per workspace per second.
Inhibition rules in alert manager definition file Each supported Region: 100 Yes The maximum number of inhibition rules in alert manager definition file.
Label size Each supported Region: 7 Kilobytes No The maximum combined size of all labels and label values accepted for a series.
Labels per metric series Each supported Region: 70 Yes Number of labels per metric series.
Metadata length Each supported Region: 1 Kilobytes No The maximum length accepted for metric metadata. Metadata refers to Metric Name, HELP and UNIT.
Metadata per metric Each supported Region: 10 No The number of metadata per metric.
Nodes in alert manager routing tree Each supported Region: 100 Yes The maximum number of nodes in the alert manager routing tree.
Number of API operations in transactions per second Each supported Region: 10 Yes The maximum number of API operations per second per region. This includes workspace CRUD APIs, tagging APIs, rule groups namespace CRUD APIs, and alert manager definition CRUD APIs.
Query bytes for instant queries Each supported Region: 5 Gigabytes No The maximum bytes that can be scanned by a single instant query.
Query bytes for range queries Each supported Region: 5 Gigabytes No The maximum bytes that can be scanned per 24-hour interval in a single range query.
Query chunks fetched Each supported Region: 20,000,000 No The maximum number of chunks that can be scanned during a single query.
Query samples Each supported Region: 50,000,000 No The maximum number of samples that can be scanned during a single query.
Query series fetched Each supported Region: 12,000,000 No The maximum number of series that can be scanned during a single query.
Query time range in days Each supported Region: 32 No The maximum time range of any PromQL query.
Request size Each supported Region: 1 Megabytes No The maximum request size for ingestion or query.
Retention time for ingested data in days Each supported Region: 150 Yes The number of days that data in a workspace is retained. Data older than this is deleted. You may request quota changes to increase or decrease this value.
Rule evaluation interval Each supported Region: 30 Seconds Yes The minimum rule evaluation interval of a rule group per workspace.
Rule group namespace definition file size Each supported Region: 1 Megabytes No The maximum size of a rule group namespace definition file.
Rules per workspace Each supported Region: 2,000 Yes The maximum number of rules per workspace.
Templates in alert manager definition file Each supported Region: 100 Yes The maximum number of templates in the alert manager definition file.
Workspaces per region per account Each supported Region: 25 Yes The maximum number of workspaces per region.

Active series default

Amazon Managed Service for Prometheus allows you to use up to your quota of active time series by default.

Amazon Managed Service for Prometheus workspaces automatically adapt to your ingestion volume. As your usage increases, Amazon Managed Service for Prometheus will automatically increase your time series capacity to double your baseline usage, up to the default quota. For example, if your average active time series for the last 30 minutes is 3.5 million, you can use up to 7 million time series without throttling.

If you need more than double your previous baseline, Amazon Managed Service for Prometheus automatically allocates more capacity as your ingest volume increases, to help ensure your workload does not experience sustained throttling, up to your quota. However, throttling can occur if you exceed double your previous baseline computed over the last 30 minutes. To avoid throttling, Amazon Managed Service for Prometheus recommends gradually increasing ingestion when increasing to more than double your previous active time series.

Note

The minimum capacity for active time series is 2 million, there is no throttling when you have less than 2 million series.

To go beyond your default quota, you can request a quota increase.

Ingestion throttling

Amazon Managed Service for Prometheus throttles ingestion for each workspace, based on your current limits. This helps maintain the performance of the workspace. If you exceed the limit, you will see DiscardedSamples in CloudWatch metrics (with the rate_limited reason). You can use Amazon CloudWatch to monitor your ingestion, and to create an alarm to warn you when you are close to reaching the throttling limits. For more information, see CloudWatch metrics.

Amazon Managed Service for Prometheus uses the token bucket algorithm to implement ingestion throttling. With this algorithm, your account has a bucket that holds a specific number of tokens. The number of tokens in the bucket represents your ingestion limit at any given second.

Each data sample ingested removes one token from the bucket. If your bucket size (Ingestion burst size per workspace) is 1,000,000, your workspace can ingest one million data samples in one second. If it exceeds one million samples to ingest, it will be throttled, and will not ingest any more records. Additional data samples will be discarded.

The bucket automatically refills at a set rate. If the bucket is below its maximum capacity, a set number of tokens is added back to it every second until it reaches its maximum capacity. If the bucket is full when the refill tokens arrive, they are discarded. The bucket can't hold more than its maximum number of tokens. The refill rate for sample ingestion is set by the Ingestion rate per workspace limit. If your Ingestion rate per workspace is set to 170,000, then the refill rate for the bucket is 170,000 tokens per second.

If your workspace ingests 1,000,000 data samples in a second, your bucket is immediately reduced to zero tokens. The bucket is then refilled by 170,000 tokens every second, until it reaches it's maximum capacity of 1,000,000 tokens. If there is no more ingestion, the previously empty bucket will return to it's maximum capacity in 6 seconds.

Note

Ingestion happens in batched requests. If you have 100 tokens available, and send a request with 101 samples, the entire request is rejected. Amazon Managed Service for Prometheus does not partially accept requests. If you are writing a collector, you can manage retries (with smaller batches or after some time has passed).

You do not need to wait for the bucket to be full before your workspace can ingest more data samples. You can use tokens as they are added to the bucket. If you immediately use the refill tokens, the bucket does not reach its maximum capacity. For example, if you deplete the bucket, you can continue to ingest 170,000 data samples per second. The bucket can refill to maximum capacity only if you ingest fewer than 170,000 data samples per second.

Additional limits on ingested data

Amazon Managed Service for Prometheus also has the following additional requirements for data ingested into the workspace. These are not adjustable.

  • Metric samples older than 1 hour are refused from being ingested.

  • Every sample and metadata must have a metric name.