在通过API检索度量标准时,Datastax Enterprise 5.0.1 Opscenter 6.0.1会返回400错误

时间:2016-08-22 18:03:23

标签: datastax-enterprise opscenter

我正在使用Opscenter 6.0.1来监控DSE 5.0.1。 我正在测试Opscenter API来检索节点/集群指标,但我得到了 我抛出查询时出现400错误。

curl -vvv -H 'opscenter-session: xxxxxx' -G
'http://<opscenter>/<cluster>/metrics/<node>/data-load'

> GET /IDC/metrics/<node>/data-load HTTP/1.1
> User-Agent: curl/7.35.0
> Host: <opscenter>
> Accept: */*
> opscenter-session: xxxxxx
>
< HTTP/1.1 400 Bad Request
< Transfer-Encoding: chunked
< Date: Fri, 19 Aug 2016 20:45:36 GMT
* Server TwistedWeb/15.3.0 is not blacklisted
< Server: TwistedWeb/15.3.0
< Content-Type: application/json
< Cache-Control: max-age=0, no-cache, no-store, must-revalidate
<
* Connection #0 to host <opscenter> left intact
{"message": "unsupported operand type(s) for -: 'NoneType' and
'NoneType'", "type": "TypeError"}

我可以使用相同的会话ID,opscenter ip,node ip for different API调用(用于检索配置的API),我得到了没有问题的响应,但没有任何运气 指标相关的电话。 错误消息似乎在抱怨“ - ”,但我不确定是什么 我呼吁的数据是错误的。

我只是尝试在此处描述的一些调用而不使用任何可选查询 参数:http://docs.datastax.com/en/opscenter/6.0/api/docs/metrics.html

我应该在哪里更改以检索指标?

谢谢, 葵

1 个答案:

答案 0 :(得分:1)

这是OpsCenter 6.0.1中最近发现的一个已知错误(在JIRA内部跟踪为OPSC-9727)。我们计划在6.0.3补丁版本中包含该修复程序。

解决方法是包含startend参数的值。正如您所指出的那样,这些参数应该是可选的,但排除它们会导致这个错误。您可以通过指定默认值as documented here来模仿默认行为,它们是:

  • end - 一个时间戳,以秒为单位,表示当前时间
  • start - 时间戳,以秒为单位,表示end前一天

我们道歉,那些责任人已经毫不留情地受到了谴责。