prometheus提供http api供请求数据,可以传递metric作为查询参数,形式如下:
curl http://11.11.16.2:9090/api/v1/query?query=namedprocess_namegroup_states
返回的数据结果为vector形式。
传递label到查询接口时出现错误:
curl http://11.11.16.2:9090/api/v1/query?query=namedprocess_namegroup_states{state="Running"}
报错如下:
{"status":"error","errorType":"bad_data","error":"invalid parameter \"query\": 1:35: parse error: unexpected \"=\""}
报错原因为query的接口应该以字符串的形式给到curl,且请求数据的时候需要添加-g参数。如下所示:
curl -g http://11.11.16.2:9090/api/v1/query?query='namedprocess_namegroup_states{state="Running",groupname!~".*root"}>0'
这样可以成功请求到数据。