# Billing

The IONOS Cloud Monitoring Service bills based on two dimensions: the number of **samples ingested** into the platform and the volume of **metric data stored** in IONOS Cloud Object Storage. Understanding what a sample is, how ingestion and storage are counted, and how the two dimensions interact helps you estimate costs accurately and avoid unexpected charges.

{% hint style="info" %}
**Billing logic only.** This page explains the billing model and counting rules. For current prices by region, see [<mark style="color:blue;">IONOS Cloud Prices</mark>](https://cloud.ionos.com/prices).
{% endhint %}

## What is billed?

The Monitoring Service charges for two independent dimensions:

| **Dimension**    | **Billing unit**                         | **Notes**                                     |
| ---------------- | ---------------------------------------- | --------------------------------------------- |
| Ingested samples | Per 1 million samples per billing period | Counts new data points written to the service |
| Metric storage   | Per GB per 30-day period                 | Accumulates based on retention settings       |

A high write rate increases your sample count. A long data retention period increases your storage cost. You can influence both independently.

## How is a "sample" defined?

A **sample** is a single metric data point written to the Monitoring Service — one value, for one metric, at one point in time.

**Example:** An agent pushes the metric `cpu_usage_percent` every minute across 10 servers. Each push produces 10 samples — one per server per scrape interval. Over one hour, that single metric generates 600 samples.

{% hint style="warning" %}
**Only ingestion counts.** Querying, reading, or displaying existing data in Grafana does not create billable samples. Only newly written data counts toward billing.
{% endhint %}

## How is usage counted?

* A sample is counted at the moment it is **written to** a Monitoring Service endpoint.
* The **push interval** is how frequently your monitoring agent sends data to the endpoint. Each client configures its own interval. A shorter interval increases your sample rate; a longer interval reduces it.
* Usage accumulates across all agents and pipelines associated with your contract.
* At the end of each billing period, the total ingested samples are rounded up to the nearest 1 million.

### Estimate your monthly sample volume

A **time series** is one unique combination of metric name and label set — for example, `cpu_usage_percent{host="server-01"}` is one time series, `cpu_usage_percent{host="server-02"}` is another. Each scrape produces one sample per active time series.

Use this formula to project usage before deploying:

```
samples per scrape = total active time series
samples per month  = total active time series × scrapes per hour × 24 × 30
```

With a 1-minute push interval, there are 60 scrapes per hour.

**Example:** 200 metrics each tracked across 10 servers:

```
total active time series = 200 × 10 = 2,000
samples per month        = 2,000 × 60 × 24 × 30 = 86,400,000
```

That equals approximately **86 million samples per month**, or 87 units of 1 million samples (rounded up to the nearest million).

### Estimate your monthly storage cost

Metric storage accumulates based on how much data is retained. Storage is billed per GB per 30-day period.

```
storage GB per month = total active time series × bytes per sample × scrapes per hour × 24 × 30
```

The on-disk size of a compressed Prometheus sample is approximately 1–2 bytes. Use 2 bytes as a conservative estimate.

**Example (continued):** 2,000 active time series, 1-minute interval, 30-day retention:

```
storage per month = 2,000 × 2 bytes × 60 × 24 × 30 ≈ 0.17 GB
```

Retention length has a direct linear impact on storage cost. Halving your retention period halves your storage bill.

## What counts and what doesn't?

### Counts toward billing

* Each new metric data point pushed to a Monitoring Service endpoint
* Metrics sent from any source: on-premise agents, cloud virtual machines, containers, and external systems
* All Prometheus-compatible metrics pushed to your pipeline, regardless of metric type or label cardinality

### Does not count toward billing

* Querying or reading existing samples through Grafana dashboards or the PromQL query API
* Internal Monitoring Service metrics, including `ionos_usage_metrics_ingested_samples`
* Metrics collected by Monitoring as a Service (legacy) — that service is billed separately

{% hint style="info" %}
**Monitoring as a Service vs Monitoring Service:** The legacy Monitoring as a Service (MaaS) product is currently free. If you are migrating from MaaS to the Monitoring Service, your billing will begin as soon as your agents start pushing samples to a Monitoring Service endpoint. For a full comparison, see [Frequently Asked Questions](https://docs.ionos.com/sections-test/guides/observability/monitoring-service-faqs#what-is-the-difference-between-monitoring-as-a-service-and-monitoring-service).
{% endhint %}

## How to estimate and monitor your usage

### Usage estimation in Grafana

The Monitoring Service includes a built-in **Metric Usage Reporter** that publishes ingestion data to your Grafana dashboard, updated approximately every five minutes.

{% hint style="warning" %}
**Estimation only.** The Metric Usage Reporter is a consumption indicator, not a billing record. Use the DCD **Cost and Usage** view or the Billing API as the authoritative source for billed amounts.
{% endhint %}

**To view your ingestion volume:**

1. In your Grafana dashboard, go to **Explore**.
2. Select **Mimir** as the data source.
3. Select `ionos_usage_metrics_ingested_samples` from the **Metric** drop-down list.
4. Click **Run query**.

Use it to detect unexpected ingestion spikes early and configure alerts before costs increase.

For more information and to set up alerts, see [Metric Usage Reporter](https://docs.ionos.com/sections-test/guides/observability/monitoring-service/overview/metrics-usage-reporter).

### Cost and Usage view in the DCD

The DCD **Cost & Usage** view provides a breakdown of all billed services, including the Monitoring Service, with current list prices.

1. In the DCD, go to **Menu** → **Management** → **Cost & Usage**.
2. Select a **Period** to generate the report.

Billing data is updated at least once every 24 hours, so the current period may reflect a delay of up to 24 hours. For more information, see [Cost and Usage](https://docs.ionos.com/sections-test/guides/set-up-ionos-cloud/management/usage/cost-and-usage).

### Billing API

For programmatic access to invoice data and usage breakdowns, use the [IONOS Cloud Billing API](https://api.ionos.com/docs/billing/v3/). The API returns daily and monthly aggregates, which you can integrate into internal reporting or cost management tools.

## Common billing scenarios

| **Scenario**                                        | **Billable?**              | **Reason**                                |
| --------------------------------------------------- | -------------------------- | ----------------------------------------- |
| Agent pushes 100 metrics every minute               | Yes                        | New samples written on each push          |
| User opens a Grafana dashboard                      | No                         | Reading existing data, not ingestion      |
| User runs a PromQL query                            | No                         | Queries do not write new samples          |
| Agent increases push frequency from 1 min to 30 sec | Yes, doubled rate          | More frequent writes create more samples  |
| Agent is offline for one hour                       | No charges during downtime | No ingestion, no billing                  |
| Metrics from Monitoring as a Service (legacy)       | No                         | Legacy tier is free and billed separately |

## Pricing

Monitoring Service billing has two dimensions: ingested samples and metric storage. Both are priced independently.

For current prices by region, see [IONOS Cloud Prices](https://cloud.ionos.com/prices).

{% hint style="info" %}
**Price groups:** Monitoring Service pricing uses Price Group J for ingested samples and Price Group C1 for storage. Your contract may include volume discounts or special pricing not reflected in the standard price list. Contact your account manager for details.
{% endhint %}

## Next steps

We recommend reviewing the following resources to help monitor and manage your Monitoring Service costs.

* [<mark style="color:blue;">Metric Usage Reporter</mark>](https://docs.ionos.com/sections-test/guides/observability/monitoring-service/overview/metrics-usage-reporter)
* [<mark style="color:blue;">Cost and Usage</mark>](https://docs.ionos.com/sections-test/guides/set-up-ionos-cloud/management/usage/cost-and-usage)
* [<mark style="color:blue;">Quick Start</mark>](https://docs.ionos.com/sections-test/guides/observability/monitoring-service/quick-start)
* [<mark style="color:blue;">Frequently Asked Questions</mark>](https://docs.ionos.com/sections-test/guides/observability/monitoring-service/monitoring-service-faqs)

**Useful external links:**

* [IONOS Cloud Prices](https://cloud.ionos.com/prices): Displays current prices by region
* [IONOS Cloud Billing API](https://api.ionos.com/docs/billing/v3/): Provides programmatic access to invoice and usage data
* [Cost Alert](https://docs.ionos.com/sections-test/guides/set-up-ionos-cloud/management/usage/cost-alert): Set spending thresholds and receive notifications
