Search code examples
google-cloud-platformstackdrivergoogle-cloud-stackdrivergoogle-cloud-monitoring

What are Stackdriver Monitoring limits on the global resource?


I'm trying to understand if Stackdriver Monitoring is a good fit for IoT monitoring with the concept of custom metrics for the "global" resource and device id as a label. according to https://cloud.google.com/stackdriver/pricing#stackdriver_monitoring_services

the limits are 500 time series per chargeable resource, plus 250 metric types per project.

does every different value of the label count as a time series? is "global" a chargeable resource? does it mean that i'll only be able to monitor 500 devices with a single custom metric with this setup?


Solution

  • Yes, every unique label value creates a new timeseries, i.e. a unique line on a graph.

    There are two types of labels - monitored resource labels and metric labels. Whereas the resource labels uniquely identify the resource being monitored, the metric labels are auxiliary information by which to break-down or group-by/aggregate the metric data. The cardinality of both types of label values contribute to the total number of timeseries in use.

    The "global" monitored resource is not a chargeable resource, i.e. you don't get charged $N/resource. Chargeable resources are listed in https://cloud.google.com/stackdriver/pricing#chargeable-resources.

    If you have 100 chargeable resources in a given hour, you get an allotment of 500*100 = 50K timeseries for user-defined custom metrics. The allotment is shared for all custom metrics. The number of timeseries exceeding the allotment in that hour is the "time series overage" which has a separate cost per timeseries as listed in https://cloud.google.com/stackdriver/pricing#metric-allotments.

    As noted in the pricing page, allotment limits and overage charges for user-defined metrics is currently not effective (postponed until further notice).

    Also note that pricing is subject to change in the future.