This document describes the naming conventions Cloud Monitoring enforces for metrics.
Metric resource name
The resource name for a metric type consists of a string with three primary sub-structures:
- An identifier for a specific project.
- A marker, which is always set to
metricDescriptors
, to indicate that the string represents a metric descriptor. - The metric type.
Resource names for metric types follow this pattern:
projects/ PROJECT_ID /metricDescriptors/ METRIC_TYPE
The sub-string METRIC_TYPE
is an identifier that represents the
metric type. It comes in a variety of formats, for example:
agent.googleapis.com/agent/api_request_count compute.googleapis.com/firewall/dropped_bytes_count istio.io/service/client/received_bytes_count kubernetes.io/anthos/APIServiceOpenAPIAggregationControllerQueue1_adds
In the metric descriptor, the name
field stores the metric type's resource
name, and the type
field stores the METRIC_TYPE
sub-string.
The following table shows how to parse the METRIC_TYPE
sub-strings
contained in a resource name:
Possible structures | Description |
---|---|
SERVICE_NAME
1
.googleapis.com/ PATH
2
|
Metrics from Google Cloud products and services. For a full list of these metrics, see Google Cloud metrics . |
agent.googleapis.com/ SERVICE_NAME
1
/ PATH
2
|
Metrics from the Monitoring and Logging agents running on VM instances in Google Cloud or AWS. For a full list of these metrics, see Agent metrics . |
kubernetes.io/anthos/ PATH
2
|
Metrics from GKE Enterprise , a Google Cloud service that enables you to run Kubernetes clusters both on-prem and in the cloud. For a full list of these metrics, see Anthos metrics . |
aws.googleapis.com/ SERVICE_NAME
1
/ PATH
2
|
Metrics from Amazon Web Services. For a full list of these metrics, see AWS metrics . |
istio.io/ PATH
2
|
Metrics from Istio for Google Cloud . For a full list of these metrics, see Istio metrics . |
kubernetes.io/ PATH
2
|
Metrics from Google Kubernetes Engine . For a full list of these metrics, see Kubernetes metrics . |
knative.dev/ PATH
2
|
Metrics from Knative . For a full list of these metrics, see Knative metrics . |
external.googleapis.com/ EXT_SERVICE
/ PATH
2
external.googleapis.com/prometheus/ PATH
2
|
Third-party custom metrics such as Prometheus . This open-source monitoring tool is often used with Kubernetes. For more information about these metrics, see External metrics . You can use these metric types only in the projects that define them. |
custom.googleapis.com/ PATH
2
external.googleapis.com/user/ PATH
2
|
User-defined metrics . You can use these metric types only in the projects where you define them. |
logging.googleapis.com/ PATH
2
|
Logs-based metrics from Cloud Logging. You can use predefined metrics or you can create custom metrics. Custom metrics can only be used in projects where you define them. |
1
SERVICE_NAME
identifies a Google Cloud product, such as compute
for Compute Engine.
2
PATH
identifies the metric within the
product, such as instance/cpu/utilization
.
Rules for metric types and labels
This list contains rules to follow when you create custom metric types. Labels
associated with a metric type are specified as key-value pairs of type LabelDescriptor
. The key acts as the name of the label.
-
Metric types
- Use upper and lower-case letters (
A-Z
,a-z
), digits (0-9
), periods (.
), and underscores (_
) in the string. - Use forward slashes (
/
) to separate path elements. - You must start each path element with a letter or digit.
- The maximum length of a metric-type string is 200 characters.
- Use upper and lower-case letters (
-
Label keys
- Use lower-case letters (
a-z
), digits (0-9
), and underscores (_
) in a label key. - You must start label keys with a letter.
- The maximum length of a label key is 100 characters.
- Each key must be unique within the metric type.
- You can have no more than 30 labels per metric type.
- Use lower-case letters (