各位,我正在尝试使用 API 从 Prometheus 提取报告。但是,它抛出了 400 个错误的请求。我在 Prometheus 中尝试了相同的查询,它显示了正确的数据。 谁能告诉我如何解决这个问题。
基本上,我需要平均 http_request_in_latency_seconds_sum 和 http_request_in_latency_seconds_count。
root@project:/# curl 'http://localhost:9090/api/v1/query_range?query=avg(http_request_in_latency_seconds_sum / http_request_in_latency_seconds_count)&start=2021-05-01T00:00:00Z&end=2021-05-02T00:00:00Z&step=30s'
400 Bad Request
答案 0 :(得分:0)
您需要正确转义查询参数中的特殊字符 /
(在本例中为两个空格和斜杠):
?query=avg(http_request_in_latency_seconds_sum%20%2F%20http_request_in_latency_seconds_count)
您还可以使用 curl
为您制作 --data-urlencode
转义字符:
curl 'http://localhost:9090/api/v1/query_range' \
--data-urlencode "query=avg(http_request_in_latency_seconds_sum / http_request_in_latency_seconds_count)" \
--data-urlencode "start=2021-05-01T00:00:00Z" \
--data-urlencode "end=2021-05-02T00:00:00Z" \
--data-urlencode "step=30s"