Google Cloud Observability pricing

The pricing for Google Cloud Observability lets you control your usage and spending. Google Cloud Observability products are priced by data volume or usage. You can use the free data usage allotments to get started with no upfront fees or commitments.

You might also be interested in the following documents:

The following tables summarize the pricing information for Cloud Logging, Cloud Monitoring, and Cloud Trace.

Cloud Logging pricing summary

Feature Price1 Free allotment per month Effective date
Logging storage*
except for vended network logs.
$0.50/GiB;
One-time charge for streaming logs into log bucket storage for indexing, querying, and analysis; includes up to 30 days of storage in log buckets. No additional charges for querying and analyzing log data.
First 50 GiB/project/month July 1, 2018
Vended network logs storage $0.25/GiB;
One-time charge for streaming network telemetry logs into log bucket storage for indexing, querying, and analysis; includes up to 30 days of storage in log buckets. No additional charges for querying and analyzing log data.
Not applicable October 1, 2024
Logging retention $0.01 per GiB per month for logs retained more than 30 days; billed monthly according to retention. Logs retained for the default retention period don't incur a retention cost. January 1, 2022
Log Router  No additional charge Not applicable Not applicable
Log Analytics  No additional charge Not applicable Not applicable
*  Storage volume counts the actual size of the log entries prior to indexing. There are no storage charges for logs stored in the _Required log bucket.
  Vended logs are Google Cloud networking logs that are generated by Google Cloud services when the generation of these logs is enabled. Vended logs include VPC Flow Logs, Firewall Rules Logging, and Cloud NAT logs. These logs are also subject to Network telemetry pricing. For more information, see Vended logs.
  There are no retention charges for logs stored in the _Required log bucket, which has a fixed retention period of 400 days.
  Log routing is defined as forwarding logs received through the Cloud Logging API to a supported destination. Destination charges might apply to routed logs.
  There is no charge to upgrade a log bucket to use Log Analytics or to issue SQL queries from the Log Analytics page.
Note: The pricing language for Cloud Logging changed on July 19, 2023; however, the free allotments and the rates haven't changed. Your bill might refer to the old pricing language.

Cloud Monitoring pricing summary

Feature Price Free allotment per month Effective date
All Monitoring data
except data ingested by using Managed Service for Prometheus
$0.2580/MiB1: first 150–100,000 MiB
$0.1510/MiB: next 100,000–250,000 MiB
$0.0610/MiB: >250,000 MiB
All non-chargeable Google Cloud metrics
First 150 MiB per billing account for metrics charged by bytes ingested
July 1, 2018
Metrics ingested by using Google Cloud Managed Service for Prometheus, including GKE control plane metrics $0.06/million samples: first 0-50 billion samples ingested#
$0.048/million samples: next 50-250 billion samples ingested
$0.036/million samples: next 250-500 billion samples ingested
$0.024/million samples: >500 billion samples ingested
Not applicable August 8, 2023
Monitoring API calls $0.01/1,000 Read API calls
(Write API calls are free)
First 1 million Read API calls included per billing account July 1, 2018
through
October 1, 2025
Monitoring API calls

No charge for write API calls

Read API calls: $0.50/million time series returned

Write API calls: Not applicable

Read API calls: First 1 million time series returned per billing account

October 2, 2025
Execution of Monitoring uptime checks $0.30/1,000 executions 1 million executions per Google Cloud project October 1, 2022
Execution of Monitoring Synthetic Monitors $1.20/1,000 executions* 100 executions per billing account November 1, 2023
Alerting policies $0.10 per month for each condition in an alerting policy
$0.35 per 1,000,000 time series returned by the query of a metric alerting policy condition
Not applicable May 1, 2026
  Google Cloud Managed Service for Prometheus uses Cloud Monitoring storage for externally created metric data and uses the Monitoring API to retrieve that data. Managed Service for Prometheus meters based on samples ingested instead of bytes to align with Prometheus' conventions. For more information about sample-based metering, see Optimize costs for Managed Service for Prometheus. For computational examples, see Pricing examples based on samples ingested.
#  Samples are counted per billing account.
  Executions are charged to the billing account in which they are defined. For more information, see Pricing for uptime-check execution.
*  Executions are charged to the billing account in which they are defined. For each execution, you might incur additional charges from other Google Cloud services, including services such as Cloud Run functions, Cloud Storage, and Cloud Logging. For information about these additional charges, see the pricing document for the respective Google Cloud service.
  For more information, see Pricing for alerting.
  There is no charge for read API calls issued through the Google Cloud console, excluding those issued through the Cloud Shell. Read API calls that aren't issued through the Google Cloud console and that can return time-series data are charged by the number of time series that are returned or for one time series, which ever is larger. There is no charge for other read API calls. For more information, see Cloud Monitoring API pricing.

Cloud Trace pricing summary

Feature Price Free allotment per month Effective date
Trace ingestion $0.20/million spans First 2.5 million spans per billing account November 1, 2018

For detailed information about the costs for Google Cloud Observability products, see the following sections of this page:

For information about GKE Enterprise pricing, see GKE Enterprise.

Cloud Logging

Log buckets are the Logging containers that store logs data. Logging charges for the volume of log data that is stored in the _Default log bucket and in user-defined log buckets. Pricing applies to non-vended network logs when the volume exceeds the free monthly allotment, and to vended network logs.

For the _Default log bucket and for user-defined log buckets, Logging also charges when logs are retained for more than the default retention period, which is 30 days.

There are no additional charges by Logging for the following:

  • Routing logs.
  • Using the Cloud Logging API.
  • Creating log scopes.
  • Creating analytics views.
  • Logs stored in the _Required log bucket, which has a fixed retention period of 400 days.

This section provides information about the following topics:

For limits that apply to your use of Logging, including data retention periods, see Quotas and limits.

Cloud Logging storage model

For each Google Cloud project, Logging automatically creates two log buckets: _Required and _Default. For these two buckets, Logging automatically creates log sinks named _Required and _Default that route logs to the correspondingly named log buckets. You can't disable or modify the _Required sink. You can disable or otherwise modify the _Default sink to prevent the _Default bucket from storing new logs.

You can create user-defined log buckets in any of your Google Cloud projects. You can also configure sinks to route any combination of logs, even across Google Cloud projects in your Google Cloud organization, to these log buckets.

For the _Default log bucket and for user-defined log buckets, you can configure a custom retention period.

You can upgrade your log buckets to use Log Analytics. There is no charge to upgrade a log bucket to use Log Analytics.

For more information on Cloud Logging buckets and sinks, see Routing and storage overview.

Storage pricing

Logging charges the project where the logs are streamed into log buckets for storage, after the free monthly allotment is exceeded. For each project, charges are based on the volume of logs streamed into its user-defined log buckets and its _Default log bucket.

Logging doesn't charge for routing logs. Suppose a log entry originates in a project but the project doesn't store the log entry in one of its log buckets. In this scenario, the project isn't charged for the log entry. However, if the project routes the log entry to a log bucket in another project, then the destination project is charged for that log entry.

When a log entry is written to any log bucket except the _Required log bucket, the project that contains that log bucket is charged for the storage of that log entry. For example, if a log entry is routed to three log buckets that are in the same project, then that project is charged three times for the log entry. Similarly, if a log entry is routed to two log buckets, but these log buckets are in different projects, then the projects that store those log buckets are each charged for one log entry.

Logging doesn't charge for logs stored in the _Required bucket. You can't delete the _Required bucket or modify the _Required sink. The _Required bucket stores the following logs:

Retention pricing

The following table lists the data retention periods for logs stored in log buckets:

Bucket Default retention period Custom retention
_Required 400 days Not configurable
_Default 30 days Configurable
User-defined 30 days Configurable

Logging charges retention costs when the logs are retained longer than the default retention period. You can't configure the retention period for the _Required log bucket. There are no retention costs when logs are stored only for the default retention period of the log bucket.

If you shorten the retention period of a log bucket, then there is a seven-day grace period in which expired logs aren't deleted. You can't query or view expired logs. However, in those seven days, you can restore full access by extending the retention period of the log bucket. Logs stored during the grace period count toward your retention costs.

If you route a log entry to multiple log buckets, then you can be charged storage and retention costs multiple times. For example, suppose you route a log entry to the _Default log bucket and to a user-defined log bucket. Also, assume that you configure a custom retention period for both buckets that is longer than 30 days. For this configuration, you receive two storage charges and two retention charges.

Vended network logs pricing

Vended network logs are available only when you configure log generation. The services that generate vended network logs charge for log generation. If you store these logs in a log bucket or route them to another supported destination, then you are also subject to charges from Cloud Logging or the destination. For information about log-generation costs, see Network telemetry pricing.

To learn how to enable vended network logs, see Configure VPC Flow Logs, Use Firewall Rules Logging, and Cloud NAT: Logs and metrics.

To find your vended network logs, in the Logs Explorer filter by the following log names:

  • projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows
  • projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall
  • projects/PROJECT_ID/logs/compute.googleapis.com%2Fnat_flows
  • projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows

Logs-based metrics pricing

System-defined logs-based metrics are provided for all Google Cloud projects and are non-chargeable.

User-defined logs-based metrics are a class of Cloud Monitoring custom metrics and are chargeable. For pricing details, see Chargeable metrics.

Cloud Monitoring

Monitoring charges for the following:

  • Metrics measured by bytes ingested, when the ingested metric data exceeds the free monthly metric allotment.

    Non-chargeable metrics don't count towards the allotment limit.

  • Metrics measured by number of samples ingested.

  • Cloud Monitoring API read calls that exceed the free monthly API allotment.

    Monitoring API write calls don't count towards the allotment limit.

  • Execution of uptime checks.

  • Execution of synthetic monitors.

  • Alerting policy conditions measured by number of active conditions per month.

  • Time series returned by the query of an alerting policy condition.

In Monitoring, ingestion refers to the process of writing time series to Monitoring. Each time series include some number of data points; those data points are the basis for ingestion charges. For pricing information, see Cloud Monitoring pricing.

This section provides the following information:

For limits that apply to your use of Monitoring, see Quotas and limits.

Cloud Monitoring API pricing

There is no charge for Monitoring write API calls.

From July 1, 2018 through October 1, 2025, Monitoring read API calls are charged one unit per call.

From October 2, 2025, Monitoring read API costs are determined by the number of time series returned:

  • There is no charge for read API calls issued through the Google Cloud console, excluding those issued through the Cloud Shell.

  • There is no charge for read API calls that can't return time-series data.

  • All other read API calls are charged by the number of time series that are returned or for one time series, which ever is larger. For example, a call to timeSeries.list might return multiple time series. The Cloud Monitoring API can be invoked indirectly. For example, Google Cloud CLI commands, client libraries, and third-party tools like Grafana might issue read API commands.

Non-chargeable metrics

Metric data from Google Cloud, GKE Enterprise, and Knative isn't chargeable. Non-chargeable (free) metrics include the following:

Chargeable metrics

All metric data, except for those metrics listed in the section titled Non-chargeable metrics, is chargeable. Most metric ingestion is charged by the number of bytes, but some is charged by the number of samples; these pricing models are described in the following sections.

The following factors contribute to ingestion costs:

  • The type of data points—scalar values or distribution values—collected by the metrics.

    • For information about the data type associated with a specific metric type, see the list of metrics.
    • For information about scalar and distribution data types, see Value types.
  • The number of data points written to time series. This value depends on the frequency with which the data is sampled and the cardinality of your data. The cardinality determines how many time series are generated for a combination of metric and monitored-resource types; for more information, see Cardinality.

The values for the metric and resource labels that are part of your time series don't contribute to your charges.

Metrics charged by bytes ingested

The following metrics are chargeable and priced by the number of bytes ingested:

For pricing purposes, the ingestion volume is computed as follows:

  • For a scalar data type: 8 bytes for each data point written to a time series. User-defined logs-based counter metrics fall into this category.
  • For a distribution data type: 80 bytes for each data point written to a time series.

For information about data points in time series, see Time series: data from a monitored resource.

Metrics charged by samples ingested

The following metrics are chargeable and priced by the number of samples ingested:

For pricing purposes, the sample count is computed as follows:

  • For a scalar data type: 1 for each point written to a time series.
  • For a distribution data type: 2 for each point written to a time series, plus 1 for each histogram bucket that has a non-zero count.

For information about data points in time series, see Time series: data from a monitored resource.

Pricing for uptime-check execution (Effective date: October 1, 2022)

Monitoring charges for each regional execution of an uptime check, beyond the free monthly allotment of 1 million executions. A check that executes in three regions counts as three executions.

The cost for uptime-check execution is $0.30/1,000 executions. The charge appears on your bill as SKU "CA14-D3DE-E67F" for "Monitoring Uptime Checks".

Pricing for synthetic-monitor execution (Effective date: November 1, 2023)

Cloud Monitoring charges for each execution of a synthetic monitor, beyond the free allotment per month of 100 executions per billing account.

Pricing for alerting

Starting no sooner than May 1, 2026, Cloud Monitoring will begin charging for alerting. The pricing model is as follows:

  • $0.10 per month for each condition in an alerting policy.
  • $0.35 per 1,000,000 time series returned by the query of a metric alerting policy condition.

This section provides the following information:

Definitions

  • Condition: The condition of an alerting policy describes when a resource, or a group of resources, is in a state that requires a response.

    The charge is for each condition $0.10 per month. To stop being charged for a condition, you must delete the alerting policy. Snoozing or disabling the policy doesn't stop you from being charged.

  • Metric and log-based alerting policies: Alerting policies that use any condition type except log-match conditions are metric alerting policies; the conditions of metric alerting policies return time series. During each execution period, conditions in metric alerting policies execute their queries against the Cloud Monitoring datastore. The returned time series are then evaluated against a threshold to determine whether the alerting policy fires.

    Log-based alerting policies use log-match conditions. Log-match conditions return no time series.

  • Execution period: How frequently Cloud Monitoring executes your condition. For most condition types, this is 30 seconds and can't be changed. Conditions that use a PromQL query can set this period. For more information, see Increase the length of the execution period (PromQL only).

  • Time series returned: During every execution period, a metric alerting policy executes the query of its condition against the Cloud Monitoring datastore. Cloud Monitoring returns time series data as a response to each query. Each time series in the response counts as one time series returned.

    The number of time series returned in a month is determined by three factors:

    • The shape and scope of the underlying data.
    • The filters and aggregations you use in the query of your condition.
    • The execution period.

Opting out

If you have an existing Google Cloud contract that doesn't expire until May 1, 2026, you can delay billing for alerting until your contract is due for renewal by requesting an exemption from the Cloud Monitoring alerting billing team. Exemptions for customers with active contracts will be considered on a case-by-case basis.

You can request an exemption until November 1, 2025. To request a billing exemption until contract renewal, fill out the billing-exemption request form.

Error Reporting

Error data can be reported to your Google Cloud project by using the Error Reporting API or the Cloud Logging API.

There are no charges for using Error Reporting. However, you might incur Cloud Logging costs because log entries are generated and then stored by Cloud Logging.

For limits that apply to your use of Error Reporting, see Quotas and limits.

Cloud Profiler

There is no cost associated with using Cloud Profiler.

For limits that apply to your use of Profiler, see Quotas and limits.

Cloud Trace

Trace charges are based on the number of trace spans ingested and scanned. Trace data can be ingested through the Cloud Trace API or the Telemetry API. There are no charges to configure trace scopes.

When latency data is sent to Trace, it's packaged as a trace that is composed of spans, and the spans are ingested by the Cloud Trace backend. When you view trace data, the stored spans are scanned by Cloud Trace. This section provides the following information:

  • Defines chargeable and non-chargeable trace spans
  • Provides a pricing example
  • Provides information on how to reduce your trace span ingestion.
  • Provides settings for an alerting policy that can notify you if your trace span ingestion reaches a threshold.

For limits that apply to your use of Trace, see Quotas and limits.

Non-chargeable trace spans

Cloud Trace pricing doesn't apply to spans auto-generated by App Engine Standard, Cloud Run functions or Cloud Run: ingestion of these traces are non-chargeable.

Auto-generated traces don't consume Cloud Trace API quota, and these traces are excluded from Cloud Trace API usage metrics.

Chargeable trace spans

Ingestion of trace spans except for those spans listed in the section titled Non-chargeable traces, are chargeable and are priced by ingested volume.

GKE Enterprise

For a GKE Enterprise cluster, there is no charge for control plane metrics, curated kube state metrics, cAdvisor/Kubelet metrics, or DCGM metrics. System logs, control plane logs, and workload logs incur Cloud Logging charges. Control plane logs, control plane metrics, kube state metrics, cAdvisor/Kubelet metrics, and DCGM metrics are enabled by default for GKE clusters on Google Cloud that are registered at cluster creation time in a GKE Enterprise-enabled project. For the list of included GKE logs and metrics, see What logs are collected and Available metrics.

In a Google Distributed Cloud cluster, there is no charge for GKE Enterprise system logs and metrics, which include the following:

  • Logs and metrics from all components in an admin cluster.
  • Logs and metrics from components in these namespaces in a user cluster: kube-system, gke-system, gke-connect, knative-serving, istio-system, monitoring-system, config-management-system, gatekeeper-system, cnrm-system.

Frequently asked questions

Which product features are free to use?

Usage of Google Cloud Observability products is priced by data volume. Other than the data volume costs described on this page, usage of all additional Google Cloud Observability product features is free.

How much will I have to pay?

To estimate your usage costs, see Estimating your bills.

To get help with billing questions, see Billing questions.

How do I understand the details of my usage?

Several metrics let you drill into and understand your logs and metrics volume using Metrics Explorer. see View detailed usage in Metrics Explorer for details.

If you're interested in learning how to manage your costs, see these blog posts:

How do metrics scopes, log scopes, and trace scopes affect billing?

For the most part, metrics scopes, log scopes, and trace scopes don't affect billing.

Logs, metrics, and traces are charged by the project, billing account, folder, or organization that receives the data. The metrics scope for a project defines the collection of the resources whose metrics the project can view and monitor. When you define a metrics scope, you don't affect which resource receives metric data or cause data to be duplicated. A log scope only lists the resources that store or route the log entries that you want to view. Similarly, a trace scope only lists the resources that store the trace data that you want to view.

For example, suppose your organization has 100 virtual machines (VMs): 60 VMs are hosted by Project-A and 40 VMs are in Project-B. Project-A receives and stores the metrics for its VMs, and it's charged when metrics are chargeable. Similarly, Project-B receives and stores the metrics for its VMs, and it's charged when metrics are chargeable. If you create a metrics scope that includes Project-A and Project-B, then you can view the combined metrics for your 100 VMs. You can now view just the metrics for Project-A, just the metrics of Project-B, or the combination of metrics. Even though you have two ways to view the metrics of Project-A, there aren't billing implications.

What happens if I go over the free allotments?

You are automatically billed for any usage over your free allotments. You don't lose any logs or metrics. To better understand your potential costs, review Estimating your bills.

You can create an alerting policy that monitors your usage and notifies you when you approach the threshold for billing.

I have a large number of Google Cloud logs in my project(s) that I do not use. I am concerned about charges for these logs. How do I avoid this?

You can exclude logs to control which logs are ingested into Logging. See Reducing your logs usage for details.

Will services that send logs to my project receive an error if logs are excluded?

No. Services that send log entries cannot determine whether the log entries are ingested into Logging or not.

Will I be charged twice for Virtual Private Cloud flow logs?

If you send your VPC flow logs to Logging, VPC flow logs generation charges are waived, and only Logging charges apply. However, if you send them and then exclude your VPC flow logs from Logging, VPC flow logs charges apply. For more information, see Google Cloud Pricing Calculator and then select the tab titled "Cloud Load Balancing and Network Services".

1 For pricing purposes, all units are treated as binary measures, for example, as mebibytes (MiB, or 220 bytes) or gibibytes (GiB, or 230 bytes).

2 There is no charge for Google Cloud metrics or GKE Enterprise metrics that are measured at up to 1 data point per minute, the current highest resolution. In the future, metrics measured at higher resolutions might incur a charge.

3 Process metrics are currently collected at a pre-defined default rate of once per minute, which can't be changed. This data generally changes slowly, so these metrics are currently over-sampled. Therefore, charging process metrics at 5% of the standard rate aligns with the standard rate if the metrics were sampled at 20-minute intervals. Users who collect 100 MiB of data from these metrics are charged for only 5 MiB.

What's next

Request a custom quote

With Google Cloud's pay-as-you-go pricing, you only pay for the services you use. Connect with our sales team to get a custom quote for your organization.
Contact sales