Skip to content

Amazon Managed Service for Prometheus

Amazon Managed Service for Prometheus (AMP) is a serverless, Prometheus- compatible metric store. It removes the part of running Prometheus that is genuinely hard — scaling ingestion and query, and keeping the time-series store available — while leaving the query language and the ecosystem intact.

It is the natural metric backend for Kubernetes workloads, on Amazon EKS or on self-managed clusters, and it pairs with Amazon Managed Grafana for dashboards.

A workspace is a logical space for storing and querying Prometheus metrics, with its own access control, quotas and retention. You can have several per Region per account — the default limit is 25, and it is adjustable.

Metrics arrive by Prometheus remote write and are queried with PromQL, so existing dashboards, recording rules and alerting rules carry across unmodified. Alertmanager runs inside the workspace, with its own definition file, routing tree, silences and inhibition rules.

Retention is a workspace setting: you specify the number of days to keep data, up to a maximum of 1,095 days (three years). Older material quotes a fixed 150-day retention; that is no longer how the service works.

Two other workspace settings are worth knowing at design time:

  • Out-of-order time window — how far out of chronological order a sample may arrive and still be accepted. New workspaces default to 60 seconds, and it can be set from 0 (discard all out-of-order samples) up to 600 seconds.
  • Rule query offset — a global delay before rule evaluation queries run, so that rules evaluate against a more complete dataset when ingestion lags. New workspaces default to 60 seconds. If you have configured an out-of-order window, set the offset at least as large, or out-of-order samples will miss their own rule evaluations.

Capacity adapts to usage rather than being provisioned. The default active series quota is 50 million per workspace, adjustable up to a maximum of 1.5 billion; a series counts as active if a sample arrived in the past two hours. Below 5 million series the workspace doubles its capacity as usage grows; above that it adds a 10 million buffer. The minimum capacity is 2 million series, and below that there is no throttling at all.

Ingestion is throttled with a token bucket. The default ingestion rate is automatically kept at 1/30th of the active series limit, up to 1,666,666 samples per second. Exceeding it does not degrade gracefully — requests are rejected whole, not partially, and discarded samples show up in the DiscardedSamples CloudWatch metric with a rate_limited reason. If you are writing a collector, handle that with retries and smaller batches.

Growth is where this bites. A workspace throttles if you more than double, or exceed 10 million above, the baseline computed from the last 30 minutes. Ramp ingestion up gradually when onboarding a large new cluster rather than turning it on at once.

Other limits that shape queries: samples older than one hour are refused at ingestion; a single query can scan at most 5 GB and 50 million samples; and the maximum query time range is 95 days. AMP publishes CloudWatch usage metrics, so alarm on approaching quotas rather than discovering them.