Prometheus API返回HTML而不是JSON

时间:2018-10-26 08:59:27

标签: json api kubernetes prometheus

使用kubernates配置了prometheus,并尝试使用API​​执行查询。遵循文档来配置和执行API https://github.com/prometheus/prometheus/blob/master/docs/querying/api.md

  

执行以下curl命令以输出:

curl -k -X GET "https://127.0.0.1/api/v1/query?query=kubelet_volume_stats_available_bytes"

但是获取HTML而不是JSON的输出。

是否需要进行其他任何配置才能以json格式输出普罗米修斯?

2 个答案:

答案 0 :(得分:0)

Per the Prometheus documentation,Prometheus“ [不提供任何服务器端身份验证,授权或加密”。

您似乎正在寻找某种代理人,因此您需要弄清楚如何通过该代理人并进入Prometheus。完成此操作后,您将获得期望的响应。

答案 1 :(得分:0)

当我在本地计算机上运行prometheus时,默认情况下,它会根据Prometheus README.md在端口9090上运行:

* Install docker
* change the prometheus.yml section called target
#static_configs: (example)
#      - targets: ['172.16.129.33:8080']
the target IP should be your localhost IP. Just providing localhost also would work.
* docker build -t prometheus_simple .
* docker run -p 9090:9090 prometheus_simple
* endpoint for prometheus is http://localhost:9090

因此,如果我将端口放入您的curl呼叫中,我会得到

curl -k -X GET "https://127.0.0.1:9090/api/v1/query?query=kubelet_volume_stats_available_bytes"

我得到:

 {"status":"success","data":{"resultType":"vector","result":[]}}