首页 > 解决方案 > 通过 HTTP 发布时没有自定义指标

问题描述

这方面的文档似乎非常有限。我希望通过 HTTP 发布自定义指标(实际上来自 IoT 微控制器)。

根据此页面适当的端点POST https://api.datadoghq.com/api/v1/series?api_key=xyz,尽管这似乎更适合发布大量时间序列数据而不是单独测量。无论如何,我已经以各种方式发布到它(包括该页面上给出的示例 JSON)并接收回HTTP 202s,这让我相信数据正在某个地方下沉。

但是,我帐户的 Metrics Explorer 部分中没有显示任何内容。

任何人都可以提供一些方向吗?

标签: datadog

解决方案


在撰写本文时,文档是错误的。

当前提供的 cURL 示例是:



## Dynamic Points
# Post time-series data that can be graphed on Datadog’s dashboards.
# Template variables
export NOW="$(date +%s)"
# Curl command
curl -X POST "https://api.datadoghq.com/api/v1/series" \
-H "Content-Type: text/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
  "series": [
    {
      "metric": "system.load.1",
      "points": [
        [
          "${NOW}",
          "1234.5"
        ]
      ]
    }
  ]
}
EOF

API 返回 202 OK,但未创建自定义指标。

points键需要是一个元组(数字,数字)的数组,在示例中是一个元组(字符串,字符串)。

将其更改为:

      "points": [
        [
          ${NOW},
          1234.5
        ]

为我解决了这个问题。

我已经联系了他们的支持,关于文档不正确,以及 API 端点应该为无效的示例有效负载返回 400 的事实。


推荐阅读