本文档介绍如何使用 Cloud Monitoring API 获取以下内容的列表或说明:
- 您的项目中定义的用户定义的指标类型。
- 包含项目中的时间序列数据的第三方指标类型。BindPlane 生成的指标是第三方指标的示例。BindPlane 指标的前缀为
workload.googleapis.com/3rd-party-app-name/
。如需查看受支持的第三方应用指标的完整列表,请参阅 BidPlane 来源文档。 - Google Cloud 提供的内置指标类型。这些指标类型可以帮助您设计用户定义的指标。您还可以在文档中找到这些指标的相关信息;请参阅指标列表。
- 可用于您的项目的受监控的资源类型。您还可以在文档中找到这些资源的相关信息;请参阅受监控的资源列表。
此页面介绍了几种使用 API 方法的方式:
为了在不编写任何代码的情况下运行这些方法,本页面上的协议标签页中的示例使用基于表单的 API Explorer。(如需详细了解此工具,请参阅 API Explorer。)
要了解如何从所选编程语言使用这些方法,请参阅本页面上的可运行代码示例。
准备工作
- 如需了解指标和受监控的资源,请参阅指标、时序和资源。
列出指标描述符
指标描述符是定义指标的架构。如需查找您感兴趣的指标的详细信息,请浏览可用的指标 描述符:
- 内置指标:您可以向任何现有项目发出 API 请求,也可以使用指标列表文档。
- 用户定义的指标和外部指标:您必须向定义了用户定义的指标或包含指标的时间序列数据的项目发出 API 请求。
如需详细了解指标类型的命名方式,请参阅命名规则。
列出指标类型
要获取当前的指标类型列表,请使用 metricDescriptors.list
方法。要减少返回的指标类型数量,请使用过滤条件。如需帮助确定要搜索的指标类型,请参阅值类型和指标种类。
协议
以下是用于返回 Compute Engine 指标的 metricDescriptors.list
示例参数:
- 名称:
projects/PROJECT_ID
- 过滤条件:
metric.type = starts_with("compute.googleapis.com")
点击执行之前,请将 PROJECT_ID
更改为有效的 ID。
以下示例输出显示了与过滤条件相匹配的许多 Compute Engine 指标中的两个:
"metricDescriptors": [ { "name": "projects/PROJECT_ID/metricDescriptors/compute.googleapis.com/firewall/dropped_bytes_count", "labels": [{...}], ... "description": "Count of incoming bytes dropped by the firewall.", "displayName": "Dropped bytes", "type": "compute.googleapis.com/firewall/dropped_bytes_count", ... }, { "name": "projects/PROJECT_ID/metricDescriptors/compute.googleapis.com/firewall/dropped_packets_count", "labels": [{...}], ... "description": "Count of incoming packets dropped by the firewall.", "displayName": "Dropped packets", "type": "compute.googleapis.com/firewall/dropped_packets_count", }, ... ]
此处的 type
值用于标识指标描述符,例如 compute.googleapis.com/firewall/dropped_packets_count
。此值有时也称为“指标类型”或“指标类型名称”。
C#
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如果遇到困难,请参阅排查 API 调用问题。
获取指标描述符
如需获取特定指标类型的相关信息,请使用 metricDescriptors.get
方法。此方法会返回一个指标描述符。
如需检索特定指标描述符,您必须向 API 提供指标的全名。全名由两部分组成:
- 由
projects/PROJECT_ID/metricDescriptors
组成的前缀。 - 标识指标描述符的
type
值,例如compute.googleapis.com/firewall/dropped_packets_count
。如需详细了解type
值,请参阅列出指标类型中的协议标签页。
以下是指标的全名示例:
projects/PROJECT_ID/metricDescriptors/compute.googleapis.com/firewall/dropped_packets_count
协议
如需获取 Compute Engine 的 /firewall/dropped_packets_count
指标的详细信息,请对 metricDescriptors.get
使用以下参数:
- 名称:
projects/PROJECT_ID/metricDescriptors/compute.googleapis.com/firewall/dropped_packets_count
点击执行之前,请将 PROJECT_ID
更改为有效的 ID。
以下示例响应显示了该指标的描述符:
{ "name": "projects/PROJECT_ID/metricDescriptors/compute.googleapis.com/firewall/dropped_packets_count", "labels": [ { "key": "instance_name", "description": "The name of the VM instance." } ], "metricKind": "DELTA", "valueType": "INT64", "unit": "1", "description": "Count of incoming packets dropped by the firewall.", "displayName": "Dropped packets", "type": "compute.googleapis.com/firewall/dropped_packets_count", }
C#
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如果遇到困难,请参阅排查 API 调用问题。
列出受监控的资源
受监控的资源是可以受监控的云端实体。要查找具有指标的实体种类,请浏览受监控的资源类型列表。
如需获取受监控的资源的相关信息,您可以向任何现有项目发出 API 请求,也可以使用受监控的资源列表文档。
列出资源类型
要从 Monitoring API 获取受监控的资源类型的当前列表,请使用 monitoredResourceDescriptors.list
方法并提供项目 ID。
协议
如需获取受监控的资源类型的当前列表,请将 monitoredResourceDescriptors.list
与以下示例参数结合使用:
- 名称:
projects/PROJECT_ID
点击执行之前,请将 PROJECT_ID
更改为有效的 ID。
以下示例响应显示了返回的一些受监控的资源类型:
{ "resourceDescriptors": [ { "type": "aiplatform.googleapis.com/Endpoint", "displayName": "AI Platform Endpoint", "description": "A Cloud AI Platform API Endpoint where Models are deployed into it.", "labels": [{...}], "name": "projects/PROJECT_ID/monitoredResourceDescriptors/aiplatform.googleapis.com/Endpoint", }, { "type": "aiplatform.googleapis.com/Featurestore", "displayName": "AI Platform Feature Store", "description": "A Cloud AI Platform Feature Store.", "labels": [{...}], "name": "projects/PROJECT_ID/monitoredResourceDescriptors/aiplatform.googleapis.com/Featurestore", },
C#
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如果遇到困难,请参阅排查 API 调用问题。
获取资源描述符
如需获取特定受监控的资源类型的详细信息,请使用 monitoredResourceDescriptors.get
方法。
要检索特定的受监控的资源描述符,您必须向 API 提供描述符的全名。全名由两部分组成:
- 由
projects/PROJECT_ID/monitoredResourceDescriptors
组成的前缀。 - 用于标识受监控的资源描述符的
type
值,例如gce_instance
。如需详细了解type
值,请参阅列出资源类型中的协议标签页。
以下是受监控的资源的全名示例:
projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance
协议
如需获取 gce_instance
资源类型的详细信息,请对 monitoredResourceDescriptors.get
方法使用以下参数:
- 名称:
projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance
点击执行之前,请将 PROJECT_ID
更改为有效的 ID。
以下示例响应显示了此受监控资源的描述符:
{ "type": "gce_instance", "displayName": "VM Instance", "description": "A virtual machine instance hosted in Compute Engine.", "labels": [ { "key": "project_id", "description": "The identifier of the Google Cloud project associated with this resource, such as \"my-project\"." }, { "key": "instance_id", "description": "The numeric VM instance identifier assigned by Compute Engine." }, { "key": "zone", "description": "The Compute Engine zone in which the VM is running." } ], "name": "projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance" }
C#
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
如需向 Monitoring 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如果遇到困难,请参阅排查 API 调用问题。
后续步骤
- 如需了解如何使用 Cloud Monitoring API 读取时间序列数据,请参阅检索时间序列数据。
- 如需查看可用于与用户定义的指标搭配使用的受监控资源类型的列表,请参阅选择受监控的资源类型。