本文档介绍如何使用 Cloud Monitoring API 获取以下内容的列表或说明:
- 项目中定义的自定义指标类型。
- 包含项目中的时间序列数据的第三方指标类型。BindPlane 生成的指标就是第三方指标。BindPlane 指标的前缀为
external.googleapis.com/bluemedora/generic_node/
。 - 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#
Go
Java
Node.js
PHP
Python
Ruby
如果遇到困难,请参阅排查 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#
Go
Java
Node.js
PHP
Python
Ruby
如果遇到困难,请参阅排查 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#
Go
Java
Node.js
PHP
Python
Ruby
如果遇到困难,请参阅排查 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#
Go
Java
Node.js
PHP
Python
Ruby
如果遇到困难,请参阅排查 API 调用问题。
后续步骤
如需了解如何使用 Cloud Monitoring API 读取时间序列数据,请参阅读取指标数据。
如需查看可用于自定义指标的受监控的资源类型的列表,请参阅选择受监控的资源类型。