首页 > 解决方案 > 创建自定义指标描述符不断导致 HTTP 500

问题描述

我想我已经破坏了我的项目的自定义指标。

昨天早些时候,我在玩云监控 api,我创建了一个度量描述符,并使用最新的 python3 云监控库create_time_series调用向它添加了一些时间序列数据。对结果感到满意,我使用库删除了描述符,这引发了错误,因为我错误地传递了描述符的名称。我用正确的名称再次调用它,它成功了,但是现在create_time_series对该项目的每次调用都失败并显示 HTTP 500。包含的错误消息只是说“几秒钟后重试”,我有,但无济于事.

我已经验证我可以在我的其他项目上创建时间序列数据,并且可以按预期工作。google 的 API 文档中提供的 API Explorer 也可以在调用该项目时返回 HTTP 500,但在其他项目上运行良好。CURLing 请求产生相同的结果。

我的怀疑是我错误地删除了custom.googleapis.com整个端点,这就是为什么我无法创建新的指标描述符/时间序列数据。有没有办法查看这个端点的状态,或者重新创建它?

标签: google-cloud-monitoring

解决方案


无法删除存储在 Google Cloud 项目中的数据,但删除指标描述符会使数据无法访问。此外,根据数据保留政策,这些数据在到期时会被删除。

要删除您的自定义指标描述符,请调用 metricDescriptors.delete 方法。您可以按照本指南中的步骤进行操作。

每次调用 CreateTimeSeries 时都会调用 CreateMetricDescriptor。这些调用中的一些或全部没有指定度量标签,因此这些调用会用没有标签的度量描述符覆盖度量描述符。另一方面,对“CreateTimeSeries”的调用确实指定了度量标签,导致度量标签自动添加到描述符中。

自定义指标名称通常以 custom.googleapis.com/ 开头,这与内置指标不同。

创建自定义指标时,您定义了一个表示指标类型的字符串标识符。此字符串在您的 Google Cloud 项目中的自定义指标中必须是唯一的,并且必须使用将指标标记为用户定义指标的前缀。对于监控,允许的前缀是custom.googleapis.com/external.googleapis.com/prometheus。前缀后跟描述您正在收集的内容的名称。有关命名自定义指标的推荐方法的详细信息,请参阅命名约定


推荐阅读